Model Checking Software in Cyberphysical Systems
2020 (English)In: Proceedings - 2020 IEEE 44th Annual Computers, Software, and Applications Conference, COMPSAC 2020, Institute of Electrical and Electronics Engineers Inc. , 2020, p. 1017-1026Conference paper, Published paper (Refereed)
Abstract [en]
Model checking a software system is about verifying that the state trajectory of every execution of the software satisfies formally specified properties. The set of possible executions is modeled as a transition system. Each 'state' in the transition system represents an assignment of values to variables, and a state trajectory (a path through the transition system) is a sequence of such assignments. For cyberphysical systems (CPSs), however, we are more interested in the state of the physical system than the values of the software variables. The value of model checking the software therefore depends on the relationship between the state of the software and the state of the physical system. This relationship can be complex because of the real-time nature of the physical plant, the sensors and actuators, and the software that is almost always concurrent and distributed. In this paper, we study different ways to construct a transition system model for the distributed and concurrent software components of a CPS. We describe a logical-time based transition system model, which is commonly used for verifying programs written in synchronous languages, and derive the conditions under which such a model faithfully reflects physical states. When these conditions are not met (a common situation), a finer-grained event-based transition system model may be required. Even this finer-grained model, however, may not be sufficiently faithful, and the transition system model needs to be refined further to express not only the properties of the software, but also the properties of the hardware on which it runs. We illustrate these tradeoffs using a coordination language called Lingua Franca that is well-suited to extracting transition system models at these various levels of granularity, and we extend the Timed Rebeca language and its tool Afra to perform this extraction and then to perform model checking.
Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc. , 2020. p. 1017-1026
Keywords [en]
Cyberphysical systems, Lingua Franca, Model checking, Rebeca, Verification, Application programs, Embedded systems, Industrial plants, Concurrent software, Coordination language, Cyber physical systems (CPSs), Model checking software, Sensors and actuators, Software systems, Synchronous languages, Transition system
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:mdh:diva-52657DOI: 10.1109/COMPSAC48688.2020.0-138ISI: 000629086600131Scopus ID: 2-s2.0-85090856317ISBN: 9781728173030 (print)OAI: oai:DiVA.org:mdh-52657DiVA, id: diva2:1502346
Conference
44th IEEE Annual Computers, Software, and Applications Conference, COMPSAC 2020; Virtual, Madrid; Spain; 13 July 2020 through 17 July 2020; Category numberCFP20061-ART; Code 163263
2020-11-192020-11-192021-04-29Bibliographically approved