Abstract

The value of verification of cyberphysical systems 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 and different timelines 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. The purpose of the transition system model is to enable model checking, an established and widely used verification technique. 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. We propose an approach for formal verification of cyberphysical systems using Lingua Franca, a language designed for programming cyberphysical systems, and Rebeca, an actor-based language designed for model checking distributed event-driven systems. We focus on the cyber part and model a faithful interface to the physical part. Our method relies on the assumption that the alignment of different timelines during the execution of the system is the responsibility of the underlying platforms. We make those assumptions explicit and clear.

Highlights

  • Cyberphysical systems (CPSs) are all around us, as in industrial control systems, robotics, smart grids, autonomous cars, and medical devices

  • While mapping Lingua Franca programs to Timed Rebeca we only use the after construct; it is used to increase the value of the logical timetag of the message, like in LF

  • The combination of a language like Lingua Franca with an explicit model of time, and a model checking tool like Timed Rebeca with Afra can prove quite effective for finding several bugs

Read more

Summary

Introduction

Cyberphysical systems (CPSs) are all around us, as in industrial control systems, robotics, smart grids, autonomous cars, and medical devices. The controller consists of discrete software with concurrent components operating in multiple possible modes, interacting with the continuously evolving physical environment Such systems are often modeled with a mix of finite automata and continuous dynamics, where mode transitions are modeled by discrete, instantaneous state transitions in an automaton, and each state of the automaton is associated with a distinct model of the continuous dynamics. Lingua Franca is a programming language based on the Reactor model of computation [12] for building cyberphysical systems.

The Lingua Franca Language
The Simple Train Door Controller in Lingua Franca
The Timed Rebeca Language
A Simple Train Door Controller in Timed Rebeca
Mapping of Reactors to Timed Rebeca with Priorities
Constructing a Transition System Model
Logical-Time-Based and Event-Based Semantics
The State-Transition Diagram and the Safety Property of the Example
Extending the Simple Train Door Controller
The Train Door Controller with Timing Features
The Train Door Controller and a Passenger
A Quick Overview of Related Work
Discussion and Future
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call