A preview of this full-text is provided by Springer Nature.
Content available from Innovations in Systems and Software Engineering
This content is subject to copyright. Terms and conditions apply.
Innovations in Systems and Software Engineering (2020) 16:289–307
https://doi.org/10.1007/s11334-020-00366-3
ORIGINAL ARTICLE
Alliance of model-driven engineering with a proof-based formal
approach
Akram Idani1·Yves Ledru1·German Vega1
Received: 30 November 2018 / Accepted: 18 May 2020 / Published online: 1 June 2020
© Springer-Verlag London Ltd., part of Springer Nature 2020
Abstract
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.
Keywords Software systems ·Model-driven engineering ·Formal methods ·Visual animation ·Proofs
1 Introduction
Model-driven engineering (MDE) is a promising paradigm
in software systems development because it provides solu-
tions to the software complexity on the one hand, and it
shows how to bridge the gap between conceptual models and
coding activities, on the other hand. The definition and the
use of domain-specific models throughout the engineering
life-cycle makes MDE a powerfull asset. Furthermore, MDE
is assisted by numerous tools (EMF,1XText,2ATL,3etc)
1EMF: https://www.eclipse.org/modeling/emf/.
2Xtext: https://www.eclipse.org/Xtext/.
3ATL: http://www.eclipse.org/atl/.
BAkram Idani
akram.idani@imag.fr
1Univ. Grenoble Alpes, Grenoble INP, CNRS, LIG, 38000
Grenoble, France
dedicated to put into practice a clear separation of concerns
ranging from requirements to target platforms, and going
through several design stages. Interoperability between these
tools is favored by the use of standardized meta-modeling
formalisms which increases automation especially for devel-
oping domain specific modeling languages (called DSMLs).
These advantages allow to reduce the risk that human errors
such as misinterpretation of the requirements and specifica-
tion documents lead to erroneously validate the specification,
and hence to produce the wrong system. Still, while MDE
provides solutions to the validation problem (“do the right
system”), the verification problem (“do the system right”)
remains a major challenge. Indeed, most of the verification
activities offered by MDE tools are based on the verification
of OCL constraints given instances of meta-models. How-
ever, these constraints mainly deal with properties of the
structure of the model, but not of its behavior. There is hence
noway in MDE to prove invariant preservation while execut-
123
Content courtesy of Springer Nature, terms of use apply. Rights reserved.