Trace-Checking CPS Properties: Bridging the Cyber-Physical Gap

Cyber-physical systems combine software and physical components. Specification-driven trace-checking tools for CPS usually provide users with a specification language to express the requirements of interest, and an automatic procedure to check whether these requirements hold on the execution traces of a CPS. Although there exist several specification languages for CPS, they are often not sufficiently expressive to allow the specification of complex CPS properties related to the software and the physical components and their interactions. In this paper, we propose (i) the Hybrid Logic of Signals (HLS), a logic-based language that allows the specification of complex CPS requirements, and (ii) ThEodorE, an efficient SMT-based trace-checking procedure. This procedure reduces the problem of checking a CPS requirement over an execution trace, to checking the satisfiability of an SMT formula. We evaluated our contributions by using a representative industrial case study in the satellite domain. We assessed the expressiveness of HLS by considering 212 requirements of our case study. HLS could express all the 212 requirements. We also assessed the applicability of ThEodorE by running the trace-checking procedure for 747 trace-requirement combinations. ThEodorE was able to produce a verdict in 74.5% of the cases. Finally, we compared HLS and ThEodorE with other specification languages and trace-checking tools from the literature. Our results show that, from a practical standpoint, our approach offers a better trade-off between expressiveness and performance.

[1]  André Platzer,et al.  Logical Foundations of Cyber-Physical Systems , 2018, Springer International Publishing.

[2]  Lionel C. Briand,et al.  Model-Driven Trace Diagnostics for Pattern-based Temporal Specifications , 2018, MoDELS.

[3]  Dejan Nickovic,et al.  Specification-Based Monitoring of Cyber-Physical Systems: A Survey on Theory, Tools and Applications , 2018, Lectures on Runtime Verification.

[4]  Bernd Finkbeiner,et al.  A Stream-Based Specification Language for Network Monitoring , 2016, RV.

[5]  Dejan Nickovic,et al.  Monitoring Temporal Properties of Continuous Signals , 2004, FORMATS/FTRTFT.

[6]  Thomas A. Henzinger,et al.  Towards Refining Temporal Specifications into Hybrid Systems , 1992, Hybrid Systems.

[7]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[8]  Carlo Ghezzi,et al.  Offline Trace Checking of Quantitative Properties of Service-Based Applications , 2014, 2014 IEEE 7th International Conference on Service-Oriented Computing and Applications.

[9]  Dejan Nickovic,et al.  Trace Diagnostics Using Temporal Implicants , 2015, ATVA.

[10]  Sylvain Conchon,et al.  The SMT Competition 2015-2018 , 2019, J. Satisf. Boolean Model. Comput..

[11]  M. Anthony Aiello,et al.  SpeAR v2.0: Formalized Past LTL Specification and Analysis of Requirements , 2017, NFM.

[12]  Dejan Nickovic,et al.  AMT 2.0: qualitative and quantitative trace analysis with extended signal temporal logic , 2018, International Journal on Software Tools for Technology Transfer.

[13]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[14]  César Sánchez,et al.  Striver: Stream Runtime Verification for Real-Time Event-Streams , 2018, RV.

[15]  Rajeev Alur,et al.  Principles of Cyber-Physical Systems , 2015 .

[16]  Pascal Bouvry,et al.  Management of an academic HPC cluster: The UL experience , 2014, 2014 International Conference on High Performance Computing & Simulation (HPCS).

[17]  Sriram Sankaranarayanan,et al.  S-TaLiRo: A Tool for Temporal Logic Falsification for Hybrid Systems , 2011, TACAS.

[18]  Domenico Bianculli,et al.  Trace-Checking Signal-based Temporal Properties: A Model-Driven Approach , 2020, 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[19]  Davide Bresolin,et al.  HyLTL: a temporal logic for model checking hybrid systems , 2013, HAS.

[20]  Lionel C. Briand,et al.  Generating automated and online test oracles for Simulink models with continuous and uncertain behaviors , 2019, ESEC/SIGSOFT FSE.

[21]  Aitor Arrieta,et al.  A Tool for the Automatic Generation of Test Cases and Oracles for Simulation Models Based on Functional Requirements , 2020, 2020 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[22]  Carlo Ghezzi,et al.  SMT-Based Checking of SOLOIST over Sparse Traces , 2014, FASE.

[23]  Thomas Ferrère,et al.  Efficient Robust Monitoring for STL , 2013, CAV.

[24]  Johann Schumann,et al.  Generation of Formal Requirements from Structured Natural Language , 2020, REFSQ.

[25]  Lubos Brim,et al.  STL⁎: Extending signal temporal logic with signal-value freezing operator , 2014, Inf. Comput..

[26]  M. C. W. Kaiserling Sirius , 1982, Cryptologia.

[27]  Dejan Nickovic,et al.  Mixed-Time Signal Temporal Logic , 2019, FORMATS.

[28]  Dejan Nickovic,et al.  RTAMT: Online Robustness Monitors from STL , 2020, ATVA.

[29]  Marco Roveri,et al.  HRELTL: A temporal logic for hybrid systems , 2015, Inf. Comput..

[30]  Cesare Tinelli,et al.  CoCoSpec: A Mode-Aware Contract Language for Reactive Systems , 2016, SEFM.

[31]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[32]  André Platzer,et al.  Differential Dynamic Logic for Hybrid Systems , 2008, Journal of Automated Reasoning.

[33]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[34]  Dejan Nickovic,et al.  The first-order logic of signals: keynote , 2018, EMSOFT.