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]](non-reflexive/example.gif)
An example of a simple interaction is
The corresponding syntax for the above interaction is
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.
![[A dynamic interaction]](non-reflexive/reduction.gif)
![]()
Michael Norrish <Michael.Norrish@cl.cam.ac.uk>
Last modified: Wed Nov 18 15:55:39 GMT 1998