A reflective architecture for real-time operating systems
Advances in real-time systems
ACM Computing Surveys (CSUR)
Priority Inheritance Protocols: An Approach to Real-Time Synchronization
IEEE Transactions on Computers
Adaptive Time-Critical Resource Management Using Time/Utility Functions: Past, Present, and Future
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Workshops and Fast Abstracts - Volume 02
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
Telos: enabling ultra-low power wireless research
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
Principles of Concurrent and Distributed Programming (2nd Edition) (Prentice-Hall International Series in Computer Science)
Concurrent programming without locks
ACM Transactions on Computer Systems (TOCS)
RETOS: resilient, expandable, and threaded operating system for wireless sensor networks
Proceedings of the 6th international conference on Information processing in sensor networks
The implementation of the Priority Ceiling Protocol in Ada-2005
ACM SIGAda Ada Letters
Scheduling I/O in virtual machine monitors
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Modern Operating Systems
Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin?
RTAS '08 Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium
A Prototype of a Multi-core Wireless Sensor Node for Reducing Power Consumption
SAINT '08 Proceedings of the 2008 International Symposium on Applications and the Internet
Handbook of Real-Time and Embedded Systems
Handbook of Real-Time and Embedded Systems
Towards Verifying Correctness of Wireless Sensor Network Applications Using Insense and Spin
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Deploying a Wireless Sensor Network in Iceland
GSN '09 Proceedings of the 3rd International Conference on GeoSensor Networks
Dynamic Hinting: Real-Time Resource Management in Wireless Sensor/Actor Networks
RTCSA '09 Proceedings of the 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
Resource Sharing in Global Fixed-Priority Preemptive Multiprocessor Scheduling
RTSS '09 Proceedings of the 2009 30th IEEE Real-Time Systems Symposium
Versatile Stack Management for Multitasking Sensor Networks
ICDCS '10 Proceedings of the 2010 IEEE 30th International Conference on Distributed Computing Systems
Hi-index | 0.00 |
The increasing complexity of today's reactive embedded applications can rapidly result in reduced real-time capabilities of the underlying hard and software. As an example for this paper we'll refer to the specific and growing demands on the severely resource constrained sensor nodes in sensor/actuator networks (SANet). While preemptive operating systems are one way to retain acceptable reactivity within highly dynamic environments, their concurrency paradigm commonly leads to severe resource management problems, caused by the coexistence of tasks with interfering and even varying requirements. To counteract these problems, we present the novel Dynamic Hinting approach for maintaining good reactivity in typically resource constrained sensor/actuator systems by efficient combination of preemptive task scheduling and collaborative resource allocation. With respect to task priorities, our technique significantly improves classical methods for handling priority inversions (and deadlocks where required) under both short- and long-term resource allocations. Furthermore, we facilitate compositional software design by providing independently developed tasks with runtime information for yet collaborative and reflective resource sharing - e.g. by means of time-utility-functions. In many cases this even allows to reduce blocking delays as otherwise imposed by bounded priority inversion.