Student projects from Philippa Gardner and Michael Norrish

Implementing Action Graphs

Proposer: Philippa Gardner <pag20@cl.cam.ac.uk>

Supervisor: Michael Norrish <mn200@cl.cam.ac.uk>

Milner's action graphs provide a notation for describing many features arising from interactive systems. As well as the syntactic definition, there is a good intuitive account using graphs. The principle goal of this project is to implement a system which allows easy movement between the syntax and the graphs, and which mimics our natural way of working.

An action graph looks like:

[A static action graph]

An example of a simple interaction is

[A dynamic interaction]

The corresponding syntax for the above interaction is

[A formula]

We expect the implementation to provide a smooth transition between the syntax and the graphs. For example, the user might type in a term, and the implementation would return the corresponding graph. Similarly, the user might build a graph, and the implementation would check that it was well-formed and give back the corresponding syntax. The implementation should be able to identify the patterns necessary for potential interaction to take place (perhaps with a little help from the user), listing the syntactic terms and highlighting the corresponding subgraphs. It should also illustrate changes in the graph as specific reaction steps are chosen.

The proposed implementation is part of a more ambitious project to implement action calculi. Further details can be found here, or here (in postscript). This project would suit an experienced programmer interested in the design of graphical user interfaces. The theoretical content of the project in not high, although it would help if the programmer were comfortable with theory. Possible choices of languages include Java, Modula 3 and SML.


Michael Norrish <Michael.Norrish@cl.cam.ac.uk>
Last modified: Wed Nov 18 15:55:39 GMT 1998