Formal Aspects of Computing

, Volume 28, Issue 3, pp 409–440 | Cite as

Correct-by-construction model driven engineering composition operators

  • Mounira Kezadri HamiazEmail author
  • Marc Pantel
  • Xavier Thirioux
  • Benoit Combemale
Original Article


Model composition is a crucial activity in Model Driven Engineering both to reuse validated and verified model elements and to handle separately the various aspects in a complex system and then weave them while preserving their properties. Many research activities target this compositional validation and verification (V & V) strategy: allow the independent assessment of components and minimize the residual V & V activities at assembly time. However, there is a continuous and increasing need for the definition of new composition operators that allow the reconciliation of existing models to build new systems according to various requirements. These ones are usually built from scratch and must be systematically verified to assess that they preserve the properties of the assembled elements. This verification is usually tedious but is mandatory to avoid verifying the composite system for each use of the operators. Our work addresses these issues, we first target the use of proof assistants for specifying and verifying compositional verification frameworks relying on formal verification techniques instead of testing and proofreading. Then, using a divide and conquer approach, we focus on the development of elementary composition operators that are easy to verify and can be used to further define complex composition operators. In our approach, proofs for the complex operators are then obtained by assembling the proofs of the basic operators. To illustrate our proposal, we use the Coq proof assistant to formalize the language-independent elementary composition operators Union and Substitution and the proof that the conformance of models with respect to metamodels is preserved during composition. We show that more sophisticated composition operators that share parts of the implementation and have several properties in common (especially: aspect oriented modeling composition approach, invasive software composition, and package merge) can then be built from the basic ones, and that the proof of conformance preservation can also be built from the proofs of basic operators.


Formal verification Composition Proof assistant MDE MOF 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. ALMK08.
    Apel S, Lengauer C, Möller B, Kästner C (2008) An algebra for features and feature composition. In: Algebraic methodology and software technology, Springer, New York, pp 36–50Google Scholar
  2. Aßm03.
    Aßmann U (2003) Invasive software composition. Springer, New YorkCrossRefzbMATHGoogle Scholar
  3. BBS06.
    Basu A, Bozga M, Sifakis J (2006) Modeling heterogeneous real-time components in BIP. In: Software engineering and formal methods, 2006. SEFM 2006. 4th IEEE international conference on, pp 3–12Google Scholar
  4. Béz04.
    Bézivin J (2004) In search of a basic principle for model driven engineering. Novat J Special Issue 5(2): 21–24Google Scholar
  5. BHP00.
    Bernstein PA, Halevy AY, Pottinger RA (2000) A vision for management of complex models. ACM Sigmod Rec 29(4): 55–63CrossRefGoogle Scholar
  6. BM10.
    Boronat A, Meseguer J (2010) An algebraic semantics for MOF. Formal Aspects Comput 22(3–4): 269–296CrossRefzbMATHGoogle Scholar
  7. CDE+02.
    Clavel M, Durán F, Eker S, Lincoln P, Martı-Oliet N, Meseguer J, Quesada JF (2002) Maude: specification and programming in rewriting logic. Theor Comput Sci 285(2): 187–243MathSciNetCrossRefzbMATHGoogle Scholar
  8. Chr03.
    Chrząszcz J (2003) Implementing modules in the Coq system: theorem proving in higher order logics, pp 270–286Google Scholar
  9. Cla02.
    Clarke S (2002) Extending standard UML with model composition semantics. Sci Comput Progr 44(1): 71–100CrossRefzbMATHGoogle Scholar
  10. CLA15.
    Vinícius Carvalho M, Lopes D, Abdelouahab Z (2015) A framework based on model driven engineering to support schema merging in database systems. In: New trends in networking, computing, e-learning, systems sciences, and engineering, Springer, New York, pp 397–405Google Scholar
  11. CLST11.
    Calegari D, Luna C, Szasz N, Tasistro Á (2011) A type-theoretic framework for certified model transformations. In: Formal methods: foundations and applications, Springer, New York, pp 112–127Google Scholar
  12. DFBJ+05.
    Didonet Del Fabro M, Bézivin J, Jouault F, Breton E, Gueltas G (2005) AMW: a generic model weaver. In: Proceedings of the 1ères Journées sur l’Ingénierie Dirigée par les ModèlesGoogle Scholar
  13. Dij76.
    Dijkstra EW (1976) A discipline of programming, volume 1. Prentice-Hall, Englewood CliffsGoogle Scholar
  14. FFR+07.
    France R, Fleurey F, Reddy R, Baudry B, Ghosh S (2007) Providing support for model composition in metamodels. In: Enterprise distributed object computing conference, 2007. EDOC 2007. 11th IEEE international, pp 253–253Google Scholar
  15. FR07.
    France R, Rumpe B (2007) Model-driven development of complex software: a research roadmap. In: 2007 Future of software engineering, IEEE Computer Society, pp 37–54Google Scholar
  16. FRGG04.
    France R, Ray I, Georg G, Ghosh S (2004) Aspect-oriented approach to early design modelling. IEEE Proc Softw 151(4): 173–185CrossRefGoogle Scholar
  17. GSMP11.
    Giorgino M, Strecker M, Matthes R, Pantel M (2011) Verification of the schorr-waite algorithm–from trees to graphs. Logic-based program synthesis and transformation, pp 67–83Google Scholar
  18. Hen09.
    Henriksson J (2009) A lightweight framework for universal fragment composition with an application in the semantic web. PhD thesis, TU DresdenGoogle Scholar
  19. HHJ+08.
    Henriksson J, Heidenreich F, Johannes J, Zschaler S, Aßmann U (2008) Extending grammars and metamodels for reuse: the Reuseware approach. Softw IET 2(3): 165–184CrossRefGoogle Scholar
  20. HHJZ09.
    Heidenreich F, Henriksson J, Johannes J, Zschaler S (2009) On language-independent model modularisation. In: Transactions on aspect-oriented software development VI, pp 39–82Google Scholar
  21. HP08.
    Holt J, Perry S (2008) SysML for systems engineering, volume 7. IETGoogle Scholar
  22. Jea08.
    Jeanneret C (2007–2008) An analysis of model composition approaches. Master’s thesis, Ecole Polytechnique Fédérale de LausanneGoogle Scholar
  23. Jen11.
    Jendrik J (2011) Component-based model-driven software development. PhD thesis, vorgelegt an der Technischen Universität Dresden Fakultät InformatikGoogle Scholar
  24. JRJEFA07.
    José Raúl R, José Eduardo R, Francisco D, Antonio V (2007) Formal and tool support for model driven engineering with maude. J Object Technol 6(9): 187–207CrossRefGoogle Scholar
  25. JWEG07.
    Jayaraman P, Whittle J, Elkhodary AM, Gomaa H (2007) Model composition in product lines and feature interaction detection using critical pair analysis. In: Model driven engineering languages and systems, pp 151–165Google Scholar
  26. KAAK09.
    Kienzle J, Al Abed W, Klein J (2009) Aspect-oriented multi-view modeling. In: Proceedings of the 8th ACM international conference on aspect-oriented software development, pp 87–98, ACMGoogle Scholar
  27. KHPCT14a.
    Kezadri Hamiaz M, Pantel M, Combemale B, Thirioux X (2014) Correct-by-construction model composition: application to the invasive software composition method. In: FESCA, pp 108–122Google Scholar
  28. KHPCT14b.
    Kezadri Hamiaz M, Pantel M, Combemale B, Thirioux X (2014) A formal framework to prove the correctness of model driven engineering composition operators. In: ICFEM’14–16th international conference on formal engineering methods, Springer, New York, pp 235–250Google Scholar
  29. KLJM06.
    Klein J, Loïc H, Jean-Marc J (2006) Semantic-based weaving of scenarios. In: Proceedings of the 5th international conference on aspect-oriented software development, ACM, pp 27–38Google Scholar
  30. KPCT11.
    Kezadri M, Pantel M, Combemale B, Thirioux X (2011) A proof assistant based formalization of components in MDE. In: 8th international symposium on formal aspects of component software (FACS 2011), Springer, Berlin, pp 223–240Google Scholar
  31. Let05.
    Letkeman K (2005) Comparing and merging UML models in IBM rational software architect. IBM RationalGoogle Scholar
  32. LG13.
    Lara J, Guerra E (2013) From types to type requirements: genericity for model-driven engineering. Softw Syst Model 12(3): 453–474CrossRefGoogle Scholar
  33. MJPM13.
    Manuel G, Jean-Paul B, Mamoun F-A (2013) A mechanized semantic framework for real-time systems. In: Formal modeling and analysis of timed systems, Springer, New York, pp 106–120Google Scholar
  34. NM00.
    Noy NF, Musen MA (2000) Algorithm and tool for automated ontology merging and alignment. In: Proceedings of the 17th national conference on artificial intelligence (AAAI-00). Available as SMI technical report SMI-2000-0831Google Scholar
  35. NSC+07.
    Nejati S, Sabetzadeh M, Chechik M, Easterbrook S, Zave P (2007) Matching and merging of statecharts specifications. In: Proceedings of the 29th international conference on software engineering, IEEE Computer Society, pp 54–64Google Scholar
  36. Obj06.
    Object Management Group, Inc. (2006) Meta object facility (MOF) 2.0 Core SpecificationGoogle Scholar
  37. Obj13a.
    Object Management Group (2013) OMG meta object facility (MOF) Core Specification, Version 2.4.1Google Scholar
  38. Obj13b.
    Object Management Group (2013) OMG unified modeling language TM (OMG UML) Version 2.5 38.Google Scholar
  39. Obj14.
    Object Management Group (2014) Object constraint language, Version 2.4Google Scholar
  40. Par72.
    Parnas DL (1972) On the criteria to be used in decomposing systems into modules. Commun ACM 15(12): 1053–1058CrossRefGoogle Scholar
  41. PDL15.
    Pham T-K-Z, Dubois C, Lévy N (2015) Towards correct-by-construction product variants of a software product line: Gfml, a formal language for feature modules. In: Proceedings 6th workshop on formal methods and analysis in SPL engineering, FMSPLE 2015, London, 11 April 2015, pp 44–55Google Scholar
  42. PM11.
    Picard C, Matthes R (2011) Coinductive graph representation : the problem of embedded lists. In: Electronic communications of the EASST, special issue graph computation models, GCM’10Google Scholar
  43. Poe06.
    Poernomo I (2006) The meta-object facility typed. In Hisham H (ed) SAC, ACM pp 1845–1849Google Scholar
  44. Poe08.
    Poernomo I (2008) Proofs-as-model-transformations. In: Antonio V, Jeff G, Alfonso P (eds)ICMT volume 5063 of Lecture Notes in Computer Science, Springer, New York, pp 214–228Google Scholar
  45. PT10.
    Poernomo I, Terrell J (2010) Correct-by-construction model transformations from partially ordered specifications in Coq. In: Dong JS, Zhu H (eds) ICFEM, volume 6447 of Lecture Notes in Computer Science, Springer, New York, pp 56–73Google Scholar
  46. RFG+05.
    Reddy R, France R, Ghosh S, Fleurey F, Baudry B (2005) Model composition: a signature-based approach. In: Aspect oriented modeling (AOM) WorkshopGoogle Scholar
  47. RGF+06.
    Reddy R, Ghosh S, France R, Straw G, Bieman J, McEachen N, Song E, Georg G (2006) Directives for composing aspect-oriented design class models. In: Transactions on aspect-oriented software development I, Springer, New York, pp 75–105Google Scholar
  48. SS09.
    Schirmeier H, Spinczyk O (2009) Challenges in software product line composition. In: 42nd Hawaii international conference on system sciences, IEEE, pp 1–7Google Scholar
  49. SSK+07.
    Schauerhuber A, Schwinger W, Kapsammer E, Retschitzegger W, Wimmer M, Kappel G (2007) A survey on aspect-oriented modeling approaches. Vienna University of Technology, Relatorio tecnicoGoogle Scholar
  50. TCCG07.
    Thirioux X, Combemale B, Crégut X, Garoche P-L (2007) A framework to formalise the MDE foundations. In Richard P, Jean B (eds) International Workshop on Towers of Models (TOWERS), Zurich, pp 14–30Google Scholar
  51. TV10.
    Troya J, Vallecillo A (2010) Towards a rewriting logic semantics for ATL. In: Tratt L, Gogolla M (eds) ICMT, volume 6142 of Lecture Notes in Computer Science, Springer, New York pp 230–244Google Scholar
  52. WHR14.
    Whittle J, Hutchinson J, Rouncefield M (2014) The state of practice in model-driven engineering. Softw IEEE 31(3): 79–85CrossRefGoogle Scholar
  53. Zit06.
    Zito A (2006) UML’s package extension mechanism: taking a closer look at package merge. PhD thesis, Queen’s UniversityGoogle Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  • Mounira Kezadri Hamiaz
    • 1
    Email author
  • Marc Pantel
    • 2
  • Xavier Thirioux
    • 2
  • Benoit Combemale
    • 3
  1. 1.College of Computer Science and Engineering (CCSE)Taibah UniversityAl MadinahSaudi Arabia
  2. 2.IRITUniversité de ToulouseToulouseFrance
  3. 3.IRISAUniversité de Rennes 1RennesFrance

Personalised recommendations