Model checking CML: tool development and industrial applications

被引:4
作者
Mota, A. [1 ]
Farias, A. [2 ]
Woodcock, J. [3 ]
Larsen, P. G. [4 ]
机构
[1] Univ Fed Pernambuco, Ctr Informat, BR-50740560 Recife, PE, Brazil
[2] Univ Fed Campina Grande, Campina Grande, Brazil
[3] Univ York, York YO10 5DD, N Yorkshire, England
[4] Aarhus Univ, Aarhus, Denmark
基金
英国工程与自然科学研究理事会;
关键词
CML; Model checker; Analysis; FORMULA; Operational semantics; SMT;
D O I
10.1007/s00165-015-0342-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A model checker is an automatic tool that traverses a specific structure (normally a Kripke structure referred as the model M) to check the satisfaction of some (temporal) logical property f. This is formally stated as . For some formal notations, the model M of a specification S (written in a formal language L) can be described as a labelled transition system (LTS). Specifically, it is not clear in general how usual tools such as SPIN, FDR, PAT, etc., create the LTS representation from a given process. Although one expects the coherence of the LTS generation with the semantics of L, it is completely hidden inside the model checker itself. In this paper we show how to create a model checker for L, using a development approach based on its operational semantics. We use a systematic semantics embedding and the formal modeling using logic programming and analysis (FORMULA) framework to this end. We illustrate our strategy considering the formal language COMPASS modelling language (CML)-a new language that was based on CSP, VDM and the refinement calculus proposed for modelling and analysis of systems of systems. As FORMULA is based on satisfiability modulo theories solving, our model checker can handle communications and predicates involving data with infinite domains by building and manipulating a symbolic LTS. This goes beyond the capabilities of traditional CSP model checkers such as FDR and PAT. Moreover, we show how to reduce time and space complexities by simple semantic modifications in the embedding. This allows a more semantics-preserving tuning. Finally, we show a real implementation of our model checker in an integrated development platform for CML and its practical use on an industrial case study.
引用
收藏
页码:975 / 1001
页数:27
相关论文
共 50 条
[1]  
Abrial J-R., 1996, The B Book
[2]  
Alberti F, 2013, EPIC SERIES, V20, P67
[3]  
Andrews Z, 2013, D242 COMPASS
[4]  
ANDREWS Z, 2013, IEEE INT SYST C SYSC, P356, DOI DOI 10.1109/SYSCON.2013.6549906
[5]  
Baier C, 2008, PRINCIPLES OF MODEL CHECKING, P1
[6]  
Bjorner N., 2012, P SMT IJCAR, P3
[7]  
Bryans J, 2012, CML DEFINITION 1
[8]  
Bryant RandalE., 1992, ACM Computing Surveys (CSUR), V24, P293
[9]  
Cavalcanti A, 2013, D234B COMPASS
[10]   MODEL CHECKING AND ABSTRACTION [J].
CLARKE, EM ;
GRUMBERG, O ;
LONG, DE .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (05) :1512-1542