Section: Overall Objectives

Objective: control support for autonomic computing

Computing systems are more and more ubiquitous, at scales from tiny embedded systems to large-scale cloud infrastructures. They are more and more adaptive and reconfigurable, for resource management, energy efficiency, or by functionality. Furthermore, these systems are increasingly complex and autonomous: their administration cannot any longer rely on a strong interaction with a human administrator. The correct design and implementation of automated control of the reconfigurations and/or the tuning is recognized as a key issue for the effectiveness of these adaptive systems.

In the last dozen years, the notion of Autonomic Computing has been proposed and supported by industrials like IBM, as a framework for the design of self-adaptive systems. It addresses objectives of self-configuration, w.r.t. deployment issues, self-optimization, w.r.t; resources management, self-healing, w.r.t. robustness and fault-tolerance, and self-protection, w.r.t. security aspects. It relies on a feedback control loop architecture, with: monitors and reconfiguration actions, connected to the API infrastructure of the system under control ; an autonomic management component , transforming flows of monitoring information into adaptation actions, which can be addressed naturally by reactive programming ; a decision mechanism inside the latter manager, which can rely on behavioral models of the managed system.

Our objective is to build methods and tools for the design of safe controllers for autonomic, adaptive, reconfigurable computing systems. To attain this goal, we propose to combine Computer Science and Control Theory, at the levels of systems infrastructures, programming support, and modeling and control techniques. We explore this topic along three main thematic axes: modeling and control theory with discrete time, continuous time and hybrid models (distributed control, event-based control, discrete event systems, supervisory control) ; programming support with reactive (synchronous languages, controller synthesis, higher-order) and component-based approaches (Fractal framework, language-level support of reconfiguration, Event-Condition-Action (ECA) rules) ; infrastructure-level support (operating system, middleware) for monitors/sensors, administration actions/actuators, architectures for controllability, software and hardware reconfiguration mechanisms.

We aim to address applications with reconfiguration control problems from the small scale (facing variability for system on chips (SoCs), reconfigurable architectures, networks on chips (NoCs), etc.) up to the extra large scale (administration, coordination, optimization of data centers and cloud computing, green computing, smart grids, etc.)

We propose to form a team grouping the most active community in France on Control of Computing, with members until now separated by laboratories structure, in order to contribute more efficiently in the local context to the high potential impact on micro- and nanotechnologies in Grenoble, and more widely nationally and internationally in the emerging community on Feedback Computing.