Mode-oriented hybrid programming of sensor network nodes for supporting rapid and flexible utility assembly

Abstract A number of utility programs (utilities for short) have been developed to fulfill application requirements and to assist user operations such as deployment validation and fault diagnosis throughout the lifespan of wireless sensor networks (WSNs). Because these utilities exhibit diverse behaviors and are required to be loaded at various stages, utility integration is a non-trivial task for developers. To support the rapid and flexible assembly of utilities into sensor node firmware, we formulate the utility management problem as a mode-scheduling procedure, in which utilities are grouped into multiple modes and the sensor node switches between modes to run only the corresponding utilities to address application and user needs. The key contribution of this article is a novel mode-oriented programming model, in which code is organized around modes and modules for the clear abstraction of the mode-scheduling procedure. To facilitate utility assembly, the proposed model supports hybrid programming, i.e., simple declarative configuration descriptions can be used to specify the mode-scheduling logic and to load the utility modules implemented with general-purpose imperative languages. To improve system flexibility, the developer’s descriptions are compiled into a compact configuration profile that will be used by a mode scheduler embedded in a WSN operating system to automatically control the mode scheduling. We have developed a Draft platform to support the proposed programming model, including a development environment and WSN middleware implementing the mode scheduler. Our evaluation results show that Draft achieves reduced development complexity and node reconfiguration cost.

[1]  Viktor K. Prasanna,et al.  The Abstract Task Graph: a methodology for architecture-independent programming of networked sensor systems , 2005, EESR '05.

[2]  Kamin Whitehouse,et al.  Clairvoyant: a comprehensive source-level debugger for wireless sensor networks , 2007, SenSys '07.

[3]  Simon A. Dobson,et al.  Failure detection in wireless sensor networks: A sequence-based dynamic approach , 2014, TOSN.

[4]  Wouter Joosen,et al.  LooCI: a loosely-coupled component infrastructure for networked embedded systems , 2009, MoMM.

[5]  Luca Mottola,et al.  Programming wireless sensor networks , 2011, ACM Comput. Surv..

[6]  Cecilia Mascolo,et al.  The RUNES Middleware for Networked Embedded Systems and its Application in a Disaster Management Scenario , 2007, Fifth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom'07).

[7]  Ahmad H. Dehwah,et al.  Lessons learned on solar powered wireless sensor network deployments in urban, desert environments , 2015, Ad Hoc Networks.

[8]  Lufeng Mo,et al.  Passive Diagnosis for WSNs Using Data Traces , 2012, 2012 IEEE 8th International Conference on Distributed Computing in Sensor Systems.

[9]  Vittorio Cortellessa,et al.  Energy-Driven Reconfiguration of Applications for Wireless Sensor Networks , 2018, ICPE Companion.

[10]  Guillaume Zufferey,et al.  SensorTune: a mobile auditory interface for DIY wireless sensor networks , 2010, CHI.

[11]  John Anderson,et al.  Wireless sensor networks for habitat monitoring , 2002, WSNA '02.

[12]  M. Welsh,et al.  The Regiment Macroprogramming System , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[13]  Carlo Ghezzi,et al.  Software Adaptation in Wireless Sensor Networks , 2018, ACM Trans. Auton. Adapt. Syst..

[14]  Pai H. Chou,et al.  Enix: a lightweight dynamic operating system for tightly constrained wireless sensor platforms , 2010, SenSys '10.

[15]  Hojung Cha,et al.  RETOS: Resilient, Expandable, and Threaded Operating System for Wireless Sensor Networks , 2007, 2007 6th International Symposium on Information Processing in Sensor Networks.

[16]  Hojung Cha,et al.  Sensible Doctor - A Mobile Diagnosis Tool for Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[17]  Yunhao Liu,et al.  Link Scanner: Faulty Link Detection for Wireless Sensor Networks , 2015, IEEE Transactions on Wireless Communications.

[18]  Kenji Tei,et al.  Model-Driven-Development-Based Stepwise Software Development Process for Wireless Sensor Networks , 2015, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[19]  Sonia Fahmy,et al.  Feluda: Provenance-Enabled Diagnosis of Elusive Network Failures in Wireless Sensor Networks , 2016, 2016 13th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON).

[20]  Valérie Issarny,et al.  Configuration-Based Programming Systems , 1997, SOFSEM.

[21]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[22]  Yunhao Liu,et al.  Agnostic diagnosis: Discovering silent failures in wireless sensor networks , 2011, 2011 Proceedings IEEE INFOCOM.

[23]  Sang Hyuk Son,et al.  Run time assurance of application-level requirements in wireless sensor networks , 2010, IPSN '10.

[24]  Inês Lynce,et al.  Apt-pbo: solving the software dependency problem using pseudo-boolean optimization , 2010, ASE.

[25]  Gregor Kiczales Aspect-oriented programming , 2005, ICSE '05.

[26]  Yuan He,et al.  Stethoscope: A Sustainable Runtime Debugger for Wireless Sensor Networks , 2015, 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS).

[27]  John A. Stankovic,et al.  LUSTER: wireless sensor network for environmental research , 2007, SenSys '07.

[28]  Shuhui Yang,et al.  Sensor Networks for Cyber Physical Systems , 2015, Ad Hoc Sens. Wirel. Networks.

[29]  Klaus Wehrle,et al.  KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment , 2010, IPSN '10.

[30]  Luca Mottola,et al.  FiGaRo: Fine-Grained Software Reconfiguration for Wireless Sensor Networks , 2008, EWSN.

[31]  Clémentin Tayou Djamégni,et al.  ISCP: An Instantaneous and Secure Clustering Protocol for Wireless Sensor Networks , 2018, Netw. Protoc. Algorithms.

[32]  Chenyang Lu,et al.  Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[33]  Richard Han,et al.  NodeMD: diagnosing node-level faults in remote wireless sensor systems , 2007, MobiSys '07.

[34]  Raghu Ramakrishnan,et al.  Database Management Systems , 1976 .

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

[36]  Han He,et al.  Security threats and measures for the Internet of Things , 2011 .

[37]  Giuseppe Lo Re,et al.  Adaptive Distributed Outlier Detection for WSNs , 2015, IEEE Transactions on Cybernetics.

[38]  F. Schreiber,et al.  PerLa: A Language and Middleware Architecture for Data Management and Integration in Pervasive Information Systems , 2012, IEEE Transactions on Software Engineering.

[39]  Wei Hong,et al.  TASK: sensor network in a box , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[40]  Peng Li,et al.  T-check: bug finding for sensor networks , 2010, IPSN '10.

[41]  Tarek F. Abdelzaher,et al.  The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[42]  Frank Eliassen,et al.  Optimizing sensor network reprogramming via in situ reconfigurable components , 2013, TOSN.

[43]  Gang Zhou,et al.  Prototyping Wearables: A Code-First Approach to the Design of Embedded Systems , 2016, IEEE Internet of Things Journal.

[44]  Richard Han,et al.  FireWxNet: a multi-tiered portable wireless system for monitoring weather conditions in wildland fire environments , 2006, MobiSys '06.

[45]  Ramesh Govindan,et al.  Reliable and efficient programming abstractions for wireless sensor networks , 2007, PLDI '07.

[46]  Ingrid Moerman,et al.  GITAR: Generic extension for Internet-of-Things ARchitectures enabling dynamic updates of network and application modules , 2016, Ad Hoc Networks.

[47]  Kamin Whitehouse,et al.  MacroLab: a vector-based macroprogramming framework for cyber-physical systems , 2008, SenSys '08.

[48]  Peter A. Dinda,et al.  Archetype-based design: Sensor network programming for application experts, not just programming experts , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[49]  Kebin Liu,et al.  Directional diagnosis for wireless sensor networks , 2015, 2011 International Conference on Distributed Computing in Sensor Systems and Workshops (DCOSS).

[50]  Kay Römer,et al.  makeSense: Simplifying the Integration of Wireless Sensor Networks into Business Processes , 2019, IEEE Transactions on Software Engineering.

[51]  Ryan J. Halter,et al.  Amulet: An Energy-Efficient, Multi-Application Wearable Platform , 2016, SenSys.

[52]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[53]  David E. Culler,et al.  Challenging the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL): A Survey , 2017, IEEE Communications Surveys & Tutorials.

[54]  Adam Dunkels,et al.  Software-based on-line energy estimation for sensor nodes , 2007, EmNets '07.

[55]  Gordon J. Pace,et al.  D'Artagnan: An Embedded DSL Framework for Distributed Embedded Systems , 2018, RWDSL2018.

[56]  Evan H. Magill,et al.  REED: Flexible rule based programming of wireless sensor networks at runtime , 2012, Comput. Networks.

[57]  Jiawei Han,et al.  Power watermarking: Facilitating power-based diagnosis of node silence in remote high-end sensing systems , 2011, Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks.

[58]  Matt Welsh,et al.  Resource aware programming in the Pixie OS , 2008, SenSys '08.

[59]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[60]  Wouter Joosen,et al.  DAVIM: Adaptable Middleware for Sensor Networks , 2008, IEEE Distributed Systems Online.

[61]  Yunhao Liu,et al.  SenSpire OS: A Predictable, Flexible, and Efficient Operating System for Wireless Sensor Networks , 2011, IEEE Transactions on Computers.

[62]  Wei Dong,et al.  TinyLink: A Holistic System for Rapid Development of IoT Applications , 2017, MobiCom.

[63]  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.

[64]  Miguel Garcia,et al.  Saving Energy in Wireless Local Area Sensor Networks , 2010, Comput. J..

[65]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms (Working Paper) , 1971, SWAT.

[66]  Cecilia Mascolo,et al.  Evolution and sustainability of a wildlife monitoring sensor network , 2010, SenSys '10.