Today, Christian Merenda writes a guest post to share his thoughts about model-driven engineering and to present OOMEGA , an open source model-driven engineering (MDE) platform. Enjoy the post!

Model-driven engineering is a consequential evolution in computer sciences. Traditionally only a few people designed programming languages like JavaTM and these general purpose languages were used by loads of programmers. MDE tools, in contrast, equip every single engineer with the ability to instantly create the required domain-specific language. The challenge for MDE tools like OOMEGA is to offer a very economic way to produce. Otherwise the extra cost of language design outweighs the benefit of a custom modelling language that perfectly fits your needs. The ultimate goal is to make language design “affordable to everyone” in terms of know-how, time and effort.

What is OOMEGA?
OOMEGA is an open source product that provides a model-driven engineering workbench based on the Eclipse platform. It takes only a few minutes to invent and produce a domain-specific language.

Here are some characteristics of the platform:

  • There is a clear separation of abstract syntaxes and concrete syntaxes.
  • You may define many concrete syntaxes for one and the same abstract syntax.
  • You can edit your models with text-, graphical- and form-based editors in parallel.
  • Text editors with syntax highlighting, linking and incremental parsing are instantly provided. No programming effort required!
  • M2M- and M2T-transformations are supported by featuring ATL and Xpand.
  • You can store your models in various relational and object databases.
  • Models can be shared with a standard CVS or SVN repository. Your text syntax will be utilised for that purpose.

See a screenshot of the model navigator and text editor

Why OOMEGA? Why not EMF?
OOMEGA’s front-end is based on the EclipseTM platform. However, the core is not based on EMF. You wonder why?

There’s a simple answer to this question: we believe that the meta-metamodel is a major source of innovation. That sounds weird in the first place , especially when you think of the OMG’s initiative to
standardize the meta-metamodel in terms of the MOF and EMOF specifications. However, in my opinion, standards compliance is often, not always, a pseudo-guarantee and destroys a major source of innovation. We want to provide the best and most innovative solution to language engineers and therefore maximum flexibility is needed to design the core of the system. Consequently we introduced the metamodelling language M2L, which is powerful, compact, self-describing, and based
on a scientific foundation: the Edge Algebra.

Compatibility with third-party tools
Though we do not make a compromise when designing the system’s core AND its meta-metamodel, OOMEGA is an open system and interacts with outstanding tools of the MDE community.

  • OOMEGA’s front-end is embedded in the EclipseTM IDE.
  • The ATLAS Transformation Language (ATL) can be used to do Model-to-Model transformations.
  • Model-to-Text transformations can be accomplished with the Xpand template language (formerly provided by openArchitectureWare).
  • Model repositories are realized on top of leading object databases. Besides we provide a mapping to relational databases via HibernateTM.

 

Pin It on Pinterest

Share This