Formal Aspects of Computing

, Volume 22, Issue 3–4, pp 269–296 | Cite as

An algebraic semantics for MOF

  • Artur BoronatEmail author
  • José Meseguer
Original Article


In model-driven development, software artifacts are represented as models in order to improve productivity, quality, and cost effectiveness. In this area, the meta-object facility (MOF) standard plays a crucial role as a generic framework within which a wide range of modeling languages can be defined. The MOF standard aims at offering a good basis for model-driven development, providing some of the building concepts that are needed: what is a model, what is a metamodel, what is reflection in the MOF framework, and so on. However, most of these concepts are not yet fully formally defined in the current MOF standard. In this paper we define a reflective, algebraic, executable framework for precise metamodeling based on membership equational logic (mel) that supports the MOF standard. Our framework provides a formal semantics of the following notions: metamodel, model, and conformance of a model to its metamodel. Furthermore, by using the Maude language, which directly supports mel specifications, this formal semantics is executable. This executable semantics has been integrated within the Eclipse modeling framework as a plugin tool called MOMENT2. In this way, formal analyses, such as semantic consistency checks, model checking of invariants and LTL model checking, become available within Eclipse to provide formal support for model-driven development processes.


MOF Model-driven development Membership equational logic Metamodeling semantics Reflection Formal analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. ABG07.
    Anastasakis K, Bordbar B, Georg G, Ray I (2007) UML2Alloy: a challenging model transformation. In: Engels G, Opdyke B, Schmidt DC, Weil F (eds) MoDELS, volume 4735 of LNCS. Springer, New York, pp 436–450Google Scholar
  2. ABK08.
    Anastasakis K, Bordbar B, Küster JM (2008) Analysis of model transformations via alloy. In: MODEVVA, volume 5002 of LNCS. Springer, New YorkGoogle Scholar
  3. Agg09.
    AGG Homepage (2009)
  4. All09.
    Alloy Analyzer Homepage (2009)
  5. ANR06.
    Aizenbud-Reshef N, Nolan BT, Rubin J, Shaham-Gafni Y (2006) Model traceability. IBM Syst J 45(3): 515–526CrossRefGoogle Scholar
  6. Ber03.
    Bernstein PA (2003) Applying model management to classical meta data problems. In: Proceedings of the 1st biennial conference on innovative data systems research (CIDR)Google Scholar
  7. BeT80.
    Bergstra J, Tucker J (1980) Characterization of computable data types by means of a finite equational specification method. In: de Bakker JW and van Leeuwen J (eds) Automata, languages and programming, seventh colloquium, LNCS, vol 81. Springer-Verlag, pp 76–90Google Scholar
  8. BET08.
    Biermann E, Ermel C, Taentzer G (2008) Precise semantics of EMF model transformations by graph transformation. In: Czarnecki K (eds) MoDELS’08, volume 5301 of LNCS. Springer, New York, pp 53–67Google Scholar
  9. Bez05.
    Bézivin J (2005) On the unification power of models. Softw Syst Model 4(2): 171–188CrossRefGoogle Scholar
  10. BCR05.
    Boronat A, Carsí JA, Ramos I (2005) Automatic support for traceability in a generic model management framework. In: Hartman A, Kreische D (eds) ECMDA-FA, volume 3748 of LNCS. Springer, New York, pp 316–330Google Scholar
  11. BCR06.
    Boronat A, Carsí JA, Ramos I (2006) Algebraic specification of a model transformation engine. In: Baresi L, Heckel R (eds) FASE, volume 3922 of LNCS. Springer, New York, pp 262–277Google Scholar
  12. BCR07.
    Boronat A, Carsí JA, Ramos I, Letelier P (2007) Formal model merging applied to class diagram integration. Electr Notes Theor Comput Sci 166: 5–26CrossRefGoogle Scholar
  13. BGS08.
    Bork M, Geiger L, Schneider C, Zündorf A (2008) Towards roundtrip engineering—a template-based reverse engineering approach. In: Schieferdecker I, Hartman A (eds) ECMDA-FA, volume 5095 of LNCS. Springer, New York, pp 33–47Google Scholar
  14. BHM09.
    Boronat A, Heckel R, Meseguer J (2009) Rewriting logic semantics and verification of model transformations. In: FASE, volume 5503 of LNCS. Springer, New YorkGoogle Scholar
  15. BKM09.
    Boronat A, Knapp A, Meseguer J, Wirsing M (2009) What is a multi-modeling language? In: 19th International workshop on algebraic development techniques, volume 5486 of LNCS. Springer, New York, pp 71–87Google Scholar
  16. BoM09.
    Boronat A, Meseguer J (2009) Algebraic semantics of OCL-constrained metamodel specifications. In: Paige RF, Meyer B (eds) TOOLS (47), LNBIP. Springer, New YorkGoogle Scholar
  17. BOG06.
    Boronat A, Oriente J, Gómez A, Ramos I, Carsí JA (2006) An algebraic specification of generic OCL queries within the eclipse modeling framework. In: Rensink A, Warmer J (eds) ECMDA-FA, volume 4066 of LNCS. Springer, New York, pp 316–330Google Scholar
  18. Bor07.
    Boronat A (2007) MOMENT: a formal framework for MOdel manageMENT. PhD in Computer Science, Universitat Politènica de València (UPV), Spain
  19. BJM00.
    Bouhoula A, Jouannaud J-P, Meseguer J (2000) Specification and proof in membership equational logic. Theor Comput Sci 236: 35–132zbMATHCrossRefMathSciNetGoogle Scholar
  20. BrM06.
    Bruni R, Meseguer J (2006) Semantic foundations for generalized rewrite theories. Theor Comput Sci 360(1–3): 386–414zbMATHCrossRefMathSciNetGoogle Scholar
  21. CDE07.
    Clavel M, Durán F, Eker S, Meseguer J, Lincoln P, Martí-Oliet N, Talcott C (2007) All about Maude—a high-performance logical framework, LNCS, vol 4350. Springer, New YorkGoogle Scholar
  22. CDE99.
    Clavel M, Durán F, Eker S, Meseguer J, Stehr M-O (1999) Maude as a formal meta-tool. In: Wing J, Woodcock J (eds) FM’99—Formal methods, volume 1709 of LNCS. Springer-Verlag, New York, pp 1684–1703Google Scholar
  23. CEK01.
    Clark T, Evans A, Kent S (2001) The metamodelling language calculus: foundation semantics for UML. In: Hußmann H (eds) FASE, volume 2029 of LNCS. Springer, New York, pp 17–31Google Scholar
  24. CEK02.
    Clark T, Evans A, Kent S (2002) Engineering modelling languages: a precise meta-modelling approach. In: FASE 02, volume 2306 of LNCS. Springer, London, pp 159–173Google Scholar
  25. CeS04.
    Cervesato I, Stehr M-O (2004) Representing the MSR cryptoprotocol specification language in an extension of rewriting logic with dependent types. In: Degano P (ed) Proceedings of fifth international workshop on rewriting logic and its applications (WRLA’2004), vol 117, ENTCS. Barcelona, Spain, ElsevierGoogle Scholar
  26. CMP07.
    Clavel M, Meseguer J, Palomino M (2007) Reflection in membership equational logic, many-sorted equational logic, Horn logic with equality, and rewriting logic. Theor Comput Sci 373: 70–91zbMATHCrossRefMathSciNetGoogle Scholar
  27. EEP06.
    Ehrig H, Ehrig K, Prange U, Taentzer G (2006) Fundamentals of algebraic graph transformation. Springer, New YorkzbMATHGoogle Scholar
  28. Emf09.
    Eclipse Organization. (2009) The Eclipse modeling framework,
  29. EMK99.
    Ehrig H, Montanari U, Kreowski H-J, Rozenberg G, Kreowski H-J (1999) Handbook of graph grammars and computing by graph transformations, vol 3. World Scientific Publishing CompanyGoogle Scholar
  30. Fer02.
    Alemán JLF (2002) A formalization proposal of the UML four-layered architecture. PhD thesis, Murcia University (In Spanish)Google Scholar
  31. FeT00.
    Fernández JL, Toval A (2000) Can intuition become rigorous? Foundations for UML model verification tools. In: International symposium on software reliability engineering (ISSRE 2000). IEEE. San Jose, California, USAGoogle Scholar
  32. FeT01.
    Fernández JL, Toval A (2001) Seamless formalizing the UML semantics through metamodels. Unified modeling language: systems analysis, design, and development issues. Idea Group Publishing, pp 224–248Google Scholar
  33. GoB92.
    Goguen JA, Burstall RM (1992) Institutions: abstract model theory for specification and programming. J ACM 39(1): 95–146zbMATHCrossRefMathSciNetGoogle Scholar
  34. Jac06.
    Jackson D (2006) Software abstractions: logic, language, and analysis. The MIT PressGoogle Scholar
  35. JCP02.
    Java Community Process (2002) The Java metadata interface (JMI) specification (JSR 40).
  36. JoB06.
    Jouault F, Bézivin J (2006) Km3: a dsl for metamodel specification. In: Gorrieri R, Wehrheim H (eds) FMOODS, volume 4037 of LNCS. Springer, New York, pp 171–185Google Scholar
  37. Kuh06.
    Kühne T (2006) Matters of (meta-) modeling. Softw Syst Model 5: 369–385CrossRefGoogle Scholar
  38. Lac05.
    Lacy LW (2005) Owl: representing information using the Web ontology language. Trafford PublishingGoogle Scholar
  39. Lud04.
    Ludewig J (2004) Models in software engineering—an introduction. Inform Forsch Entwickl 18(3–4): 105–112CrossRefGoogle Scholar
  40. Mak97.
    Makkai M (1997) Generalized sketches as a framework for completeness theorems. J Pure Appl Algebra 115(1): 49–79zbMATHCrossRefMathSciNetGoogle Scholar
  41. Mau06.
    Maude Development Tools (2006)
  42. MeR04.
    Meseguer J, Roşu G (2004) Rewriting logic semantics: from language specifications to formal analysis tools. In: Proceedings of international joint conference on automated reasoning IJCAR’04, Cork, Ireland. Springer LNAI 3097, pp 1–44Google Scholar
  43. MeR07.
    Meseguer J, Roşu G (2007) The rewriting logic semantics project. Theor Comput Sci 373: 213–237zbMATHCrossRefGoogle Scholar
  44. Mes92.
    Meseguer J (1992) Conditional rewriting logic as a unified model of concurrency. Theor Comput Sci 96(1): 73–155zbMATHCrossRefMathSciNetGoogle Scholar
  45. Mes93.
    Meseguer J (1993) A logical theory of concurrent objects and its realization in the Maude language. In: Agha G, Wegner P, Yonezawa A (eds) Research directions in concurrent object-oriented programming. MIT Press, pp 314–390Google Scholar
  46. Mes98.
    Meseguer J (1998) Membership algebra as a logical framework for equational specification. In: Parisi-Presicce F (ed) Proceedings of WADT’97, LNCS 1376. Springer, pp 18–61Google Scholar
  47. Mom09.
  48. OBM10.
    Ölveczky P, Boronat A, Meseguer J (2010) Formal semantics and analysis of behavioral AADL models in real-time Maude. Technical Report at UIUC (to appear)Google Scholar
  49. OlM07.
    Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of real-time Maude. Higher-Order Symbolic Comput 20(1–2): 161–196zbMATHCrossRefGoogle Scholar
  50. OMG06.
    OMG (2006) Meta Object Facility (MOF) 2.0 Core Specification (ptc/06-01-01)Google Scholar
  51. PMD05.
    Paesschen EV, Meuter WD, D’Hondt M (2005) Selfsync: a dynamic round-trip engineering environment. In OOPSLA ’05: companion to the 20th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications. ACM, New York, pp 146–147Google Scholar
  52. Poe06.
    Poernomo I (2006) The meta-object facility typed. In: Haddad H (ed) SAC, ACM, pp 1845–1849Google Scholar
  53. Ren04.
    Rensink A (2004) Subjects, models, languages, transformations. In: Bézivin J, Heckel R (eds) Language engineering for model-driven software development, volume 04101 of Dagstuhl seminar proceedings. Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, GermanyGoogle Scholar
  54. RRD07.
    Romero JR, Rivera JE, Durán F, Vallecillo A (2007) Formal and tool support for model driven engineering with Maude. J Object Technol 6(9): 187–207Google Scholar
  55. RSA09.
    IBM (2009) Rational Software Architect for WebSphere Software,
  56. Roz97.
    Rozenberg G (1997) Handbook of grammars and computing by graph transformation, vol 1. World Scientific Publishing Company, SingaporeGoogle Scholar
  57. RRW09.
    Rutle YLA, Rossini A, Wolter U (2009) A Diagrammatic formalisation of MOF-based modelling languages. In: Paige RF, Meyer B (eds) Objects, components, models and patterns, 47th international conference, TOOLS EUROPE 2009, Zurich, Switzerland, June 29–July 3, 2008. Proceedings, LNBIP. Springer, New YorkGoogle Scholar
  58. SAE07.
    SAE. (2007) AADL
  59. Sei03.
    Seidewitz E (2003) What models mean. IEEE, Software 20(5): 26–32CrossRefGoogle Scholar
  60. SeK03.
    Sendall S, Kozaczynski W (2003) Model transformation: the heart and soul of model-driven software development. IEEE Softw 20(5): 42–45CrossRefGoogle Scholar
  61. SRM09.
    Serbanuta T, Roşu G, Meseguer J (2009) A rewriting logic approach to operational semantics. Inf Comput 2007: 305–340CrossRefGoogle Scholar
  62. StM04.
    Stehr M-O, Meseguer J (2004) Pure type systems in rewriting logic: specifying typed higher-order languages in a first-order logical framework. In: Essays in memory of Ole-Johan Dahl, LNCS, vol 2635. Springer, New York, pp 334–375Google Scholar
  63. ToF00.
    Toval A, Fernández JL (2000) Formally modeling uml and its evolution: a holistic approach. FMOODS’00, formal methods for open object-based distributed systems, September 2000. Stanford, California, USA. Kluwer, DordrechtGoogle Scholar
  64. Tri08.
    Triskell Team (2008) Kermeta,
  65. Wsb07.
    OASIS (2007) Web services business process execution language version 2.0,

Copyright information

© British Computer Society 2010

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of LeicesterLeicesterUK
  2. 2.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbanaUSA

Personalised recommendations