Skip to main content
Log in

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

  • Original Article
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. EMF: https://www.eclipse.org/modeling/emf/.

  2. Xtext: https://www.eclipse.org/Xtext/.

  3. ATL: http://www.eclipse.org/atl/.

  4. http://vasco.imag.fr/tools/meeduse/.

  5. Meeduse: Modeling Efficiently EnD USEr needs (http://vasco.imag.fr/tools/meeduse/).

  6. Symbols \(\triangleleft \) and \(\triangleright \) represent, respectively, domain and range restrictions.

  7. https://www.obeo.fr/fr/produits/Eclipse-sirius.

  8. https://www.Eclipse.org/epsilon/doc/eugenia/.

  9. http://www.Eclipse.org/modeling/gmp/.

  10. The notion of state, in the B method, corresponds to valuations of B variables.

  11. https://www.transformation-tool-contest.eu.

References

  1. Abrial JR (1996) The B-book: assigning programs to meanings. Cambridge University Press, New York

    Book  Google Scholar 

  2. Bettini L (2013) Implementing domain-specific languages with Xtext and Xtend. Packt Publishing, Birmingham

    Google Scholar 

  3. Bousse E, Leroy D, Combemale B, Wimmer M, Baudry B (2018) Omniscient debugging for executable dsls. J Syst Softw 137:261–288. https://doi.org/10.1016/j.jss.2017.11.025

    Article  Google Scholar 

  4. Bryant B, Gray J, Mernik M, Clarke P, France R, Karsai G (2011) Challenges and directions in formalizing the semantics of modeling languages. Comput Sci Inf Syst. https://doi.org/10.2298/CSIS110114012B

    Article  Google Scholar 

  5. Combemale B, Brun C, Breathe life into your designer! Model simulation, animation and debugging with sirius animator, part of the GEMOC studio. http://gemoc.org/breathe-life-into-your-designer.html. Accessed 28 May 2020

  6. Davies J, Milward D, Wang CW, Welch J (2015) Formal model-driven engineering of critical information systems. Sci Comput Program 103(C):88–113. https://doi.org/10.1016/j.scico.2014.11.004

    Article  Google Scholar 

  7. Deantoni J (2016) Modeling the behavioral semantics of heterogeneous languages and their coordination. In: 2016 architecture-centric virtual integration (ACVI), pp 12–18

  8. Dghaym D, Poppleton M, Snook C (2018) Diagram-led formal modelling using iUMLB for Hybrid ERTMS Level 3. In: ABZ 2018, vol 10817, pp 338–352. Springer. https://eprints.soton.ac.uk/417755/

  9. Eclipse: Acceleo (2012). http://www.eclipse.org/acceleo/. Accessed 28 May 2020

  10. Floyd RW (1993) Assigning meanings to programs. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-1793-7_4

    Book  MATH  Google Scholar 

  11. Gargantini A, Riccobene E, Scandurra P (2010) Combining formal methods and mde techniques for model-driven system design and analysis. Int J Adv Softw 1&2: 1–18

  12. Group OM (2015) Meta Object Facility (MOF) 2.5.1 core specification. https://www.omg.org/spec/MOF/2.5.1/. Accessed 28 May 2020

  13. Harel D, Rumpe B (2004) Meaningful modeling: what’s the semantics of “semantics”? Computer 37:64–72. https://doi.org/10.1109/MC.2004.172

    Article  Google Scholar 

  14. Hartmann T, Sadilek DA (2008) Undoing operational steps of domain-specific modeling languages. In: Proceedings of the 8th OOPSLA workshop on domain-specific modeling (DSM’08): University of Alabama at Birmingham

  15. Idani A, Ledru Y (2015) B for modeling secure information systems: the b4msecure platform. In: International conference en formal engineering methods (ICFEM). LNCS, vol 9407. Springer, pp 312–318

  16. Idani A, Ledru Y, Wakrime AA, Ayed RB, Bon P (2019) Towards a tool-based domain specific approach for railway systems modeling and validation. In: Third international conference on reliability, safety, and security of railway systems. LNCS, vol 11495. Springer, pp 23–40f

  17. Idani A, Ledru Y, Wakrime AA, Ayed RB, Dutilleul SC (2019) Incremental development of a safety critical system combining formal methods and dsmls: application to a railway system. In: 24th international conference on formal methods for industrial critical systems. LNCS, vol 11687. Springer, pp 93–109

  18. Idani A, Vega G, Leuschel M (2019) TTC’2019: the MEEDUSE solution. https://www.transformation-tool-contest.eu/papers/TTC19_paper_5.pdf. Accessed 28 May 2020

  19. Jézéquel JM, Barais O, Fleurey F (2011) Model driven language engineering with kermeta. In: 3rd international summer school conference on generative and transformational techniques in software engineering III. GTTSE’09. Springer, Berlin, pp 201–221

  20. Jézéquel J-M, Combemale B, Barais O, Monperrus M, Fouquet F (2015) Mashup of meta-languages and its implementation in the kermeta language workbench. Softw Syst Model 14(2):905–920

    Article  Google Scholar 

  21. Jouault F, Allilaire F, Bézivin J, Kurtev I, Valduriez P (2006) Atl: a qvt-like transformation language. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems. Languages, and applications, OOPSLA ’06. ACM, New York, pp 719–720

  22. Kim SK, Carrington D (1999) Formalizing the uml class diagram using object-z. In: Proceedings of the 2nd international conference on the unified modeling language: beyond the standard, UML’99, pp. 83–98. Springer, Berlin. http://dl.acm.org/citation.cfm?id=1767297.1767307

  23. Langer P, Mayerhofer T, Kappel G (2014) Semantic model differencing utilizing behavioral semantics specifications. In: 17th international conference model-driven engineering languages and systems: MODELS. LNCS, vol 8767. Springer, pp 116–132

  24. Lano K, Clark D, Androutsopoulos K (2004) Uml to b: formal verification of object-oriented models. In: Boiten EA, Derrick J, Smith G (eds) Integrated formal methods. Springer, Berlin, pp 187–206

    Chapter  Google Scholar 

  25. Lausdahl K, Lintrup HKA, Larsen PG (2009) Connecting UML and VDM++ with open tool support. In: FM 2009: formal methods, second world congress, Eindhoven, The Netherlands, 2–6 Nov 2009. Proceedings, pp 563–578

  26. Leuschel M, Butler M (2008) Prob: an automated analysis toolset for the b method. Int J Softw Tools Technol Transf 10(2):185–203. https://doi.org/10.1007/s10009-007-0063-9

    Article  Google Scholar 

  27. Mammar A, Laleau R (2006) A formal approach based on UML and B for the specification and development of database applications. Autom Softw Eng 13(4):497–528. https://doi.org/10.1007/s10515-006-0273-5

    Article  Google Scholar 

  28. Mayerhofer T, Langer P, Wimmer M, Kappel G (2013) Towards xmof: executable dsmls based on fuml. In: International conference on software language engineering: SLE. LNCS, vol 8225. Springer, pp 56–75

  29. Merilinna J, Pärssinen J (2010) Verification and validation in the context of domain-specific modelling. In: Proceedings of the 10th workshop on domain-specific modeling. ACM, New York, pp 9:1–9:6

  30. Muller PA, Fleurey F, Jézéquel JM (2005) Weaving executability into object-oriented meta-languages. In: Proceedings of MODELS/UML’2005. Montego Bay, Jamaica. https://hal.inria.fr/hal-00795095. Accessed 28 May 2020

  31. OMG: OMG Object Constraint Language (OCL), Version 2.3.1. Object Management Group (2012). http://www.omg.org/spec/OCL/2.3.1/. Accessed 28 May 2020

  32. Said MY, Butler M, Snook C (2015) A method of refinement in uml-b. Softw Syst Model 14(4):1557–1580. https://doi.org/10.1007/s10270-013-0391-z

    Article  Google Scholar 

  33. Saldhana JA, Shatz SM (2000) Uml diagrams to object petri net models: an approach for modeling and analysis. In: International conference on software engineering and knowledge engineering, pp 103–110

  34. Snook C, Butler M (2006) Uml-b: formal modeling and design aided by uml. ACM Trans Softw Eng Methodol 15(1):92–122

    Article  Google Scholar 

  35. Snook C, Savicks V, Butler M (2012) Verification of UML models by translation to UML-B. In: Formal methods for components and objects. LNCS, vol 6957. Springer, pp 251–266

  36. Soden M, Eichler H (2009) Towards a model execution framework for eclipse. In: Proceedings of the 1st workshop on behaviour modelling in model-driven architecture, BM-MDA ’09. ACM, New York, pp 4:1–4:7

  37. Stefanica A, Mihancea PF (2017) XCORE: support for developing program analysis tools. In: IEEE 24th international conference on software analysis, evolution and reengineering, SANER 2017, Klagenfurt, Austria, 20–24 Feb, pp 462–466 (2017). https://doi.org/10.1109/SANER.2017.7884654

  38. Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF: eclipse modeling framework 2.0, 2nd edn. Addison-Wesley Professional, Boston

    Google Scholar 

  39. Tikhonova U (2017) Engineering the dynamic semantics of domain specific languages. Ph.D. thesis, Department of Mathematics and Computer Science, Proefschrift

  40. Tikhonova U (2017) Reusable specification templates for defining dynamic semantics of dsls. Softw Syst Model. https://doi.org/10.1007/s10270-017-0590-0

    Article  Google Scholar 

  41. Tikhonova U, Manders M, Brand van den M, Andova S, Verhoeff T (2013) Applying model transformation and event-b for specifying an industrial dsl. In: Boulanger F, Famelis M, Ratiu D (eds) MoDeVVa 2013: workshop on Model Driven Engineering, Verification and Validation: proceedings of the 10th international workshop on model driven engineering, verification and validation co-located with 16th international conference on model driven engineering Miami, Florida, 1st Oct 2013, CEUR workshop proceedings, pp 41–50. CEUR-WS.org

  42. Vergu V, Neron P, Visser E (2015) DynSem: a DSL for dynamic semantics specification. In: M. Fernández (ed) 26th international conference on rewriting techniques and applications (RTA 2015). Leibniz international proceedings in informatics (LIPIcs), vol 36, pp 365–378. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. https://doi.org/10.4230/LIPIcs.RTA.2015.365. http://drops.dagstuhl.de/opus/volltexte/2015/5208

  43. Wachsmuth G (2008) Modelling the operational semantics of domain-specific modelling languages. In: Lämmel R, Visser J, Saraiva J (eds) Generative and transformational techniques in software engineering II (GTTSE). Springer, Berlin, pp 506–520

    Chapter  Google Scholar 

  44. Wildmoser M, Nipkow T (2004) Certifying machine code safety: shallow versus deep embedding. In: Slind K, Bunker A, Gopalakrishnan G (eds) Theorem proving in higher order logics (TPHOLs 2004). LNCS, vol 3223. Springer, pp 305–320

  45. Zalila F, Crégut X, Pantel M (2013) Formal verification integration approach for dsml. In: Model-driven engineering languages and systems. Springer, pp 336–351

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Akram Idani.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Idani, A., Ledru, Y. & Vega, G. Alliance of model-driven engineering with a proof-based formal approach. Innovations Syst Softw Eng 16, 289–307 (2020). https://doi.org/10.1007/s11334-020-00366-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-020-00366-3

Keywords

Navigation