Wireless sensor networks: a survey
Computer Networks: The International Journal of Computer and Telecommunications Networking
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
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
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
An Experimental Comparison of Event Driven and Multi-Threaded Sensor Node Operating Systems
PERCOMW '07 Proceedings of the Fifth IEEE International Conference on Pervasive Computing and Communications Workshops
Detecting inconsistencies in wrappers: a case study
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
Portability of software modules is a major concern in application development for Wireless Sensor Networks (WSN), stressed by the typical lack of resources in embedded systems. Abstractions of the hardware platform which are introduced by the operating system (OS) allow the development of modules which can be reused in new applications. However, the lack of standards in this domain, restricts the chances to achieve efficient portability to those systems running on very similar platforms (e.g. same OS). In this paper, we present an Operating System Abstraction Layer (OSAL), which unifies the OS architecture and establishes a common API across multiple OS. Portability of applications is effectively granted thanks to a common set of primitives, which are independent of the underlaying OS and its particular architecture. We highlight the efficiency of the OSAL as well as detailed description of its main features and design considerations. We have implemented the OSAL on top of two well known OS and performed extensive evaluations, which show that it effectively reduces portability efforts at the expenses of minimal run-time overhead as well as negligible increase of memory footprint.