Systematic testing of cyber-physical systems (SyTeC)

The SyTeC project aims to improve the development process of safety-critical cyber-physical systems (CPSs)— engineered systems that are built from, and depend upon, the seamless integration of computational algorithms and physical components. CPSs encompass both discrete-event (logical) and continuous (numerical) dynamics; they are so-called hybrid systems. A modern passenger car is an illustrative example, with a very complex design, around 100 separate electronic control units (ECUs) that communicate with each other over several communication buses, and very complex functionality, dealing with both discrete events and continuous signals. Software controlling physical entities is hard to get right—but it must be right, and bugs must be found in time, if we are to avoid fatalities or high development costs.Swedish industry has a strong tradition in systems engineering, and recent advances in sensing, computation, control, and communication will make CPSs much more autonomous — but also more complex, bringing new challenges especially for safety critical components of the system. CPSs are designed by large diverse teams, and often have long

Swedish industry has a strong tradition in systems engineering, and recent advances in sensing, computation, control, and communication will make CPSs much more autonomous—but also more complex, bringing new challenges especially for safety critical components of the system. CPSs are designed by large diverse teams, and often have long lifetimes, and, like cars, exist in millions of copies each used for hours daily. We want to aid the development process for these kinds of systems such that more faults can be detected, earlier. Detecting faults earlier has the added benefit of shortening development time and therefore reducing costs.

Model-based development of CPSs is widely used in industry; models of the full system includ- ing software, hardware, communication but also the physical environment. The models are used for simulation, control design and code generation. Requirements of CPSs are typically tested by simulating the closed-loop system for a number of manually defined test scenarios — which thus depend on the ingenuity of single engineers, are rarely structured, motivated or documented, and are time-consuming and unlikely to test the system adequately. The expected dramatic increase in the complexity of CPS software, together with ubiquitous problems of assuring software quality, bring a need for novel theory and methods to support the testing of CPSs.

The SyTeC project will develop new theory and methods by analyzing a model of the closed- loop system together with the specifications of the intended behavior and from there generate tests that aim to fail. The model of the system describes what is possible, while the specification describes what is desired. The aim of analysing the model and the specifications together is to find inputs (test vectors) that aim to drive the system out into undesired (but possible) regions, and thus trigger faults. Once such a failing sequence of inputs has been found, these need to be automatically pruned to arrive at as short a sequence as possible. One problem with CPS is that the state-space is infinite due to the continuous parts, so it is not at all obvious how to efficiently prune such input sequences, but the model should be able to assist also in the pruning. As has been demonstrated by the work of Prof. Murray, partitioning the continuous state-space into polytopes computes a finite-state abstraction, which may be used both for guiding the test case generation and pruning the counter examples. However, an added complication is that CPS models typically contain uncertainty in the parameters that describe the system, as well as in the signals affecting the system.

Solving the above problems requires expertise in automated testing, specification language design, control systems, hybrid systems, and the specific application domain.

The SyTeC project is an interdisciplinary collaboration between researchers in computer science and control engineering. The main partners are the Functional Programming group at Chalmers (experts in property-based testing and domain-specific languages), the Division of Systems and Control at Chalmers (experts in synthesis and formal verification of control systems), the research group led by Professor Richard M. Murray at Caltech, USA, and the INRIA PARKAS team led by Professor Marc Pouzet at ENS Paris, France.

The project also involves researchers at Volvo Car Corporation who are experts on the application domain and the industrial state-of-the-art.

The main research question of SyTeC is: How can testing be generalized from testing of standard software to systematic testing of CPSs, including continuous-time and closed-loop dynamics?

Participants

John Hughes (contact)

Professor vid Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Knut Åkesson

Biträdande professor vid Chalmers, Electrical Engineering, Systems and control, Automation

Martin Fabian

Professor vid Chalmers, Electrical Engineering, Systems and control, Automation

Bengt Lennartson

Professor vid Chalmers, Electrical Engineering, Systems and control, Automation

Koen Lindström Claessen

Professor vid Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Zahra Ramezani

Doktorand vid Chalmers, Electrical Engineering, Systems and control, Automation

Mary Sheeran

Professor vid Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Nicholas Smallbone

Forskare vid Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Collaborations

CalTech

Pasadena, USA

Ecole Normale Superieure (ENS)

Paris Cedex 05, France

Volvo Cars

Göteborg, Sweden

Funding

Swedish Research Council (VR)

Funding Chalmers participation during 2017–2022 with 23,166,000.00 SEK

More information

Project Web Page

http://systematictesting.org

Latest update

2017-12-20