Achieving dependability in sensor networks through automated requirements-based programming

A sensor network can be viewed as a distributed system consisting of many nodes (processes) that communicate and exchange data. Such a system, including an application running on top of the sensor network, is inherently difficult to model and validate. System requirements and actual application code may not be consistent, with the implementation failing to implement all of the requirements, or failing to implement them correctly. Requirements can be expressed as a set of services that the sensor network should provide. Each service may be described using one or more scenarios. For the classes of systems whose behavior can be described as a finite (but significant) set of scenarios, we offer a method for mechanically transforming requirements (expressed in restricted natural language, or in other appropriate notations) into a provably equivalent formal model that can be used as the basis for code generation and other transformations. This represents a significant step forward toward high-dependability system engineering for numerous possible application domains, including sensor networks.

[1]  Stephan Olariu,et al.  On modeling wireless sensor networks , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[2]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[3]  Stephen A. Jarvis,et al.  Concurrent systems - formal development in CSP , 1995, McGrawhill international series in software engineering.

[4]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[5]  Walter Truszkowski,et al.  Some autonomic properties of two legacy multi-agent systems - LOGOS and ACT , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[6]  H. J. van Zuylen The REDO compendium: reverse engineering for software maintenance , 1993 .

[7]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1995, IEEE Softw..

[8]  David Harel,et al.  From Play-In Scenarios to Code: An Achievable Dream , 2000, Computer.

[9]  Kevin Lano,et al.  Specification in B: An Introduction Using the B Toolkit , 1996 .

[10]  Michael J. Butler csp2B: A Practical Approach to Combining CSP and B , 1999, World Congress on Formal Methods.

[11]  Christopher A. Rouff,et al.  Experience using formal methods for specifying a multi-agent system , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[12]  Mike Hinchey,et al.  Verification and validation of autonomous systems , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[13]  Ian F. Akyildiz,et al.  Sensor Networks , 2002, Encyclopedia of GIS.

[14]  Jon Whittle,et al.  From scenarios to code: An air traffic control case study , 2004, Software & Systems Modeling.

[15]  M.G. Hinchey,et al.  Autonomous and autonomic systems: a paradigm for future space exploration missions , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[16]  Jonathan P. Bowen,et al.  Applications of Formal Methods , 1995 .

[17]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[18]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .