Alliance of model-driven engineering with a proof-based formal approach

被引:10
作者
Idani, Akram [1 ]
Ledru, Yves [1 ]
Vega, German [1 ]
机构
[1] Univ Grenoble Alpes, Grenoble INP, CNRS, LIG, F-38000 Grenoble, France
关键词
Software systems; Model-driven engineering; Formal methods; Visual animation; Proofs; SEMANTICS; UML;
D O I
10.1007/s11334-020-00366-3
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Model-driven engineering (MDE) promotes the use of models throughout the software development cycle in order to increase abstraction and reduce software complexity. It favors the definition of domain-specific modeling languages (DSMLs) thanks to frameworks dedicated to meta-modeling and code generation like EMF (Eclipse Modeling Framework). The standard semantics of meta-models allows interoperability between tools such as language analysers (e.g., XText), code generators (e.g., Acceleo), and also model transformation tools (e.g., ATL). However, a major limitation of MDE is the lack of formal reasoning tools allowing to ensure the correctness of models. Indeed, most of the verification activities offered by MDE tools are based on the verification of OCL constraints on instances of meta-models. However, these constraints mainly deal with structural properties of the model and often miss out its behavioral semantics. In this work, we propose to bridge the gap between MDE and the rigorous world of formal methods in order to guarantee the correctness of both structural and behavioral properties of the model. Our approach translates EMF meta-models into an equivalent formal B specification and then injects models into this specification. The equivalence between the resulting B specification and the original EMF model is kept by proven design steps leading to a rigorous MDE technique. The AtelierB prover is used to guarantee the correctness of the model's behavior with respect to its invariant properties, and the ProB model-checker is used to animate underlying execution scenarios which are translated back to the initial EMF model. Besides the use of these automatic reasoning tools in MDE, proved B refinements are also investigated in this paper in order to gradually translate abstract EMF models to concrete models which can then be automatically compiled into a programming language.
引用
收藏
页码:289 / 307
页数:19
相关论文
共 44 条
  • [1] Abr96 Abrial J., 1996, The B-Book: Assigning Programs to Meanings
  • [2] [Anonymous], 2013, WORKSH MOD DRIV ENG
  • [3] Bettini L., 2013, Implementing Domain-Specific Languages with Xtext and Xtend
  • [4] Omniscient debugging for executable DSLs
    Bousse, Erwan
    Leroy, Dorian
    Combemale, Benoit
    Wimmer, Manuel
    Baudry, Benoit
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 137 : 261 - 288
  • [5] Challenges and Directions in Formalizing the Semantics of Modeling Languages
    Bryant, Barrett R.
    Gray, Jeff
    Mernik, Marjan
    Clarke, Peter J.
    France, Robert B.
    Karsai, Gabor
    [J]. COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2011, 8 (02) : 225 - 253
  • [6] Combemale B, 2020, BREATHE LIFE YOUR DE
  • [7] Formal model-driven engineering of critical information systems
    Davies, Jim
    Milward, David
    Wang, Chen-Wei
    Welch, James
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2015, 103 : 88 - 113
  • [8] Modeling the Behavioral Semantics of Heterogeneous Languages and their Coordination
    Deantoni, Julien
    [J]. 2016 ARCHITECTURE-CENTRIC VIRTUAL INTEGRATION (ACVI), 2016, : 12 - 18
  • [9] Dghaym Dana, 2018, Abstract State Machines, Alloy, B, TLA, VDM, and Z. 6th International Conference, ABZ 2018. Proceedings: LNCS 10817, P338, DOI 10.1007/978-3-319-91271-4_23
  • [10] Floyd RW, 1993, ASSIGNING MEANINGS P