Inspiré par les concepts de programmation distribuée et mobile
De nouveaux exemples de calcul informatique, tel que le «calcul informatique mondial» et la «gestion des informations ambiantes» permettent d'envisager des scénarios dans lesquels un mélange de dispositifs personnels et publics mobiles permettrait d'évoluer librement au sein des domaines en passant d'un réseau à l'autre de façon transparente. Une infrastructure massive composée d'objets hautement diversifiés et interconnectés prendrait en charge les services de façon uniforme avec des garanties variables en matière de communication et de mobilité, en plus de l'utilisation et de la sécurité des ressources. Le projet MIKADO, intégré à l'initiative Future Emerging Technologies (technologies futures et émergentes), s'est fixé pour objectif de traiter les insuffisances des langages de progiciels et de programmation actuels, afin de répondre aux défis posés par un tel environnement. En particulier, ces langages ont tendance à fournir une plage d'interactions limitée et comportent une vue restreinte des composants et des objets. Qui plus est, ils ne sont pas compatibles avec des recherches rigoureuses à des fins de validation ou de test. L'un des principaux objectifs des partenaires du projet MIKADO était le développement de modèles formels de spécification et de programmation de systèmes distribués et mobiles à grande échelle. Afin de poser les bases nécessaires au dépassement des limitations actuelles en matière de programmation mondiale, plusieurs modèles explicites de distribution et de migration de code et de calcul ont fait l'objet d'études. Les travaux ont surtout porté sur des modèles de domaines de calcul informatique à membranes programmables et ont tenté d'unifier les différents modes de calcul dans un modèle formel de programmation concurrente et orientée objet. Des techniques de spécification et d'analyse destinées au nouveau modèle de programmation ont ensuite été proposées, afin d'étendre les travaux récents sur les systèmes de types aux langages orientés objet et aux calculs à processus distribués. Il s'est aussi bien agi de systèmes de saisie et techniques d'analyses statiques destinées à exprimer les contraintes en matière de devises et d'accès aux ressources, que de techniques destinées à vérifier que les codes mobiles sont bien conformes aux spécifications préalablement définies. Ces dernières ont nécessité l'utilisation de techniques co-inductives innovantes afin de comparer le comportement distribué des systèmes et de nouveaux outils logiques de spécification pour exprimer des visions partielles des paradigmes de programmation. Une structure logicielle commune destinée à permettre la mise en œuvre de calculs à processus distribués n'a pas pu se restreindre à un ensemble fixe de primitives de communication. La structure IMC (Implementing Mobile Calculi, ou mise en œuvre de calculs mobiles), accessible via le site du projet MIKADO avec l'ensemble de ses principaux autres résultats, est assez flexible pour prendre en charge des protocoles de communication multiples et même personnalisés.