The Meta Object Facility (MOF) is one of the most frequently used languages for the definition of a DSL's abstract syntax. However, its lack of sophisticated modularization concepts in comparison to GPLs such as Ada or component-oriented ADLs makes it hard to maintain a large number of complex metamodels. MOF 2.0 packages can be used to a certain extent to define, refine, and compose language descriptions, but do not offer appropriate support for information hiding as well as for the specification of parametrizable metamodeling components. Motivated by a running example we, therefore, extend MOF 2.0 with concepts for the specification of proper metamodel components with provided export and required import interfaces. Furthermore, we present a formalization of a metamodel component composition operator based on graph morphisms. The resulting component-oriented version of MOF allows language developers to describe reoccurring, parametrizable sublanguages once and instantiate them differently in several metamodels.
[1]
Hartmut Ehrig,et al.
Fundamentals of Algebraic Specification 2: Module Specifications and Constraints
,
1990
.
[2]
Andreas Winter,et al.
Referenz-Metaschema für visuelle Modellierungssprachen
,
2001,
Softwaretechnik-Trends.
[3]
Susan Stepney,et al.
A Formal Template Language Enabling Metaproof
,
2006,
FM.
[4]
Tobias Nipkow,et al.
FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings
,
2006,
FM.
[5]
Andy Schürr,et al.
Formalising model transformation rules for UML/MOF 2
,
2008,
IET Softw..