Synchronous programming of device drivers for global resource control in embedded operating systems
Author(s) -
Nicolas Berthier,
Florence Maraninchi,
Laurent Mounier
Publication year - 2013
Publication title -
acm transactions on embedded computing systems
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.435
H-Index - 56
eISSN - 1558-3465
pISSN - 1539-9087
DOI - 10.1145/2435227.2435235
Subject(s) - computer science , multithreading , embedded operating system , embedded system , controller (irrigation) , distributed computing , resource (disambiguation) , software , simple (philosophy) , layer (electronics) , node (physics) , set (abstract data type) , operating system , computer network , thread (computing) , engineering , philosophy , chemistry , organic chemistry , epistemology , structural engineering , agronomy , biology , programming language
International audienceIn 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 paper, 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
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom