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
TOSSIM: accurate and scalable simulation of entire TinyOS applications
Proceedings of the 1st international conference on Embedded networked sensor systems
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
ActorNet: an actor platform for wireless sensor networks
AAMAS '06 Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems
A Flexible Scheduling Framework for Deeply Embedded Systems
AINAW '07 Proceedings of the 21st International Conference on Advanced Information Networking and Applications Workshops - Volume 01
Completely Distributed Low Duty Cycle Communication for Long-Living Sensor Networks
CSE '09 Proceedings of the 2009 International Conference on Computational Science and Engineering - Volume 02
Hi-index | 0.01 |
Protocols for sensor networks are commonly coupled to the specific operating system (OS), for instance TinyOS, involving some drawbacks. First, programmers must learn OS architecture, programming guidelines, sometimes a new programming language, etc. Second, protocols run on the specific OS only, i.e. on the hardware supported by the OS. Third, only selected network simulators, mostly provided by OS, can execute the OS-coupled code. To tackle the problems with interoperability we examined the idea of cross-platform protocol development for sensor networks, i.e. software running on several OSs, and share our experience in this paper. Our primary cross-platform MAC protocol runs on two OSs and on a hardware platform supporting the C programming language. To achieve interoperability we decoupled MAC from OS calls and provided a hardware abstraction layer (HAL) for each OS. We discovered that such an approach does not result in a significant penalty in terms of occupied memory (e.g. smaller by 3 kB than the TinyOS dedicated version) and consumed energy (additional overhead smaller by three orders of magnitude from total tx energy).