project background
 
 
 
 
 
 
 
 

News

Feb 29, 2012
Code Generation 2012 conference

Code Generation conference is Europe’s leading event on the practical applications of Model-Driven S…

Apr 7, 2011
Language Workbench Competition 2011

The objective of the language workbench competition is to compare the strengths and weaknesses of va…

Nov 17, 2010
OOMEGA: A new MDE workbench for Eclipse

Today, Jordi Cabot, the current leader of the AtlanMod team, an INRIA research group at École des Mi…

Welcome to OOMEGA!

OOMEGA is an open source model-driven engineering (MDE) platform - based on a solid object persistency solution that naturally provides database and team support to your modelling environment.

With OOMEGA it has never been easier to develop domain-specific languages that match the requirements of your project.

Most important features

OOMEGA's modelling environment is an extension to the Eclipse platform. It equips the software architect with a rich set of well-integrated features that in sum are best suited to efficiently operate MDE projects.

Eclipse Logo

IDE/Eclipse Integration

MDE is most often applied to software projects. Then models and traditional source code complement one another and together form the software product. Within MDE - in contrast to the original CASE methodology - models actually become a part of the working software. Thus it is important that models can be edited in the standard IDE. With OOMEGA there's no tool barrier. You can edit both, models and code, in your favourite IDE - in Eclipse!

TMK Logo

Textual Modelling

OOMEGA instantly provides textual model editors for your domain-specific languages. Those Eclipse editors realize both, the background parsing strategy as well as the MVC pattern. Hence you can complement your textual DSL with graphical or form-based editors and edit the very same model with different editors concurrently. At the same time textual editors remain comfortable, i.e. you can type arbitrary words just as you would do in a standard Java editor. As a matter of course there are features like syntax highlighting and hyperlinking.

Versant Logo

Database Support

Especially when a large system shall be designed and models become larger and larger you can count on OOMEGA's database support. OOMEGA provides an easy-to-use, powerful and standardized API to db4objects, Hibernate and Versant. Moreover we've implemented an in-memory ODBMS. That's why you can exchange the database back-end at any time and choose the appropriate technology for storing your metamodels and models.

Subversion Logo

Team Collaboration

OOMEGA technically supports teamwork in two alternative, but complementary ways: interactive modelling and local repositories.

  • The former is a highly interactive modelling environment based on a central model database. Whenever you commit your changes others will immediately notice your work as their editors will be notified by OOMEGA's Client/Server protocol.
  • Local repositories with the well-known Update/Commit/Merge operations are supported as well. You can simply use CVS or SVN and merge your models on the basis of appropriate textual representations.
openArchitectureWare Logo

Model-to-Text Transformations

Model-to-Text (M2T) transformations are most often needed in MDE projects. OOMEGA offers a built-in code generation engine that is based on Java Server Pages (JSP) technology. Alternatively you are welcome to use openArchitectureWare. OOMEGA's Java Model Access API and query language is used to explore models in the context of JSP or Xpand templates. Hence, whatever code generator you prefer, it will provide more features than simple template processing.

ATL Logo

Model-to-Model Transformations

OOMEGA offers Model-to-Model (M2M) transformations by supporting the ATLAS Transformation Language (ATL). ATL is a prominent open source project that provides a M2M transformation language and an interpreter for it. Thanks to the good working relationship to the ATL team member Frédéric Joualt and his support we could implement an OOMEGA-specific virtual machine for ATL.

Java Logo

Java Model Access API / Query Language

One of OOMEGA’s major strengths is an innovative object persistency solution that provides an easy-to-use, powerful and standardized Java API to db4objects, Hibernate, Versant and OOMEGA’s in-memory ODBMS.

The Java Model Access API offers not only a flexible query language but also well-engineered features like transaction management, nested transactions, event notifications, cascading deletions, and dynamic access via reflection.

Apache Ant Logo

Automated Builds

Modern software and MDE projects typically rely on automated builds. Apache Ant and Maven are widespread build tools that offer fully-automated, repeatable and customisable software builds.

M2M/M2T transformations are typically part of a build cycle, thus we offer Ant tasks and Maven Mojos for ATL, oAW and OOMEGA’s generator.

XML Logo

XML Support

For compatibility and other reasons it’s quite nice to have an XML binding for metamodels and models.

  • XML Schema (XSD) documents can be transformed to metamodels and vice versa.
  • XML documents can be transformed to models and vice versa.

The 2 minute test

OOMEGA supports the rapid creation of domain-specific languages (DSL). This can be done in a few steps.

  • You typically start with a metamodel definition that covers the structure of your language (= abstract syntax). The heart of every MDE solution is an appropriate metamodelling language. We offer object-oriented modelling features like class inheritance, bidirectional and self-connected associations, compositions, fine-granular multiplicities, inferred fields and others.

  • Then you define a textual concrete syntax on the basis of an already specified metamodel. There should be no redundancies between a metamodel definition and a concrete syntax specification, i.e. the concrete syntax complements the abstract syntax. This is the case for OOMEGA – moreover it is possible to define different concrete syntaxes for one and the same metamodel.

  • Finally you generate Java archives and Eclipse plug-ins for your DSL. This is supported by the OOMEGA toolkit, i.e. you can immediately start your Eclipse modelling workbench.

The Eclipse modelling workbench supporting your DSL looks like this.

2 minute Screenshot

Please notice the editor tabs at the bottom of the “Subsystem” editor: you can extend your textual DSL by graphical of form-based editors.

What to do next?

  • You are not sure yet, whether OOMEGA provides the right MDE platform for you? Then please investigate our features.

  • You want to immediately test our software for free. Then switch to the Try now section. No registration required!

  • You need information about how to use OOMEGA? Please have a look at our online documentation and our online tutorials.

  • If there are any questions, please raise them in OOMEGA's mailing list.

  • Finally if you encounter a bug, we encourage you to raise it in our issue tracking system. That helps us to constantly improve the software.