Coordination and Computation in distributed intelligent MEMS – CO²Dim
Coordination and computing for the invisible!
Proposing new methods to manage and program distributed intelligent microsystems<br /><br />Over the last decades, MEMS research has focused on the engineering process, but future challenges will consist in adding embedded intelligence to MEMS systems to obtain distributed intelligent MEMS.
Scientific innovation in distributed computing for microsystems
The objective of CO2Dim raises different scientific challenges. The first concerns the proposition of an extensible distributed programming model that can handle millions of distributed nodes. This challenge was solved with a software environment whose language, compiler and virtual machine can handle large numbers of distributed elements. The second challenge was to propose robust methods to be fault-tolerant, which was achieved by the addition of a retraction mechanism allowing a process to return to a stable state, independent of surrounding errors and faults. Another challenge was to successfully integrate the distributed computation and the coordination which has been done thanks to a formal synchronization model and a new method of synchronization of distributed clocks based on an innovative distributed election of the centroïd. Finally, the last challenge was to propose a simulation framework that can offer a good tradeoff between precision and scalability. We have developed VisibleSim which is now available for download or for direct use inside a browser.<br /><br />During this project, we strengthened our relations with the Polytechnic University of Hong Kong and with the University of Carnegie Mellon. We have industrialized a mechatronic device: the Blinky blocks, intelligent blocks similar to Lego bricks that we used in the project. We are in the process of developing a new version that will be ready by the end of 2017. These intelligent blocks could be used also in school and we are in discussion with the rectorate on this subject. We are also considering a way to market these blocks. The interest of these blocks is clearly the software environment developed within CO2Dim.
Extensible distributed programming model
General multi-robot applications require coordinated movement with real-time decision making capabilities in an unstructured environment. Hence, for programming a group of robots, the tasks of communication and coordination needs to be abstracted instead of being explicitly written for each of the robots. There have been several research efforts to develop such programming models. Unfortunately, all of them have focused on a dedicated programming model for a speci?c application.
At the beginning of the project, the plan was to detect and react to fault. We have changed this objective to a more ambitious one: Being able to have a prognostic health management (PHM) of the MEMS and knowing that, update the distributed algorithms to save on certain actions that would cause a failure.
Distributed computation and coordination
Time synchronization has been extensively studied in various sub-domains. Time synchronization is also an important topic of interest in Wireless Sensor Networks (WSN) where many protocols have been proposed To the best of our knowledge, time synchronization has not attracted any attention in the modular robotic community. Methods to provide a global metronome-like signal in modular robots have been proposed. However, these mechanisms synchronize clock phase or/and frequency but not actual clock time.
We have published 11 journal articles and 30 conference papers during the duration of the project. It is therefore difficult to match each result with exactly one publication but it is possible to match one general result with several publication. We were able to obtain many publications because we had supplementary fundings that have been added to the CO2Dim project.
As a highlight, we obtained the only best paper award at the IEEE International Advanced Information Networking and Applications (AINA) conference over 442 submitted papers!
The CO2Dim project has worked on the the difficult problem of programming massively distributed systems in interaction with the real world. The results we obtained, the software we developed can be reused in different communities, Internet of Things is one of these.
In the community of modular robots, we offered the first online simulation framework. VisibleSim is accessible, free of charge and anybody can submit programs to be simulated.
The Blinky Blocks hardware together with VisibleSim is used to teach computer science and more precisely distributed computing to Master students. The objective is to develop this platform to have a complete ecosystem for distributed computing.
We have published 11 journal articles and 30 conference papers.
Publication to be cited for the project:
Julien Bourgeois, Jiannong Cao, Michel Raynal, Dominique Dhoutaut, Benoît Piranda, Eugen Dedu, Ahmed Mostefaoui, and Hakim Mabed. Coordination and Computation in distributed intelligent MEMS. In AINA 2013, 27th IEEE Int. Conf. on Advanced Information Networking and Applications, Barcelona, Spain, pages 118--123, March 2013. IEEE Computer Society.
Over the last decades, MEMS research has focused on the engineering process, but future challenges will consist in adding embedded intelligence to MEMS systems to obtain distributed intelligent MEMS. One intrinsic characteristic of MEMS is their ability to be mass-produced. This, however, poses scalability problems because a significant number of MEMS can be placed in a small volume. Managing this scalability requires paradigm-shifts both in hardware and software parts. Furthermore, the need for actuated synchronization, programming, communication and mobility management raises new challenges in both control and programming. Finally, MEMS are prone to faulty behaviors as they are mechanical systems and they are issued from a batch fabrication process. A new programming paradigm which can meet these challenges is therefore needed. In this project, we propose to develop CO2Dim, which stands for Coordination and Computation in Distributed Intelligent MEMS. CO2DIM is a new programming language based on a joint development of programming and control capabilities so that actuated synchronization can easily be programmed and can scale up to millions of units. CO2Dim’s challenges, then, are to guarantee the atomicity of operations as well as time constraints thanks to performance awareness.
Monsieur Julien BOURGEOIS (Institut FEMTO-ST, Departement Informatique, Montbéliard) – Julien.Bourgeois@univ-fcomte.fr
The author of this summary is the project coordinator, who is responsible for the content of this summary. The ANR declines any responsibility as for its contents.
Université de Rennes 1 / IRISA Université de Rennes 1 / Institut de Recherche en Informatique et Systèmes Aléatoires, Université de Rennes 1
PolyU Polytechnic University
FEMTO-ST/DISC Institut FEMTO-ST, Departement Informatique, Montbéliard
Help of the ANR 249,132 euros
Beginning and duration of the scientific project: February 2013 - 36 Months