Contract Automata: A Specification Language for Mode-Based Systems

被引:0
|
作者
Weigl, Alexander [1 ]
Bachmeier, Joshua [2 ]
Ulbrich, Mattias [1 ]
Beckert, Bernhard [1 ]
机构
[1] Karlsruhe Inst Technol, Karlsruhe, Germany
[2] FZI Res Ctr Informat Technol, Karlsruhe, Germany
关键词
D O I
10.1145/3644033.3644381
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The comprehensive, understandable and effective formal specification of complex systems is often difficult, especially for reactive and interactive systems like web services or embedded system components. In this paper, we propose contract automata, a new specification formalism for describing the expected behaviour of stateful systems. Contract automata combine two established concepts for formal system specification: contract-based specification and nondeterministic finite state automata. Contract automata restrict the effects that the operations of the specified system may have using input-output-contracts. The automaton structure of a contract automaton describes when contracts are applicable. Contract automata support the refinement and composition of reactive systems, enabling modular verification of systems assembled of multiple subsystems. In this paper, we formally define the semantics of contract automata based on a two-party game between the system under test and its environment. We define the proof obligations and present techniques to prove a refinement relationship between contract automata, the validity of system compositions, and the compliance of source code against a contract automaton. We provide a tool for the generation of the proof obligation that can be discharged with model-checkers or static program analyses. We exemplify the use of contract automata by presenting the specification and verification of an emergency brake assistant.
引用
收藏
页码:1 / 11
页数:11
相关论文
共 50 条
  • [1] Praspel: A Specification Language for Contract-Based Testing in PHP
    Enderlin, Ivan
    Dadeau, Frederic
    Giorgetti, Alain
    Ben Othman, Abdallah
    TESTING SOFTWARE AND SYSTEMS, 2011, 7019 : 64 - 79
  • [2] A Mode-Aware Contract Language for Reactive Systems
    Tinelli, Cesare
    NUMERICAL SOFTWARE VERIFICATION (NSV 2016), 2017, 10152 : 105 - 105
  • [3] Transformation of a language L* specification of an FSM into an automata equivalent specification in the language L
    A. N. Chebotarev
    Cybernetics and Systems Analysis, 2010, 46 (4) : 574 - 582
  • [4] TRANSFORMATION OF A LANGUAGE L* SPECIFICATION OF AN FSM INTO AN AUTOMATA EQUIVALENT SPECIFICATION IN THE LANGUAGE L
    Chebotarev, A. N.
    CYBERNETICS AND SYSTEMS ANALYSIS, 2010, 46 (04) : 574 - 582
  • [5] Are Timed Automata Bad for a Specification Language? Language Inclusion Checking for Timed Automata
    Sun, Jun
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (156): : 2 - 2
  • [6] A Contract-Based Formalism for the Specification of Heterogeneous Systems
    Benvenuti, Luca
    Ferrari, Alberto
    Mangeruca, Leonardo
    Mazzi, Emanuele
    Passerone, Roberto
    Sofronis, Christos
    2008 FORUM ON SPECIFICATION, VERIFICATION AND DESIGN LANGUAGES, 2008, : 166 - +
  • [7] Contract-based specification of mode-dependent timing behavior
    Kroeger, Janis
    Koopmann, Bjoern
    Stierand, Ingo
    Fraenzle, Martin
    INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2024, 20 (01) : 31 - 47
  • [8] Contract-based specification of mode-dependent timing behavior
    Janis Kröger
    Björn Koopmann
    Ingo Stierand
    Martin Fränzle
    Innovations in Systems and Software Engineering, 2024, 20 : 31 - 47
  • [9] CoCoSpec: A Mode-Aware Contract Language for Reactive Systems
    Champion, Adrien
    Gurfinkel, Arie
    Kahsai, Temesghen
    Tinelli, Cesare
    SOFTWARE ENGINEERING AND FORMAL METHODS: 14TH INTERNATIONAL CONFERENCE, SEFM 2016, 2016, 9763 : 347 - 366
  • [10] Contract-based formal specification of safety critical systems
    Dong, W
    Wang, J
    Proceedings of the 29th Annual International Computer Software and Applications Conference, Workshops and Fast Abstracts, 2005, : 7 - 8