eMoflon::IBeX

eMoflon::IBeX is an open source tool suite to implement incremental model transformations formally based on the notion of graph transformations. Graph transformations are a declarative and rule-based way to define how a graph (our model) changes. Usually, this is done by writing transformation rules that describe preconditions, i.e., patterns that state when a rule should be applied, and postconditions that state how the rule will change our model. eMoflon::IBeX then generates code that implements your rules ensuring that they are only applied on appropriate locations. In addition to that, we employ state-of-the-art incremental graph pattern matching techniques to react to model changes promptly and efficiently. Note that our tool is released as an Eclipse plugin and makes use of the Eclipse Modeling Framework (EMF) to design and visualize (meta-)models. Our tool comes with two main components, namely GT and TGG. The former lets you implement generic model transformations in a unidirectional way. The latter enables you to implement different bidirectional model transformations to restore consistency between two models from one sole specification, e.g., synchronisers and translators.

Feature Overview


eMoflon::IBeX-GT

eMoflon::IBeX-GT lets you implement unidirectional model transformations by specifying declarative graph transformation rules. These rules consist of (1) a pattern that has to be found in a model for the rule to be applicable and (2) the actions that are to be performed when this pattern is matched, e.g., creating and deletings elements or modifying their attributes. Using the rule specification, eMoflon::IBeX-GT generates a Java API to execute the model transformations, while guaranteeing that each rule acts according to its specification. Besides that, you can also use eMoflon::IBeX-GT to search for patterns in a model without applying any changes to them.

Feature Overview


eMoflon::IBeX-TGG

Warning

The development of eMoflon::IBeX-TGG was discontinued in 2024.

Triple Graph Grammars (TGGs) are a declarative and rule-based technique to specify bidirectional model transformations. Basically, this means that TGGs are used to express a consistency relationship between two models. This relationship in the form of a set of grammar rules is then automatically transformed to obtain different consistency restoring operations such as translators or synchronizers. Based on the formal graph transformation framework, TGGs provide strong guarantees regarding correctness.

Feature Overview

Operational Strategies


Download

Check out our download page to download latest versions of eMoflon::IBeX.

Getting Started

Check out our getting started page to get started with eMoflon::IBeX.

Development

Check out our development page to set-up your eMoflon::IBeX development workspace.

Support

If you have any problems or questions use our eMoflon::IBeX issue tracker.