12 March 2012 - 14h00
Synchronous Programming of Device Drivers for Global Resource Control in Embedded Systems (Phd Defense)
by Nicolas Berthier from Université de Grenoble
Abstract: This thesis is about the design of software for embedded systems. The hardware platforms usually employed in these systems provide a limited amount of memory, computational power and energy. The software they execute is then constrained by such limited resources. Usual applications involve further objectives, such as reactivity and lifetime. In addition, these platforms comprise shared resources like buses or even the energy provided by a battery. Hence, global properties concerning the whole platform must be enforced, for instance to control concurrent accesses to a bus or power consumption. As device drivers are commonly developed individually, the knowledge necessary to implement global control policies is distributed among several pieces of software.
We propose a global control approach, based on a centralized view of the devices' states. Built upon para-virtualization principles, it operates on the hardware/software interface. It involves a simple adaptation of the guest operating system, to communicate with the hardware via a control layer. The control layer itself is built from a set of simple automata: the device drivers, whose states correspond to functional or power consumption modes, and a controller to enforce global properties. All these automata are programmed using a synchronous language, and compiled into a single piece of sequential code.
As a suitable representative of embedded systems hardware, we choose the node of a wireless sensor network. To show that our approach is practical, we propose a proof-of-concept implementation of the control layer to manage this platform, and evaluate it both qualitatively and quantitatively. We also demonstrate its use and benefits with an event-driven or multithreading operating system, and estimate the impact of the adaptation on guest software. Finally, we audit several extensions and draw guidelines for its use in other contexts.
- Éric Fleury, ENS Lyon, Rapporteur
- Gilles Muller, INRIA, Rapporteur
- Antoine Fraboulet, INSA Lyon, Examinateur
- Abdoulaye Gamatié, CNRS, Examinateur
- Florence Maraninchi, Grenoble INP, Directrice de thèse
- Laurent Mounier, UJF, Directeur de thèse