Advertisement

Formal Aspects of Computing

, Volume 26, Issue 6, pp 1115–1152 | Cite as

A formalisation of deep metamodelling

  • Alessandro Rossini
  • Juan de Lara
  • Esther Guerra
  • Adrian Rutle
  • Uwe Wolter
Original Article

Abstract

Metamodelling is one of the pillars of model-driven engineering, used for language engineering and domain modelling. Even though metamodelling is traditionally based on a two-metalevel approach, several researchers have pointed out limitations of this solution and proposed an alternative deep (also called multi-level) approach to obtain simpler system specifications. However, this approach currently lacks a formalisation that can be used to explain fundamental concepts such as deep characterisation, double linguistic/ontological typing and linguistic extension. This paper provides such a formalisation based on the Diagram Predicate Framework, and discusses its practical realisation in the metaDepth tool.

Keywords

Model-driven engineering Multi-level metamodelling Deep metamodelling Deep characterisation Potency Double linguistic/ontological typing Linguistic extension Category theory Graph transformation Diagram predicate framework metaDepth 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ADP09.
    Aschauer T, Dauenhauer G, Pree W (2009) Multi-level modeling for industrial automation systems. In: Proceedings of EUROMICRO 2009: 35th EUROMICRO conference on software engineering and advanced applications, IEEE Computer Society, pp 490–496Google Scholar
  2. AGK09.
    Atkinson C, Gutheil M, Kennel B (2009) A flexible infrastructure for multilevel language engineering. IEEE Trans Softw Eng 35(6): 742–755CrossRefGoogle Scholar
  3. AGK12.
    Atkinson C, Gerbig R, Kennel B (2012) On-the-fly emendation of multi-level models. In: Vallecillo A, Tolvanen J-P, Kindler E, Störrle H, and Dimitrios S. Kolovos, editors, Proceedings of ECMFA 2012: 8th European conference on modelling foundations and applications, volume 7349 of lecture notes in computer science, pp 194–209. Springer, BerlinGoogle Scholar
  4. AK02a.
    Atkinson C, Kühne T (2002) Profiles in a strict metamodeling framework. Sci Comput Program 44(1): 5–22CrossRefMATHGoogle Scholar
  5. AK02b.
    Atkinson C, Kühne T (2002) Rearchitecting the UML infrastructure. ACM Trans Model Comput Simul 12(4): 290–321CrossRefGoogle Scholar
  6. AK08.
    Atkinson C, Kühne T (2008) Reducing accidental complexity in domain models. Softw Syst Model 7(3): 345–359CrossRefGoogle Scholar
  7. AM09.
    Asikainen T, Männistö T (2009) Nivel: a metamodelling language with a formal semantics. Softw Syst Model 8(4): 521–549CrossRefGoogle Scholar
  8. BG01.
    Bézivin J, Gerbé O (2001) Towards a precise definition of the OMG/MDA framework. In: Proceedings of ASE 2001: 16th IEEE international conference on automated software engineering, pp 273–280Google Scholar
  9. BM09.
    Boronat A, Meseguer J (2009) Algebraic semantics of OCL-constrained metamodel specifications. In: Oriol M, Meyer B, Aalst W, Mylopoulos J, Rosemann M, Shaw MJ, Szyperski C (eds) Proceedings of TOOLS 2009: 47th international conference on objects, components, models and patterns, volume 33 of lecture notes in business information processing, pp 96–115. Springer, BerlinGoogle Scholar
  10. BW95.
    Barr M, Wells C (1955) Category theory for computing science, 2nd edn. Prentice Hall, New JerseyGoogle Scholar
  11. CDE+07.
    Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott CL (eds.) (2007) All about maude—a high-performance logical framework, how to specify, program and verify systems in rewriting logic, volume 4350 of lecture notes in computer science. Springer, BerlinGoogle Scholar
  12. CSW08.
    Clark T, Sammut P, Willans J (2008) Applied metamodelling: a foundation for language driven development, 2nd edn. Ceteva, KenilworthGoogle Scholar
  13. dG10.
    de Lara J, Guerra E (2010) Deep meta-modelling with metadepth. In: Vitek J (ed) Proceedings of TOOLS 2010: 48th international conference on objects, components, models and patterns, volume 6141 of lecture notes in computer science, pp 1–20. Springer, BerlinGoogle Scholar
  14. dGCML14.
    de Lara J, Guerra E, Cobos R, Moreno-Llorena J (2014) Extending deep meta-modelling for practical model-driven engineering. Comput J. 57(1): 36–58CrossRefGoogle Scholar
  15. Dis96.
    Diskin Z (1996) Databases as diagram algebras: specifying queries and views via the graph-based logic of sketches. Technical Report 9602, Frame Inform Systems/LDBD, Riga, LatviaGoogle Scholar
  16. Dis97.
    Diskin Z (1997) Towards algebraic graph-based model theory for computer science. In: Logic colloquium 1995: European summer meeting of the association for symbolic logic. Bull Symb Logic 3(1):144–145Google Scholar
  17. Dis02.
    Diskin Z (2002) Visualization vs. specification in diagrammatic notations: a case study with the UML. In: Hegarty M, Meyer B, Narayanan NH (eds) Proceedings of diagrams 2002: 2nd international conference on diagrammatic representation and inference, volume 2317 of lecture notes in computer science, pp 112–115. Springer, BerlinGoogle Scholar
  18. Dis03.
    Diskin Z (2003) Practical foundations of business system specifications, chapter Mathematics of UML: Making the Odysseys of UML less dramatic, pp 145–178. Springer, BerlinGoogle Scholar
  19. Dis05.
    Diskin Z (2005) Encyclopedia of database technologies and applications, chapter mathematics of generic specifications for model management I and II, pp 351–366. Information Science ReferenceGoogle Scholar
  20. DK03.
    Diskin Z, Kadish B (2003) Variable set semantics for keyed generalized sketches: formal semantics for object ideny and abstract syntax for conceptual modeling. Data Knowl Eng 47(1): 1–59CrossRefGoogle Scholar
  21. DK05.
    Diskin Z, Kadish B (2005) Encyclopedia of database technologies and applications, chapter generic model management, pp 258–265. Information Science ReferenceGoogle Scholar
  22. DKPJ00.
    Diskin Z, Kadish B, Piessens F, Johnson M (2000) Universal arrow foundations for visual modeling. In: Anderson M, Cheng P, Haarslev V (eds) Proceedings of diagrams 2000: 1st international conference on diagrammatic representation and inference, volume 1889 of lecture notes in computer science, pp 345–360. Springer, BerlinGoogle Scholar
  23. DLHE11.
    Demuth A, Lopez-Herrejon RE, Egyed A (2011) Cross-layer modeler: a tool for flexible multilevel modeling with consistency checking. In: Gyimóthy T, Zeller A (eds) Proceedings of SIGSOFT/FSE 2011: 19th ACM SIGSOFT symposium on the foundations of software engineering, pp 452–455. ACMGoogle Scholar
  24. DW08.
    Diskin Z, Wolter U (2008) A diagrammatic logic for object-oriented visual modeling. In: Proceedings of ACCAT 2007: 2nd workshop on applied and computational category theory, volume 203/6 of electronic notes in theoretical computer science, pp 19–41. Elsevier, AmsterdamGoogle Scholar
  25. Ecl.
    Eclipse Modeling Framework. Project Web Site. http://www.eclipse.org/emf.
  26. EEKR99.
    Ehrig H, Engels G, Kreowski H-J, Rozenberg G (1999) Handbook of graph grammars and computing by graph transformations, volume 2: applications, languages, and tools. World Scientific Publishing Company, SingaporeGoogle Scholar
  27. EEPT06.
    Ehrig H, Ehrig K, Prange U, Taentzer G (2006) Fundamentals of algebraic graph transformation. Springer, BerlinMATHGoogle Scholar
  28. EPT04.
    Ehrig H, Prange U, Taentzer G (2004) Fundamental theory for typed attributed graph transformation. In: Ehrig H, Engels G, Parisi-Presicce F, Rozenberg G (eds) Proceedings of ICGT 2004: 2nd international conference on graph transformations, volume 3256 of lecture notes in computer science, pp 161–177. Springer, BerlinGoogle Scholar
  29. Fia04.
    Luiz Fiadeiro J (2004) Categories for software engineering. Springer, BerlinGoogle Scholar
  30. GKA08.
    Gutheil M, Kennel B, Atkinson C (2008) A systematic approach to connectors in a multi-level modeling environment. In: Czarnecki K, Ober I, Bruel J-M, Uhl A, Völter M (eds) Proceedings of MoDELS 2008: 11th international conference on model driven engineering languages and systems, volume 5301 of lecture notes in computer science, pp 843–857. Springer, BerlinGoogle Scholar
  31. GOS07.
    Gitzel R, Ott I, Schader M (2007) Ontological extension to the MOF metamodel as a basis for code generation. Comput J 50(1): 93–115CrossRefGoogle Scholar
  32. GPHS06.
    Gonzalez-Perez C, Henderson-Sellers B (2006) A powertype-based metamodelling framework. Softw Syst Model 5(1): 72–90CrossRefGoogle Scholar
  33. JGJS95.
    Jarke M, Gallersdörfer R, Jeusfeld MA, Staudt M (1995) ConceptBase—A deductive object base for meta data management. J Intell Inf Syst. 4(2): 167–192CrossRefGoogle Scholar
  34. KPP06.
    Kolovos DS, Paige RF, Polack F (2006) The Epsilon object language (EOL). In: Rensink A, Warmer J (eds) Proceedings of ECMDA-FA 2006: 2nd European conference on model-driven architecture foundations and applications, volume 4066 of lecture notes in computer science, pp 128–142. Springer, BerlinGoogle Scholar
  35. KS07.
    Kühne T, Schreiber D (2007) Can programming be liberated from the two-level style? Multi-level programming with DeepJava. In: Gabriel RP, Bacon DF, Videira Lopes C, Steele GL Jr., (eds) Proceedings of OOPSLA 2007: 22nd annual ACM SIGPLAN conference on object-oriented programming, systems, languages and applications, pp 229–244.Google Scholar
  36. MBJK90.
    Mylopoulos J, Borgida A, Jarke M, Koubarakis M (1990) Telos: representing knowledge about information systems. ACM Trans Inf Syst. 8(4): 325–362CrossRefGoogle Scholar
  37. Obj.
    Object Management Group. Web site. http://www.omg.org.
  38. Obj06.
    Object Management Group. Meta-Object Facility Specification, January 2006. http://www.omg.org/spec/MOF/2.0/.
  39. Obj10a.
    Object Management Group. Object Constraint Language Specification, February 2010. http://www.omg.org/spec/OCL/2.2/.
  40. Obj10b.
    Object Management Group. Unified Modeling Language Specification, May 2010. http://www.omg.org/spec/UML/2.3/.
  41. Ode94.
    Odell J (1994) Power types. J Object-Oriented Program 7(2): 8–12MathSciNetGoogle Scholar
  42. Poe06.
    Poernomo I (2006) A type theoretic framework for formal metamodelling. In: International seminar on architecting systems with trustworthy components, volume 3938 of lecture notes in computer science, pp 262–298. Springer, BerlinGoogle Scholar
  43. RdG+12.
    Rossini A, de Lara J, Guerra E, Rutle A, Lamo Y (2012) A graph transformation-based semantics for deep metamodelling. In: Schürr A, Varró D, Varró G (eds) Proceedings of AGTIVE 2011: 4th international symposium on applications of graph transformations with industrial relevance, volume 7233 of lecture notes in computer science, pp 19–34. Springer, BerlinGoogle Scholar
  44. Ros11.
    Rossini A (2011) Diagram predicate framework meets model versioning and deep metamodelling. PhD thesis, Department of Informatics, University of Bergen, Norway, DecemberGoogle Scholar
  45. RRLW09a.
    Rutle A, Rossini A, Lamo Y, Wolter U (2009) A category-theoretical approach to the formalisation of version control in MDE. In: Chechik M, Wirsing M (eds) Proceedings of FASE 2009: 12th international conference on fundamental approaches to software engineering, volume 5503 of lecture notes in computer science, pp 64–78. Springer, BerlinGoogle Scholar
  46. RRLW09b.
    Rutle A, Rossini A, Lamo Y, Wolter U (2009) A diagrammatic formalisation of MOF-based modelling languages. In: Oriol M, Meyer B, Aalst W, Mylopoulos J, Rosemann M, Shaw MJ, Szyperski C (eds) Proceedings of TOOLS 2009: 47th international conference on objects, components, models and patterns, volume 33 of lecture notes in business information processing, pp 37–56. Springer, BerlinGoogle Scholar
  47. RRLW10a.
    Rossini A, Rutle A, Lamo Y, Wolter U (2010) A formalisation of the copy-modify-merge approach to version control in MDE. J Logic Algebraic Program. 79(7):636–658, 2010.Google Scholar
  48. RRLW10b.
    Rutle A, Rossini A, Lamo Y, Wolter U (2010) A formalisation of constraint-aware model transformations. In: Rosenblum D, Taentzer D (eds) Proceedings of FASE 2010: 13th international conference on fundamental approaches to software engineering, volume 6013 of lecture notes in computer science, pp 13–28. Springer, BerlinGoogle Scholar
  49. RRLW12.
    Rutle A, Rossini A, Lamo Y, Wolter U (2012) A formal approach to the specification and transformation of constraints in MDE. J Logic Algebraic Program 81(4): 422–457MathSciNetCrossRefMATHGoogle Scholar
  50. RRM+11.
    Rossini A, Rutle A, Mughal KA, Lamo Y, Wolter U (2011) A formal approach to data validation constraints in MDE. In: Kyas M, Meng S, Stolz V (eds) Proceedings of TTSS 2011: 5th international workshop on harnessing theories for tool support in software, pp 65–76Google Scholar
  51. Rut10.
    Rutle A (2010) Diagram predicate framework: a formal approach to MDE. PhD thesis, Department of Informatics, University of Bergen, Norway, November 2010Google Scholar
  52. SBPM08.
    Steinberg D, Budinsky F, Paternostro M, Merks Ed (2008) EMF: eclipse modeling framework 2.0, 2nd edn. Addison-Wesley Professional, ReadingGoogle Scholar

Copyright information

© British Computer Society 2014

Authors and Affiliations

  • Alessandro Rossini
    • 1
  • Juan de Lara
    • 2
  • Esther Guerra
    • 2
  • Adrian Rutle
    • 3
  • Uwe Wolter
    • 4
  1. 1.Department of Networked Systems and ServicesSINTEFOsloNorway
  2. 2.Escuela Politécnica SuperiorUniversidad Autónoma de MadridMadridSpain
  3. 3.Faculty of Engineering and Natural SciencesAalesund University CollegeÅlesundNorway
  4. 4.Department of InformaticsUniversity of BergenBergenNorway

Personalised recommendations