Related approaches

Language comparision


Rather than defining a set of entirely new specification languages we aim at composing the MOFLON specification language (MOSL) by integrating well-known already exitisting modeling languages. We identified in [Öffnet internen Link im aktuellen FensterAKRS06] that we want to support four different sublanguages:

  1. MOFLON should have a visual language to support the development of domain-specific languages and tools.
  2. MOFLON should also provide a textual language that can be used to specify constraints that can not reasonably be expressed visually.
  3. MOFLON should provide a language that allowsd for the specification of the dynamic semantics of domain-specific languages.
  4. MOFLON should allow for the visual and declarative specification of model-to-model  integration rules.

For each sublanguage we identified a number of candidates and came up with a number of requirements in order to assess these candidates:

  1. As the metamodeling language we chose OMG's MOF 2.0 standard. Besides the fact that MOF 2.0 is a current standard it is superior to its competitors due to its sophisticated refinement concepts for modularization and abstraction (i.e. import and merge dependencies on package level, subsets and redefine on association level).
  2. Although, Object-Z is slightly more expressive than OCL 2.0 and otherwise would have been our choice, we chose latter in order to complement the visual metamodeling language with textual elements. We chose OCL because it integrates with MOF 2.0 by design.
  3. For specifying the dynamic semantics of a domain-specific language by means of the well-known formalism of graph transformations it would have been highly desirable to adopt PROGRES' most expressive graph transformation language. Since the PROGRES project in the meantime has become a little bit archaic and out-dated we chose the Story Driven Modeling (SDM) paradigm from Progres successor Fujaba, which is only a little bit less expressive and powerful.
  4. For the specification of model integration rules OMG's QVT standard is currently state-of-the-art. As we started our project the QVT standard was not finally adopted and subject to a number of revision. Hitherto, it lacks a well defined and formalized semantics and has not been fully implemented. Therefore, we started with the concept of Triple Graph Grammars (TGG) and extended them by concept from the QVT standard resulting in an own QVT implementation with the well-defined and well-known semantics of plain graph transformations.

Detailed modeling language features

The next figure [Öffnet internen Link im aktuellen FensterAme04] presents the differences between MOF 2.0 and the more popular UML 1.x/2.x as well as the UML-like notation of the Fujaba tool suite. Currently, we are adding the most desirable feature of qualified associations to MOFLON. For code generation purposes we handle interfaces as classes with a tagged value where stereotype is the key and interface is the value. Using tagged values we are able to cover most of the missing concepts of UML 2.0.

Tool comparision

In order to compare our MOFLON project with other integrated domain-specific language specification tools, we again came up with a number of criteria [Öffnet internen Link im aktuellen FensterAKRS06]. We found out that our tool basically implements OMG's current standards, brings them together with the formailsm of graph transformations, and performs best except of support for concrete syntax. We will plan to address this issue by integrating DiaGen into MOFLON. This integration currently is under work in the DiaMeta project.

Literature

[AKRS06] Carsten Amelunxen, Alexander Königs, Tobias Rötschke, Andy Schürr. MOSL: Composing a Visual Language for a Metamodeling Framework. Proc. Visual Languages and Human Centered Computing, 2006.
[Ame04] Carsten Amelunxen. A MOF 2.0 Editor as Plugin for FUJABA. in: H. Giese, A. Schürr, A. Zündorf (eds.), Proc. 2nd International Fujaba Days, 2004, Vol. tr-ri-04-253, Universität Paderborn, 43-48.