Synchronous programming of device drivers for global resource control in embedded operating systems

  • Authors:
  • Nicolas Berthier;Florence Maraninchi;Laurent Mounier

  • Affiliations:
  • UJF/Verimag;Grenoble INP/Verimag;UJF/Verimag

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS) - Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

In embedded systems, controlling a shared resource like a bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. In this article, we propose a global resource control approach, based on a centralized view of the devices' states. The solution we propose operates on the hardware/software interface. It involves a simple adaptation of the application level, 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 C code. We take as example the node of a sensor network. We explain the approach in details, demonstrate its use and benefits with an event-driven or multithreading operating system, and draw guidelines for its use in other contexts.