A cooperative multitasking model for networked sensors

This paper proposes a concurrency model which integrates the asynchronous and event-driven nature of networked sensors with a more familiar programming style for the developer. We argue that coroutines can provide a basis for this integration and describe some details of its implementation, which was developed as an extension to the TinyOS operating system.

[1]  Tarek F. Abdelzaher,et al.  liteOS: a lightweight operating system for C++ software development in sensor networks , 2006, ACM International Conference on Embedded Networked Sensor Systems.

[2]  Christopher D. Marlin A programming language with coroutines , 1980 .

[3]  Mani B. Srivastava,et al.  SensorSim: a simulation framework for sensor networks , 2000, MSWIM '00.

[4]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[5]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[6]  Bonnie S. Heck-Ferri,et al.  Simulation of large-scale sensor networks using GTSNetS , 2005, 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[7]  Noemi de La Rocque Rodriguez,et al.  Integrating Remote Invocations with Asynchronism and Cooperative Multitasking , 2008, Parallel Process. Lett..

[8]  Ian F. Akyildiz,et al.  Wireless sensor networks: a survey , 2002, Comput. Networks.

[9]  Chris D. Marlin Coroutines: A Programming Methodology, a Language Design and an Implementation , 1980, Lecture Notes in Computer Science.

[10]  A. F. Adams,et al.  The Survey , 2021, Dyslexia in Higher Education.

[11]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[12]  David E. Culler,et al.  TOSSIM: accurate and scalable simulation of entire TinyOS applications , 2003, SenSys '03.

[13]  Mike Horton,et al.  The platforms enabling wireless sensor networks , 2004, CACM.

[14]  John S. Baras,et al.  ATEMU: a fine-grained sensor network simulator , 2004, 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004. IEEE SECON 2004..

[15]  Roberto Ierusalimschy,et al.  Coroutines in Lua , 2004 .

[16]  Nigamanth Sridhar,et al.  Abstractions for safe concurrent programming in networked embedded systems , 2006, SenSys '06.

[17]  David M. Nicol,et al.  Network modeling and simulation: a scalable simulator for TinyOS applications , 2002, WSC '02.

[18]  Klara Nahrstedt,et al.  Analysis of Topology Aggregation techniques for QoS routing , 2007, CSUR.

[19]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[20]  Ralf S. Engelschall Portable Multithreading-The Signal Stack Trick for User-Space Thread Creation , 2000, USENIX Annual Technical Conference, General Track.

[21]  Deborah Estrin,et al.  Guest Editors' Introduction: Overview of Sensor Networks , 2004, Computer.

[22]  Mani Srivastava,et al.  Overview of sensor networks , 2004 .

[23]  Adam Dunkels,et al.  Using Protothreads for Sensor Node Programming , 2005 .

[24]  Andrew D. Birrell,et al.  An Introduction to Programming with Threads , 1996 .

[25]  Eduardo F. Nakamura,et al.  Information fusion for wireless sensor networks: Methods, models, and classifications , 2007, CSUR.

[26]  Mark G. Terwilliger,et al.  Overview of Sensor Networks , 2004 .

[27]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[28]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[29]  Jeff Rose,et al.  MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms , 2005, Mob. Networks Appl..