Our aim is to develop declarative coordination programming environments based on the paradigm of shared dataspace communication and the chemical reaction model of execution. Advances will be in the direction of more sophisticated control and modularity, along with corresponding program logics that will allow formal verification of program properties through static analysis of programs, backed by formal execution methods and semantics. We expect that the results of the project will serve as a reference for the next generation of coordination languages.
APPROACH AND METHODS
Work will be carried out in the following key areas:
Coordination Components: The ultimate objective is to design a set of powerful language independent coordination mechanisms, able to offer modular solutions to coordinated control problems. Our methodology to achieve this objective is evolutionary; we will start with a study of our existing languages and develop new mechanisms to overcome perceived difficulties with them.
Compilation and Verification: Practical languages must be implemented efficiently. The development of compile-time optimisation techniques is therefore crucial to the success of our venture. We have considerable experience already in this areas and one of our key deliverables will be a software prototype for analysis of Linear Logic proofs, ie analysis of programs in the LO coordination language. We will be concerned, in the latter part of the project, with generalising this work to develop language independent tools. Of equal importance to program analysis is our ability to reason about and verify programs: to this end we will develop a program logic for coordination languages.
Execution Models and Semantics: While the chemical reaction metaphor provides a unifying framework for much of our work, work on the Chemical Abstract Machine (CHAM) has diverged from our own. We will address this issue by developing new abstract mechanism based on the chemical reaction metaphor capable of supporting our coordination primitives. In addition, we will study other approaches to semantics and establish their relevance to our work on coordination languages.
We will deliver four major software prototypes: a prototype implementation of HOP, an object-oriented coordination language; Gamma-log, a coordination language which specialises Gamma and Shared Prolog by putting together features from both; an abstract interpretation system for the analysis of linear logic proofs which will be developed as part of the work on the LO coordination language and will then be generalised as a language-independent tool; and an experimental implementation of the coordination language LO in the more traditional message-passing system provided by Facile.
2825 Monte Da Caparica