System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
ECOSystem: managing energy as a first class operating system resource
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Synthesizing operating system based device drivers in embedded systems
Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors
LCN '04 Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks
Scale and performance in the Denali isolation kernel
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Nano-RK: An Energy-Aware Resource-Centric RTOS for Sensor Networks
RTSS '05 Proceedings of the 26th IEEE International Real-Time Systems Symposium
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Proceedings of the 6th international conference on Information processing in sensor networks
The 6th International Conference on Information Processing in Sensor Networks
RETOS: resilient, expandable, and threaded operating system for wireless sensor networks
Proceedings of the 6th international conference on Information processing in sensor networks
Worldsens: development and prototyping tools for application specific wireless sensors networks
Proceedings of the 6th international conference on Information processing in sensor networks
Integrating concurrency control and energy management in device drivers
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Eon: a language and runtime system for perpetual systems
Proceedings of the 5th international conference on Embedded networked sensor systems
Resource aware programming in the Pixie OS
Proceedings of the 6th ACM conference on Embedded network sensor systems
Automating the addition of fault tolerance with discrete controller synthesis
Formal Methods in System Design
An optimized MAC layer to physical device mapping methodology
Mobility '09 Proceedings of the 6th International Conference on Mobile Technology, Application & Systems
Using controller-synthesis techniques to build property-enforcing layers
ESOP'03 Proceedings of the 12th European conference on Programming
Device driver abstraction for multithreaded sensor network operating systems
EWSN'08 Proceedings of the 5th European conference on Wireless sensor networks
Automated control synthesis for an assembly line using discrete event system control theory
IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews
Argos: an automaton-based synchronous language
Computer Languages
Synchronous control of reconfiguration in fractal component-based systems: a case study
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Hi-index | 0.00 |
In embedded systems, controlling a shared resource like the bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. There is a need for global resource control, taking decisions based on a centralized view of the devices' states. In this paper, we study power consumption in sensor networks, where the nodes are small embedded systems powered by batteries. We concentrate on the hardware/software architecture of a node, where significant gains can be achieved by controlling the consumption modes of the various devices globally. The architecture we propose 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 drivers of the devices, whose states correspond to power consumption modes, and a controller that enforces global properties. All these automata are programmed using a synchronous language, whose compiler performs static scheduling and produces a single piece of C code. We explain the approach in details, demonstrate its use with either Contiki or a traditional multithreading operating system, and report on our experiments.