MOMo - MOF Meta-Modeling Tools

Note: MOMo has ended in 2004.

Modeling methods and tools attract more and more attention in all areas of software development. A common problem is that modeling languages do not contain exactly the needed set of modeling elements. Currently, the solution for this problem is to abuse modeling elements or to use several modeling languages and tools in parallel. A better solution for the problem is a modeling language which is adapted to the specific modeling problem. One way to define modeling languages is to define a meta-model which determines the modeling elements of the language. The Meta Object Facility (MOF) of the Object Management Group (OMG) is a standard for defining meta-models. The best-known example of a MOF based meta-model is the meta-model of the Unified Modeling Language (UML).


Within the MOMo project, we designed and implemented two tools, MOMoC and MOMoM, which help to define and implement MOF-based meta-models. MOMoC, the MOMo Compiler, takes MOF meta-model definitions in the XMI (XML Metadata Interchange) format and generates implementations. Its frontend is implemented in Java and generates an XML representation of the meta-model. This representation is easier to process than the XMI representation. The MOMoC backend is implemented in XSLT. It processes the internal representation and generates meta-model implementations. Implementations are compatible to nsuml and the JMI (Java Metadata Interchange) standard. MOMoM, the MOMo Modeler, is a tool to define MOF meta-models. Its implementation is based on ArgoUML, which is an Open-Source Java implementation of a UML case tool.

Project Partners

Related Dissertations

  • L. Bichler: "Codegeneratoren für MOF-basierte Modellierungssprachen", Universität der Bundeswehr München, November 2004.