Bundle: A Group-Based Programming Abstraction for Cyber-Physical Systems

This paper describes a novel group-based programming abstraction called a “Bundle” for cyber-physical systems (CPS). Similar to other programming abstractions, a Bundle creates logical collections of sensing devices. However, previous abstractions were focused on wireless sensor networks (WSNs) and did not address key aspects of CPS. Bundles elevate the programming domain from a single WSN to complex systems of systems by allowing the programming of applications involving multiple CPSs that are controlled by different administrative domains and support mobility both within and across CPSs. Bundles can seamlessly group not only sensors, but also actuators which constitute an important part of CPS. They enable programming in a multiuser environment with fine grained access right control and conflict resolution mechanism. Bundles support heterogeneous devices, such as motes, PDAs, laptops, and actuators according to the applications' requirements. They allow different applications to simultaneously use the same sensors and actuators. Bundles facilitate feedback control mechanisms by dynamic membership update and requirements reconfiguration based on feedback from the current members. The Bundle abstraction is implemented in Java which ensures ease and conciseness of programming. We present the design and implementation details of Bundles as well as a performance evaluation using 32 applications written with Bundles. This set includes across-network applications that have sophisticated sensing and actuation logic, mobile nodes that are heterogeneous, and feedback control mechanisms. Each of these applications is programmed in less than 60 lines of code.

[1]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

[2]  Gang Zhou,et al.  Achieving Long-Term Surveillance in VigilNet , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

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

[4]  Ramesh Govindan,et al.  Macro-programming Wireless Sensor Networks Using Kairos , 2005, DCOSS.

[5]  Kamin Whitehouse,et al.  Semantic Streams: A Framework for Composable Semantic Interpretation of Sensor Data , 2006, EWSN.

[6]  Ilia Petrov,et al.  Towards Declarative Query Scoping in Sensor Networks , 2010, From Active Data Management to Event-Based Systems and More.

[7]  Enamul Hoque,et al.  Physicalnet: A Generic Framework for Managing and Programming Across Pervasive Computing Networks , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

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

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

[10]  Ryan Newton,et al.  Region streams: functional macroprogramming for sensor networks , 2004, DMSN '04.

[11]  GovindanRamesh,et al.  The Tenet architecture for tiered sensor networks , 2010 .

[12]  Abdelsalam Helal,et al.  Atlas: A Service-Oriented Sensor Platform: Hardware and Middleware to Enable Programmable Pervasive Spaces , 2006, Proceedings. 2006 31st IEEE Conference on Local Computer Networks.

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

[14]  Tarek F. Abdelzaher,et al.  EnviroSuite: An environmentally immersive programming framework for sensor networks , 2006, TECS.

[15]  Liviu Iftode,et al.  Spatial programming using smart messages: design and implementation , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[16]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[17]  David E. Culler,et al.  Supporting aggregate queries over ad-hoc wireless sensor networks , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[18]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[19]  Deborah Estrin,et al.  The Tenet architecture for tiered sensor networks , 2006, SenSys '06.

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

[21]  Pedro José Marrón,et al.  Generic role assignment for wireless sensor networks , 2004, EW 11.

[22]  David E. Culler,et al.  Design of a wireless sensor network platform for detecting rare, random, and ephemeral events , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[23]  Gruia-Catalin Roman,et al.  sChat: a group communication service over wireless sensor networks , 2007, IPSN.

[24]  Ilia Petrov,et al.  Structuring Sensor Networks with Scopes , 2008 .

[25]  Liviu Iftode,et al.  Spatial Views: Space-Aware Programming for Networks of Embedded Systems , 2003, LCPC.

[26]  Luca Mottola,et al.  Logical Neighborhoods: A Programming Abstraction for Wireless Sensor Networks , 2006, DCOSS.

[27]  Ilia Petrov,et al.  From Active Data Management to Event-Based Systems and More , 2010, Lecture Notes in Computer Science.

[28]  Tian He,et al.  Essentia: Architecting Wireless Sensor Networks Asymmetrically , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

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

[30]  Feng Zhao,et al.  TinyGALS: a programming model for event-driven embedded systems , 2003, SAC '03.

[31]  Amy L. Murphy,et al.  TinyLIME: bridging mobile and sensor networks through middleware , 2005, Third IEEE International Conference on Pervasive Computing and Communications.