Current middleware and programming language technologies are inadequate to meet the challenges posed by a global computing environment. In particular, they tend to support only a limited range of interactions, have a limited view of components and objects, fail to properly and uniformly support properties such as mobility, predictability, security, fault-tolerance, and they are not amenable to rigorous investigation for verification, validation and test purposes. The Mikado project intends to overcome these limitations by defining and prototyping new formal models for both the specification and programming of highly distributed and mobile systems, and to develop specification and analysis techniques which can be used to build safer and trustworthy systems, to demonstrate their conformance to specifications and to analyse their behaviour.
The goal of the Mikado project is to construct a new formal programming model, based upon the notion of domain as a computing concept, which supports reliable, distributed, mobile computation, and provides the mathematical basis for a secure standard for distributed computing in open systems. Specifically, Mikado intends:
- To develop new formal models for both the specification and programming of large-scale, highly distributed and mobile systems;
- To develop new programming language features supporting such models, and to study their combination with functional and object-oriented programming;
- To develop specification and analysis techniques which can be used to build safer and trustworthy systems, to demonstrate their conformance to specifications, and to analyse their behaviour;
- To prototype new virtual machine technologies which can be used to implement in a "provably correct" way such models and languages.
DESCRIPTION OF WORK
The project is organised around three technical work-packages (WP1-WP3) and one organisational work-package (WP4):
- WP1: Core Programming Model;
- WP2: Specification and Analysis;
- WP3: Virtual Machine Technology and Language Support;
- WP4: Project Co-ordination and Dissemination
WP1 is concerned with the definition of a core programming model for global computing, based on the notion of domain. This work-package will provide the basis for the rest of the theoretical work taking place in WP2 and for the development work taking place in WP3.
WP2 is concerned with the definition of Specification and Analysis technologies for the project's programming model. This will range from the development of type systems and static analysis techniques for expressing constraints on concurrency, mobility and resource access for the underlying execution model, to providing proof technologies for assuring that mobile code, and more generally distributed systems, conform to predefined behavioural specifications. The latter will require the definition of novel co-inductive techniques for comparing the distributed behaviour of systems and the elaboration of new specification logics for expressing interesting partial views of systems and programming paradigms.
WP3 is concerned with the embodiment of the Mikado programming model developed in WP1 and WP2 in concrete programming technologies. Work in WP3 will be concerned with the development of several prototypes, including:
- Virtual machine technology to support WP1's core programming model together with WP2 typing schemes;
- Languages features and language extensions supporting WP1's model and WP2's type systems.
Funding SchemeCSC - Cost-sharing contracts
75505 Paris 15
BN1 9RH Falmer, Brighton, East Sussex