Compositional verification of embedded real-time systems

被引:2
|
作者
Foughali, Mohammed [1 ]
Hladik, Pierre-Emmanuel [2 ]
Zuepke, Alexander [3 ]
机构
[1] Univ Paris Cite, CNRS, IRIF, F-75013 Paris, France
[2] Nantes Univ, CNRS, LS2N, F-44000 Nantes, France
[3] Tech Univ Munich, D-85748 Garching, Germany
关键词
Formal methods; Real-time systems; Timed automata; Integer linear programming; FORMAL VERIFICATION; MODEL-CHECKING; SYNCHRONIZATION;
D O I
10.1016/j.sysarc.2023.102928
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In an embedded real-time system (ERTS), real-time tasks (software) are typically executed on a multicore shared-memory platform (hardware). The number of cores is usually small, contrasted with a larger number of complex tasks that share data to collaborate. Since most ERTSs are safety-critical, it is crucial to rigorously verify their software against various real-time requirements under the actual hardware constraints (concurrent access to data, number of cores). Both the real-time systems and the formal methods communities provide elegant techniques to realize such verification, which nevertheless face major challenges. For instance, model checking (formal methods) suffers from the state-space explosion problem, whereas schedulability analysis (real-time systems) is pessimistic and restricted to simple task models and schedulability properties. In this paper, we propose a scalable and generic approach to formally verify ERTSs. The core contribution is enabling, through joining the forces of both communities, compositional verification to tame the state-space size. To that end, we formalize a realistic ERTS model where tasks are complex with an arbitrary number of jobs and job segments, then show that compositional verification of such model is possible, using a hybrid approach (from both communities), under the state-of-the-art partitioned fixed-priority (P-FP) with limited preemption scheduling algorithm. The approach consists of the following steps, given the above ERTS model and scheduling algorithm. First, we compute fine-grained data sharing overheads for each job segment that reads or writes some data from the shared memory. Second, we generalize an algorithm that, aware of the data sharing overheads, computes an affinity (task-core allocation) guaranteeing the schedulability of hard-real-time (HRT) tasks. Third, we devise a timed automata (TA) model of the ERTS, that takes into account the affinity, the data sharing overheads and the scheduling algorithm, on which we demonstrate that various properties can be verified compositionally, i.e., on a subset of cores instead of the whole ERTS, therefore reducing the state-space size. In particular, we enable the scalable computation of tight worst-case response times (WCRTs) and other tight bounds separating events on different cores, thus overcoming the pessimism of schedulability analysis techniques. We fully automate our approach and show its benefits on three real-world complex ERTSs, namely two autonomous robots and an automotive case study from the WATERS 2017 industrial challenge.
引用
下载
收藏
页数:21
相关论文
共 50 条
  • [1] Compositional verification of timing constraints for embedded real-time systems
    Guo, Hui
    Lee, Woo Jin
    PROCEEDINGS OF THE 6TH WSEAS INTERNATIONAL CONFERENCE ON APPLIED COMPUTER SCIENCE, 2007, : 571 - +
  • [2] SPECIFICATION AND COMPOSITIONAL VERIFICATION OF REAL-TIME SYSTEMS
    HOOMAN, J
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 558 : R3 - 235
  • [3] Compositional Analysis of Real-Time Embedded Systems
    Phan, Linh T. X.
    Lee, Insup
    Sokolsky, Oleg
    PROCEEDINGS OF THE PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES '11), 2011, : 237 - 238
  • [4] A compositional framework for real-time embedded systems
    Shin, I
    Lee, I
    SERVICE AVAILABILITY, 2005, 3694 : 137 - 148
  • [5] Runtime verification of embedded real-time systems
    Reinbacher, Thomas
    Fuegger, Matthias
    Brauer, Joerg
    FORMAL METHODS IN SYSTEM DESIGN, 2014, 44 (03) : 203 - 239
  • [6] Runtime Verification of Real-time Embedded Systems
    Bonakdarpour, Borzoo
    Fischmeister, Sebastian
    EMSOFT '12: PROCEEDINGS OF THE TENTH AMC INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE 2012, 2012, : 249 - 250
  • [7] Runtime verification of embedded real-time systems
    Thomas Reinbacher
    Matthias Függer
    Jörg Brauer
    Formal Methods in System Design, 2014, 44 : 203 - 239
  • [8] Compositional verification of real-time systems using Ecdar
    Alexandre David
    Kim. G. Larsen
    Axel Legay
    Mikael H. Møller
    Ulrik Nyman
    Anders P. Ravn
    Arne Skou
    Andrzej Wąsowski
    International Journal on Software Tools for Technology Transfer, 2012, 14 (6) : 703 - 720
  • [9] Compositional Verification for Hierarchical Scheduling of Real-Time Systems
    Carnevali, Laura
    Pinzuti, Alessandro
    Vicario, Enrico
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (05) : 638 - 657
  • [10] Verification Architectures: Compositional Reasoning for Real-Time Systems
    Faber, Johannes
    INTEGRATED FORMAL METHODS, 2010, 6396 : 136 - 151