Section: Scientific Foundations
Main Research Directions
We intend to exploit our knowledge of formal techniques and their use, and of control theory, according to aspects of the definition of fundamental tools, and applications.
The integration of formal methods in an automated process of generation/compilation is founded on the formal modeling of the considered mechanisms. This modeling is the base for the automation, which operates on models well-suited for their efficient exploitation, by analysis and synthesis techniques that are difficult to use by end-users.
The creation of easily usable models aims at giving the user the role rather of a pilot than of a mechanics i.e. , to offer her/him pre-defined functionalities which respond to concrete demands, for example in the generation of fault tolerant or distributed executives, by the intermediary use of dedicated environments and languages.
The proposal of validated models with respect to their faithful representation of the application domain is done through case studies in collaboration with our partners, where the typical multidisciplinarity of questions across control theory and computer science is exploited.
The overall consistency of our approach comes from the fact that the main research directions address, under different aspects, the specification and generation of safe real-time control executives based on formal models .
We explore this field by linking, on the one hand, the techniques we use, with on the other, the functionalities we want to offer. We are interested in questions related to:
dedicated languages and models for automatic control that are the interface between the techniques we develop and the end-users on the one hand, and the designers of formal models on the other;
compositional modeling and analysis that aim at deriving crucial system properties from component properties, without the need to actually build and check the global system;
static analysis and abstract interpretation methods for checking functional properties on models and generated programs;
Aspect-Oriented Programming (AOP) that allows to express safety concerns separately from the functional part and to enforce them on programs.
Implementations of synchronous programs
This issue can be tackled differently depending on the execution platform. Based on a formal model of the program to be implemented, our approach is to obtain by compilation ( i.e. , automatically):
the distribution on a multiprocessor architecture, with code partitioning according to directives, and insertion of the necessary communication actions to ensure the coherence of control; the distribution must be correct with respect to the original specification, and must be optimized;
fault tolerance by replication of computations on a multiprocessor architecture, and scheduling of computations according to the faults to be tolerated; such a scheduling must be optimized w.r.t. its length and reliability.
Automatic generation of correct controllers
multi-mode multi-tasking systems where the management of interactions (exclusions, optimization of cost or quality criteria, ...) is obtained by synthesis;
a locally imperative, globally declarative language whose compilation comprises a phase of discrete controller synthesis;
fault-tolerance management, by reconfiguration following objectives of consistent execution, functionality fulfillment, boundedness and optimality of response time;
and, more generally, a model-based approach to adaptive systems, with applications in embedded middleware for autonomic systems, and reconfigurable architectures.