|Eric Rutten||Researcher at INRIA||+33 4 76 61 55 50||web|
|Tayeb Bouhadina||Post-doc||+33 4 76 61 .. ..|
|Xin An||PhD Student
co-advised with A. Gamatie (Lille)
|+33 4 76 61 .. ..|
|Sebastien Guillet||PhD Student
co-advised with F. de Lamotte (Lorient)
|+33 2 97 87 45 60|
|Soguy Geye||Masters student (MOSIG, Grenoble)
co-advised with N. de Palma
NewsThe BZR language works and is available, to program reactive controllers, in a mixed imperative/declarative style
Context: adaptive and reconfigurable computing systems
Computing systems are called adaptive, reconfigurable, or also autonomic, when they feature software and hardware that is able to:
- perform its computing functionality in different ways : configurations, versions, modes, parameters, placements, ...
- perform dynamic commutations between them : adaptation, reconfiguration, transition, migration ...
- decide upon commutations following a strategy, policy, control objective, ...
- perceive its own configuration and external information leading to adaptation: reflexive systems, self-representation, model, events / states, ...
The motivations for adaptation concern generally self-management of aspects like energy/power consumption, battery charge, processor heating, wifi coverage, local communication protocol; tasks and computing resources management (memory, CPU, time); quality of service, variants and versions, user events; variability, at fabrication or over life-time, of multi-processor SoC; dependability, fault-tolerance by switching between redundant processes.
Adaptation can be considered and managed at different levels: application, software infrastructure (middleware, OS), architecture (hardware) or environment. It can also be envisaged at different moments, like design-time (program specialization), deployment-time, and run-time. It can even be considered at a higher level, with adaptation of the controller itself, at run-time, in an upper-level loop changing the adaptation policy itself. This kind of generation of a new controller is especially feasible for slow paced systems e.g., adding a new device in a home system, at a days-scale.
Application domains can be found in: embedded systems, open (sensor networks) or not (safety-critical), domotics and building automation, telecommunications and mobile devices, scientific computation and grid computing, web and service oriented architectures.
Existing techniques for the control of adaptation are very diverse, and can feature ad hoc programming, rule-based systems (with heuristics, learning, AI techniques, ...), analytical and predictive models of the regulation object, ...
We are particularly interested in techniques related to control theory based on models of the dynamics, which can be either continuous, or discrete, or hybrid.
Approach: Model-based Control
Our approach is to apply control techniques based on the behavioral model of reactive automata and the algorithmic techniques of discrete controller synthesis. We consider the problem theoretically and also concretely, and we therefore adopt the synchronous approach to reactive systems: this way we can, on the one hand, rely on synchronous languages as modeling formalism, equipped with compilers and executable code generators, and on the other hand, use an associated effective controller synthesis tool: Sigali. Both are integrated into a programming language, called BZR, and its compiler, as an extension of the Heptagon language. We thus have a complete tool-supported method from control modeling down to concrete execution, considering different execution models, and targetting either software or hardware.
This gives us a multi-tier approach to the model-based control of adaptive computing systems, where we can consider the general problem, and contribute on a more specialized topic: to model the discrete behaviours of the system to be regulated, and to obtain a correct controller by automated synthesis.
The originality of our approach is in the emerging nature of this topic in computer science, which is appearing in soft-, hard- and middleware. It represents a new combination of existing approaches in :
- operating systems and middleware
- (discrete) control theory
- formal methods and tools, as a link between the two.
ActivitiesWe currently have the following activities and contacts on the different aspects of our approach:
- discrete controller synthesis (DCS): cooperation with Herve Marchand (VerTecs, INRIA Rennes)
- optimal DCS on paths: cooperation with VerTecs (INRIA Rennes), Pop Art (INRIA Grenoble) and INSA Lyon
- other DCS techniques (adpative and distributed control): contacts with GIPSA-Lab (H. Alla), ENSI Tunis (M. Yeddes)
- BZR language (with DCS in its compilation) with G. Delaval and VerTecs (INRIA Rennes)
- other synchronous languages: G. Delaval with Synchronics project
- integration with the behavioral ADL in Fractal, in the framework of the Minalogic project MIND
control modelling and execution
- reactive models of adaptation
- adaptative middleware, related to Fractal: in the framework of the Minalogic project MIND
- C implementation (related to Think/Cecilia) in cooperation with ST Microelectronics; Orange labs
- formal model in Alloy
- sequential code generation (C, Java, Caml): G. Delaval
- distributed control: G. delaval and A. Belhadj (MSc ENSI Tunis)
- Orccad (programming environment for control systems): G. Delaval, S. Aboubekr, in cooperation with NeCS (D. Simon) and SED (R. Pissard-Gibollet) et INRIA Grenoble
- virtual machines, in cooperation with N. de Palma, F. Boyer, O.Gruber
- reconfigurable circuits: in relation with RecoMARTE, in the framework of the ANR project FAMOUS, in cooperation with DaRT team at INRIA Lille, and Lab-STICC in Lorient
|Gwenaël Delaval||Post-doc at INRIA; now assistant Prof. at UJF||web|
|Ashutosh Katiyar||intern (from IIT Delhi, India)|
|Soufyane Aboubekr||PhD student|
|Amine Belhadj||Master student (co-advised with ENSI Tunis)|