Skip to main content
Log in

Correct-by-construction model driven engineering composition operators

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

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.

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.

Similar content being viewed by others

References

  1. 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–50

  2. Aßmann U (2003) Invasive software composition. Springer, New York

    Book  MATH  Google Scholar 

  3. 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–12

  4. Bézivin J (2004) In search of a basic principle for model driven engineering. Novat J Special Issue 5(2): 21–24

    Google Scholar 

  5. Bernstein PA, Halevy AY, Pottinger RA (2000) A vision for management of complex models. ACM Sigmod Rec 29(4): 55–63

    Article  Google Scholar 

  6. Boronat A, Meseguer J (2010) An algebraic semantics for MOF. Formal Aspects Comput 22(3–4): 269–296

    Article  MATH  Google Scholar 

  7. 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–243

    Article  MathSciNet  MATH  Google Scholar 

  8. Chrząszcz J (2003) Implementing modules in the Coq system: theorem proving in higher order logics, pp 270–286

  9. Clarke S (2002) Extending standard UML with model composition semantics. Sci Comput Progr 44(1): 71–100

    Article  MATH  Google Scholar 

  10. 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–405

  11. 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–127

  12. 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èles

  13. Dijkstra EW (1976) A discipline of programming, volume 1. Prentice-Hall, Englewood Cliffs

  14. 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–253

  15. 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–54

  16. France R, Ray I, Georg G, Ghosh S (2004) Aspect-oriented approach to early design modelling. IEEE Proc Softw 151(4): 173–185

    Article  Google Scholar 

  17. 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–83

  18. Henriksson J (2009) A lightweight framework for universal fragment composition with an application in the semantic web. PhD thesis, TU Dresden

  19. 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–184

    Article  Google Scholar 

  20. Heidenreich F, Henriksson J, Johannes J, Zschaler S (2009) On language-independent model modularisation. In: Transactions on aspect-oriented software development VI, pp 39–82

  21. Holt J, Perry S (2008) SysML for systems engineering, volume 7. IET

  22. Jeanneret C (2007–2008) An analysis of model composition approaches. Master’s thesis, Ecole Polytechnique Fédérale de Lausanne

  23. Jendrik J (2011) Component-based model-driven software development. PhD thesis, vorgelegt an der Technischen Universität Dresden Fakultät Informatik

  24. 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–207

    Article  Google Scholar 

  25. 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–165

  26. 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, ACM

  27. 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–122

  28. 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–250

  29. 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–38

  30. 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–240

  31. Letkeman K (2005) Comparing and merging UML models in IBM rational software architect. IBM Rational

  32. Lara J, Guerra E (2013) From types to type requirements: genericity for model-driven engineering. Softw Syst Model 12(3): 453–474

    Article  Google Scholar 

  33. 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–120

  34. 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-0831

  35. 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–64

  36. Object Management Group, Inc. (2006) Meta object facility (MOF) 2.0 Core Specification

  37. Object Management Group (2013) OMG meta object facility (MOF) Core Specification, Version 2.4.1

  38. Object Management Group (2013) OMG unified modeling language TM (OMG UML) Version 2.5 38.

  39. Object Management Group (2014) Object constraint language, Version 2.4

  40. Parnas DL (1972) On the criteria to be used in decomposing systems into modules. Commun ACM 15(12): 1053–1058

    Article  Google Scholar 

  41. 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–55

  42. 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’10

  43. Poernomo I (2006) The meta-object facility typed. In Hisham H (ed) SAC, ACM pp 1845–1849

  44. 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–228

  45. 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–73

  46. Reddy R, France R, Ghosh S, Fleurey F, Baudry B (2005) Model composition: a signature-based approach. In: Aspect oriented modeling (AOM) Workshop

  47. 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–105

  48. Schirmeier H, Spinczyk O (2009) Challenges in software product line composition. In: 42nd Hawaii international conference on system sciences, IEEE, pp 1–7

  49. 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 tecnico

    Google Scholar 

  50. 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–30

  51. 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–244

  52. Whittle J, Hutchinson J, Rouncefield M (2014) The state of practice in model-driven engineering. Softw IEEE 31(3): 79–85

    Article  Google Scholar 

  53. Zito A (2006) UML’s package extension mechanism: taking a closer look at package merge. PhD thesis, Queen’s University

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mounira Kezadri Hamiaz.

Additional information

Communicated by Stephan Merz, Jun Pang, and Jin Song Dong

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kezadri Hamiaz, M., Pantel, M., Thirioux, X. et al. Correct-by-construction model driven engineering composition operators. Form Asp Comp 28, 409–440 (2016). https://doi.org/10.1007/s00165-016-0354-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-016-0354-6

Keywords

Navigation