Simplify Programming of TinyOS Applications for Wireless Sensor Networks
Subject Areas : electrical and computer engineeringM. Khezri 1 * , M. Sarram 2 , F. Adibnia 3
1 - Yazd University
2 - Yazd University
3 - Yazd University
Keywords: TinyOS sensor node operating system collaborative multitasking wireless sensor networks,
Abstract :
Sensor node operating system provides a limited number of common services for developers to construct applications for wireless sensor networks. The sensor network community selected TinyOS as the de facto standard with most existing applications, libraries and device drivers available for TinyOS. The programming model of TinyOS is event-based and is not easy to use. In this paper, we present a new task scheduler for TinyOS that includes a new computation concept, named Job. Jobs are a collaborative and non-preemptive way of multitasking. On the next step, we propose a programming model which combines the asynchronous basis of event-driven systems with a more classical programming interface for the developer. As a result, developer that uses such an interface in his application will be provided with the sequential view we wanted. This programming model is suitable for applications that have long running computations and there is a data flow dependency between different tasks.
[1] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister, "System architecture directions for networked sensors," SIGOPS Oper. Syst. Rev., vol. 34, no. 5, pp. 93-104, Dec. 2000.
[2] G. Werner - Allen, K. Lorincz, J. Johnson, J. Lees, and M. Welsh, "Fidelity and yield in a volcano monitoring sensor network," in Proc of OSDI, vol. 6, pp. 381-396, Nov. 2006.
[3] J. Hicks, J. Paek, S. Coe, R. Govindan, and D. Estrin, "An easily deployable wireless imaging system," in Proc of ImageSense 08, vol. 6, pp. 20-25, Nov. 2008.
[4] C. Sadler and M. Martonosi, "Data compression algorithms for energy constrained devices in delay tolerant networks," in Proc of SenSys 06, vol. 18, pp. 265-278, Nov. 2006.
[5] A. Dunkels, B. Gronvall, and T. Voigt, "Contiki - a lightweight and flexible operating system for tiny networked sensors," in Proc. 29th Annual IEEE Int. Conf. on Local Computer Networks, LCN'04, vol. 10, pp. 455-462, Nov. 2004.
[6] Micrium.uc/os-ii, The Realtime Kernel, Available at http://www.micrium.com/page/products/rtos/os-ii/.
[7] FreeRTOS, A FREE Open Source RTOS for Small Embedded Realtime Systems, Available at http://www.freertos.org.
[8] H. Abrach, S. Bhatti, J. Carlson, H. Dai, J. Rose, A. Sheth, B. Shucker, and R. Han, "MANTIS: system support for multimodal networks of in - situ sensors," in Proc. 2nd ACM Int. Workshop on Wireless Sensor Networks and Applications, vol. 2, pp. 50-59, Sep. 2003.
[9] H. Cha, S. Choi, I. Jung, H. Kim, H. Shin, J. Yoo, and C. Yoon, "RETOS: resilient, expandable, and threaded operating system for wireless sensor networks," in Proc of IPSN 07, vol. 6, pp. 148-157, Apr. 2007.
[10] D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler, "The NesC language: a holistic approach to networked embedded systems," in Proc. Conf. on Programming Language Design and Implementation, ACM Press, vol. 3, pp. 1-11, New York, USA, Jun. 2003.
[11] E. Trumpler and R. Han, "A systematic framework for evolving TinyOS," IEEE Workshop on Embedded Networked Sensors, EmNets2006, vol. 3, pp. 61-65, May 2006.
[12] W. P. McCartney and N. Sridhar, "Abstractions for safe concurrent programming in networked embedded systems," in Proc. of the 4th Int. Conf. on Embedded Networked Sensor System, vol. 4, pp. 167-180, Oct. 2006.
[13] C. Duffy, U. Roedig, J. Herbert, and C. J. Sreenan, "Adding preemption to TinyOS," in Proc. of the Fourth Workshop on Embedded Networked Sensors, EmNets2007, vol. 4, pp. 88-92, Cork, Ireland. ACM Press, Jun. 2007.
[14] A. Dunkels, O. Schmidt, and T. Voigt, "Using protothreads for sensor node programming," in Proc. of the Workshop on Real - World Wireless Sensor Networks, vol. 1, pp. 47-51, Stockholm, Sweden, Jun. 2005.
[15] B. L. Titzer, D. K. Lee, and J. Palsberg, "Avrora: scalable sensor network simulation with precise timing," Information Processing in Sensor Networks, vol. 4, no. 1, pp. 477-482, Apr. 2005.
[16] TinyOS 2.x Index of Contributed Code, Available at http://docs.tinyos.net/index.php/TinyOS_2.x_index_of_contributed_code