Brace: assertion-driven development of cyber-physical systems applications

Developing cyber-physical systems (CPS) is challenging because correctness depends on both logical and physical states, which are difficult to observe collectively. Developers must repeatedly rerun the system, often in different physical environments, while observing its behavior. The developers then tweak the hardware and software until the entire system appears to meet some minimum requirements. This process is tedious, error-prone, and lacks rigor. In addition, there are always underlying and often unstated assumptions about the physical environment that are subject to variance; these assumptions should be captured early and explicitly in the development process. To address these issues, we present Brace, a framework that allows developers to explicitly specify both physical and logical assumptions and expected behaviors. Brace then enables run-time checking of these combined physical and logical specifications, provided in the form of assertions, using the physical environment in which a CPS application is running. Brace uses physics models and temporal semantics to guide CPS developers in creating appropriate assertions and to check specified assertions for inconsistencies with the physical world. This paper presents our initial investigation into the requirements and semantics of such assertions, which we call cyber-physical assertions, and the realization of cyber-physical assertions within the Brace framework. We discuss our experience implementing and using Brace with a variety of sensors.

[1]  Hari Balakrishnan,et al.  6th ACM/IEEE International Conference on on Mobile Computing and Networking (ACM MOBICOM ’00) The Cricket Location-Support System , 2022 .

[2]  Charles Consel,et al.  A domain-specific approach to architecturing error handling in pervasive computing , 2010, OOPSLA.

[3]  Marcelo d'Amorim,et al.  A Formal Monitoring-Based Framework for Software Development and Analysis , 2004, ICFEM.

[4]  Eran Yahav,et al.  Asynchronous assertions , 2011, OOPSLA '11.

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

[6]  Kamin Whitehouse,et al.  Macrodebugging: global views of distributed program execution , 2009, SenSys '09.

[7]  David S. Rosenblum,et al.  A historical perspective on runtime assertion checking in software development , 2006, SOEN.

[8]  Paul R. Cohen,et al.  Camera Calibration with Distortion Models and Accuracy Evaluation , 1992, IEEE Trans. Pattern Anal. Mach. Intell..

[9]  Prashant J. Shenoy,et al.  Ferret: RFID Localization for Pervasive Multimedia , 2006, UbiComp.

[10]  Kamin Whitehouse,et al.  Declarative tracepoints: a programmable and application independent debugging system for wireless sensor networks , 2008, SenSys '08.

[11]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

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

[13]  Koushik Sen,et al.  Asserting and checking determinism for multithreaded programs , 2009, ESEC/FSE '09.

[14]  Albert L. Baker,et al.  Preliminary design of JML: a behavioral interface specification language for java , 2006, SOEN.

[15]  Jonathan W. Hui,et al.  Marionette: using RPC for interactive development and debugging of wireless embedded networks , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[16]  Myong-Soon Park,et al.  An indoor localization mechanism using active RFID tag , 2006, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06).

[17]  Amy L. Murphy,et al.  What does model-driven data acquisition really achieve in wireless sensor networks? , 2012, 2012 IEEE International Conference on Pervasive Computing and Communications.

[18]  Kay Römer,et al.  PDA: Passive distributed assertions for sensor networks , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[19]  Rance Cleaveland,et al.  An Instrumentation-Based Approach to Controller Model Validation , 2006, ASWSD.

[20]  Jiawei Han,et al.  Dustminer: troubleshooting interactive complexity bugs in sensor networks , 2008, SenSys '08.

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

[22]  John D. Valois Lock-free linked lists using compare-and-swap , 1995, PODC '95.

[23]  Christine Julien,et al.  BRACE: An assertion framework for debugging cyber-physical systems , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[24]  Deborah Estrin,et al.  Sympathy for the sensor network debugger , 2005, SenSys '05.

[25]  Tian He,et al.  FIND: faulty node detection for wireless sensor networks , 2009, SenSys '09.

[26]  Kent Beck,et al.  Test-infected: programmers love writing tests , 2000 .

[27]  Gang Zhou,et al.  Achieving Repeatability of Asynchronous Events in Wireless Sensor Networks with EnviroLog , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.