Chapter

Model Checking Software

Volume 5578 of the series Lecture Notes in Computer Science pp 223-240

Towards Verifying Correctness of Wireless Sensor Network Applications Using Insense and Spin

  • Oliver SharmaAffiliated withDepartment of Computing Science, University of Glasgow
  • , Jonathan LewisAffiliated withSchool of Computer Science, University of St. Andrews
  • , Alice MillerAffiliated withDepartment of Computing Science, University of Glasgow
  • , Al DearleAffiliated withSchool of Computer Science, University of St. Andrews
  • , Dharini BalasubramaniamAffiliated withSchool of Computer Science, University of St. Andrews
  • , Ron MorrisonAffiliated withSchool of Computer Science, University of St. Andrews
  • , Joe SventekAffiliated withDepartment of Computing Science, University of Glasgow

Abstract

The design and implementation of wireless sensor network applications often require domain experts, who may lack expertise in software engineering, to produce resource-constrained, concurrent, real-time software without the support of high-level software engineering facilities. The Insense language aims to address this mismatch by allowing the complexities of synchronisation, memory management and event-driven programming to be borne by the language implementation rather than by the programmer. The main contribution of this paper is an initial step towards verifying the correctness of WSN applications with a focus on concurrency. We model part of the synchronisation mechanism of the Insense language implementation using Promela constructs and verify its correctness using Spin. We demonstrate how a previously published version of the mechanism is shown to be incorrect by Spin, and give complete verification results for the revised mechanism.

Keywords

Concurrency Distributed systems Formal Modelling Wireless Sensor Networks