The main objective of this project is to contribute to the implementation of modular robots by developing a formal framework to model, validate and coordinate their dynamic behaviours. The scientific challenges consist in particular in the ability to model the dynamic evolution of this type of complex systems—their adaptation and reconfiguration—by taking into account constraints on resources as well as events occurring in their execution environment.
This project is submitted for joint funding with the French Agency for Defence Innovation (AID). Therefore, we are currently looking only for candidates holding EU, United Kingdom or Swiss citizenship.
Modular robots are systems composed of modules that perform computations and communicate with their neighbors using sensors and actuators. We consider modular robots that are either shaped and manipulated by the user (like the Blinky Blocks) or capable of sliding along the faces of their neighbors (as simulated in VisibleSim). Such systems have to adapt dynamically to their runtime environment (enabled or disabled entities); the objectives of the individual entities may also change depending on of the evolution of the composite system.
We focus on the software executed by such systems and, in particular, in coordinating the actions of the individual modules to ensure the safe and efficient operation of the robot. For this type of software systems, component-based approaches allow building complex systems by combining components, thus contributing to the standardization and reuse of components. As an example let us quote the BIP framework  for modeling component-based systems. These approaches lend themselves naturally to the study of the (self-)adaptation of systems because their architectures can evolve dynamically according to specific needs, critical properties, available resources etc.
Objectives of the project
We have developed a first component model of Blinky Blocks-type modular robots using Dynamic Reconfigurable BIP (DR-BIP) —an extension of BIP for modeling systems whose topology can evolve according to their interactions with the environment. By capitalizing on this first model, the first objective of this project will be to extend the DR-BIP formalism with hierarchical patterns in order to be able to deal with more complex structures in terms of topology and interactions between the components. This will allow us to model other types of modular robots taking into account the various associated aspects: communication, coordination, energy consumption etc. The design flow for modular robots will then be based on structural operational semantics, which will be given formally.
The second objective is to define the problem and the mechanisms for the hierarchical control of physical processes, for example those related to the movement of robots. These mechanisms will also allow us to define the dynamic adaptation policies of modular robots according to the extra-functional requirements, and to use them for adaptation needs, or even dynamic reconfiguration guided by properties. Subsequently, we will consider setting up a control protocol for dynamic adaptation, for example according to the available energy resources.
In general, formal models of software systems have two main and complementary uses: 1) the validation of their behaviors and 2) the generation of executable code in order to implement the behaviors described by the models on physical systems (one then speaks of embedded software). In this project, we focus mainly on the second use without, however, completely neglecting the first. We will target the use of models for code generation, be it for the execution on the modules of a robot or for the validation by simulation (generation of simulators from models). Thus, the third objective—more applied in its nature—consists in developing code generators that can be parameterized by the targeted execution platform and would allow efficient and coherent generation of both the code for the simulation on centralized computing platforms and that for distributed execution on modular robots. The difficulty of this task comes from 1) the very different constraints imposed by these two types of platforms and 2) the need to ensure that the behavioral properties of the initial model are preserved in the two execution contexts so that the validation results be applicable at runtime.
The validation of the obtained results will be carried out in collaboration with colleagues from the FEMTO-ST Institute who are involved in the development of the modules making up such robots (cf. the Programmable Matter website).
The project will be carried out in the Spirals project-team at Inria Lille – Nord Europe. The thesis will be co-supervised by Simon Bliudze and Olga Kouchnarenko (FEMTO-ST institute). Spirals research program focuses on the definition of self-adaptive services and distributed software systems. In particular, Spirals is interested in mechanisms to monitor, make decisions and automatically reconfigure software at different scales during execution. At the FEMTO-ST Institute, the design and development of modular robots are at the heart of the joint work of the computer science and automation research departments.
Although the application domain that we are primarily targeting consists of the validation and coordination of modular robots, the obtained results will be applicable to self-adaptive systems in the broader sense, such as the so-called Internet of Things (IoT) systems, swarms of drones or constellations of nanosatellites.
This project is currently submitted for funding that is intended exclusively for students who are citizens of the EU, the United Kingdom or Switzerland, holding a Master’s degree or its equivalent, or an engineering degree conferring the grade of Master’s degree.
- Ananda Basu, Saddek Bensalem, Marius Bozga, Jacques Combaz, Mohamad Jaber, Thanh-Hung Nguyen, and Joseph Sifakis: Rigorous component-based system design using the BIP framework. IEEE Software 28(3):41–48 (2011)
[Website | PDF]
- Rim El Ballouli, Saddek Bensalem, Marius Bozga, and Joseph Sifakis: Programming dynamic reconfigurable systems. International Journal on Software Tools for Technology Transfer (2021)