(University Crest)

Foundations of Programming Meetings

School of Computer Science and IT
University of Nottingham

Speakers; Abstracts; Further Information.

The Foundations of Programming group holds regular research meetings. The meetings last around an hour, and are intended to be a friendly forum for discussion and exchange of ideas. Most meetings take the form of a talk by a group member or an invited speaker, but we also have various kinds of discussion sessions. The meetings are open to everyone, not just members of the group. Please contact Graham Hutton if you are interested in visiting the group and giving a talk.

Details of previous years meetings are also available: 1995; 1996; 1997; 1998; 1999; 2000; 2001; 2002. 2003.

Details of recent and upcoming meetings are given below.


Speakers 2004

Friday the 6th of February, Thomas Hallgren , OGI, Portland, Oregon
Haskell Tools from the Programatica Project - implementer's perspective

Friday the 13th of February, Tarmo Uustalu , Inst. of Cybernetics, Tallinn
Recursive coalgebras from comonads

Friday the 27th of February, Jeffrey Ketland, University of Cambridge.
On the Length of Cardinality Statements

Friday the 5th of March, Pablo Nogueira , University of Nottingham.
More than parsing

Friday the 19th of March, Joel Wright , University of Nottingham.
Finally, a simple semantics

Tuesday the 6th of April at 3 in B53 Mark Whitsey , University of Nottingham.
Timed Reasoning Logics for Modeling Resource-Bounded Agents

Friday the 18th of June, Jonathan Grattage , University of Nottingham.
QML: A functional language with quantum effects (POSTPONED)

Friday the 12th of November, Rafael Bordini , University of Durham.
A Verifiable Approach to Programming Multi-Agent Systems

Friday the 3rd of December, Klaus Aehlig , University of Munich (currently visiting Oxford).
Level Two Recursion Schemes and Finite Automata

Abstracts 2004

Friday the 6th of February, Thomas Hallgren , OGI, Portland, Oregon
Haskell Tools from the Programatica Project - implementer's perspective The Programatica aims do develop a programming environment with support for "high assurance" programming in Haskell, using certificates to record various forms of evidence to support asserted properties. The goal of this talk is to give an overview of the activies I have been involved in during my 2.5 years in the project. This includes careful reading if the Haskell Report, contributing clarifications to the revised Haskell 98 report, development of an executable specification of the Haskell module system, a new lexer for Haskell in Haskell, a translator from Haskell to Alfa/Agda (Cayenne, roughly), and a graphical Haskell browser. I will also demonstrate some of the functionality currently available in PFE and say something about the structure of the implementation. Links:

Friday the 13th of February, Tarmo Uustalu , Inst. of Cybernetics, Tallinn
Recursive coalgebras from comonads We discuss Osius's (JPAA'74) concept of a recursive coalgebra of a functor from the perspective of programming semantics as a framework for structured recursion and give new sufficient conditions for the recursiveness of a functor-coalgebra that are based on comonads, comonad-coalgebras and distributive laws. This is joint work with Venanzio Capretta, Univ. of Ottawa, and Varmo Vene, Univ. of Tartu.

Friday the 27th of February, Jeffrey Ketland, University of Cambridge.
On the Length of Cardinality Statements

Nominalism is the claim that mathematical entities---numbers, functions, sets and structures---do not exist. The nominalist faces a problem of how it is that mathematics is applied to the world. The nominalist proposal is that mathematical statements about the world can be nominalized. For example, the statement The number of Fs is at least 3 which refers to numbers can be re-expressed as There are x, y, z, all different and each an F, which refers only to things that are Fs. Here we examine such nominalizations of cardinality statements. On our method of formalizing cardinality statements and counting symbols, the nominalization of the number of Fs at least n has roughly (1/2)n3 symbols, and consequently, rather mundane cardinality claims are not, at least in practice, nominalistically expressible (at least not if we insist on the existence of relevant tokens). Second, theres a problem with cardinality explanations, in that the nominalistic computations are unfeasible. We illustrate this what might be called Pigeonhole explanations, which are in fact formalizable in first-order logic as proofs of formulas of the form PHP(m, n). But though these are theorems of first- order logic, their proofs are astronomically large, even for small values of m and n. In any case, it seems that the moral reason why a conclusion like There are at least two people in the same country is true, given the factual premises, is because the Pigeonhole Principle is true. Finally, we suggest that there may be a problem for the nominalist in asserting there are at most n objects in the world, since its austere nominalization has more than n symbols.

Paper (pdf)

Friday the 5th of March, Pablo Nogueira , University of Nottingham.
More than parsing

I will discuss some of the relationships between context-free grammars, class hierarchies, and algebraic types, and introduce the syntax definition formalism EONF, a restricted form of context-free grammar based on the ONF syntax formalism that imposes the design of structured abstract syntax directly in the grammar. Abstract syntax trees of better quality together with types defining their traversal patterns and parsers can be obtained automatically for any target language supporting parametric polymorphism, subtyping, or disjoint sums.

Friday the 19th of March, Joel Wright , University of Nottingham.
Finally, a simple semantics

We develop a simple functional language in which to explore the semantics of synchronous exceptions and asynchronous interrupts. In particular, we seek to define a 'finally' operator in terms of primitives of the language, and prove that this operator has the desired behaviour. We are not interested in whether the language is practical for programming. This is part of a larger program of work concerned with the semantics of the exception handling mechanisms provided in Concurrent Haskell, and reasoning about operators and programs written using them.

Tuesday the 6th of April at 3 in B53 Mark Whitsey , University of Nottingham.
Timed Reasoning Logics for Modeling Resource-Bounded Agents

We present Timed Reasoning Logics (TRL) as a framework that allows one to model resource-bounded reasoners. We concentrate on time-bounded reasoners, i.e. agents that are able to produce plans or derive consequences of their beliefs, but take time to deliberate. We can thus use TRL to model multiagent systems over a period of time without assuming agents' beliefs to be closed under logical consequence. TRL can thus be seen as a combination of syntactic epistemic logics and temporal logics. Here, we illustrate TRL concepts using a propositional natural deduction-style reasoner, who derives consequences of its beliefs over time. Since reasoning in natural deduction requires assumptions to be made, our model is actually a model of a multiagent system in which assumptions are beliefs of ``helper'' agents. An agent who doesn't know whether $\phi$ can use a helper to reason as if $\phi$ were the case; if the helper runs into a contradiction, our first agent will believe $\neg\phi$. We show the logic used to model the reasoner, which we call TRL(ND), is sound, complete and decidable.

Friday the 12th of November at 3 p.m. in A01, Rafael Bordini , University of Durham.
A Verifiable Approach to Programming Multi-Agent Systems

In this talk, I shall introduce the main aspects of an agent-oriented programming language and its interpreter, and then address the use of model-checking techniques for the verification of multi-agent systems implemented in that programming language. The first part of the talk will cover various features of "Jason", a Java-based interpreter for an extended version of a logic-based agent-oriented programming language called AgentSpeak, which is based on the BDI architecture for cognitive agents. The second part of the talk will overview the research leading to the development of a set of tools called CASP. These tools automatically translate AgentSpeak code and a simplified BDI property specification language into the input languages of existing model checkers, thus allowing the verification of implemented (rather than high-level designs of) agent systems. To address the state-explosion problem, abstraction techniques tailored specifically to that agent-oriented programming language need to be developed. Towards that, the talk will also refer to recent work on a property-based slicing algorithm for AgentSpeak.

Friday the 3rd of December, Klaus Aehlig , University of Munich (currently visiting Oxford).
Level Two Recursion Schemes and Finite Automata

Let a first order signature be given. A recursion scheme over this signature consists of a set of simply typed non-terminals together with defining equations for them. A recursion scheme is of level two, if the types of all non-terminals are. Monadic second order properties of trees can equivalently be represented by finite automata. An automaton has a successful run if and only if the tree satisfies the given property. The runs of such tree automata can be simulated by automata running on the lambda tree naturally associated with a given level two recursion scheme. As these lambda trees are regular the monadic second order theory of level two recursion schemes is decidable.


Further Information

Meetings are normally held on Fridays at 3 p.m. in room A01 in the School of Computer Science on the Jubilee Campus. On-line directions to the Jubilee Campus are available, and our address is as follows:
School of Computer Science and IT
University of Nottingham
Jubilee Campus, Wollaton Road
Nottingham NG8 1BB
United Kingdom