This result gathers all the scientific results all the Mikado project, in the form of a public Web site with all the major project deliverables, published papers and technical reports. Mikado results fall into four categories:
- Models for distributed and mobile computing. The project has developed a generic membrane calculus and studied several models of distributed and mobile programming, including the MiKO calculus (an object-based declination of the generic membrane calculus), Dpi and its variants (notably Safe Dpi, a typed higher-order variant of Dpi, and Dpi with failures), Klaim and its variants (notably Klaim with explicit links and failures), variants of Ambients (notably, the M3 calculus), the ULM calculus, and the Kell calculus. While the project has not succeeded in unifying these different calculi in a single model, the generic membrane calculus provides a common frame of reference for these models and their different types of localities, with the exception of the Kell calculus which can be seen as a lower level calculus in which the membrane calculus itself can be encoded. These different calculi constitute contributions to a general understanding of domains or localities in distributed and mobile programming. It is expected that they can be exploited to serve as a basis for future programming models and languages.
- Type systems for domain-based calculi. The project has developed several static and dynamic type systems for calculi developed in the Mikado project. There are three main areas where innovative type systems have been proposed: access control, mobility control, and information flow control. Access control and mobility control are crucial elements for the security of global computations. The work done in Mikado notably around the Safe Dpi calculus and the Klaim calculus, shows how a combination of static and dynamic type
systems can provide an effective support of policies controlling access to, and moves between localities. The work done in Mikado on information flow control extends considerably classical work on the topic. This work on type systems addresses important safety properties for distributed and mobile programming, and it is expected that they can be exploited to verify basic correction properties of Web service workflows and compositions.
- Co-inductive proof techniques for domain-based calculi. The definition of co-inductive proof techniques for models of distributed and mobile programming is notoriously difficult, for such models, as exemplified by the different calculi studied in Mikado, are inherently higher-order. Nevertheless, the project can claim several achievements in this area, in particular, the co-inductive characterization of contextual equivalences for higher-order Mikado calculi such as Safe Dpi and variants of Klaim, as well as the development of a bisimulation-based theory for domain-based calculi with failures (Dpi with failures and Klaim with explicit links and failures). These results are more theoretical in nature, and are still partial, with respect e.g. to the more elaborate behavioral theory of the p-calculus, however they constitute important stepping stones to advance the study of the behavioral theory of domain-based higer-order programming models.
- Implementation of distributed calculi. The project has developed the IMC framework, and its used it for the implementation of distributed calculi and languages.
While there has been in the past decade several works targetting the development of communication frameworks, the IMC framework developed by Mikado is noteworthy for the direct support it provides to implementers of distributed calculi, and the compositionality of its communication framework. In addition, the project has developed or extended implementations of several programming languages based on Mikado models: Klaim and its variants, ULM, and TyCO, Chalk (based on the Kell calculus).