Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

. .

SERGe - SiDiff EditRule Generator

With the growing usage of Model Driven Developement new requirements for tool developers emerge. One requirement is to know which modification can be done on a model if it has to conform to its meta-model standards. In some cases, developers also need to execute those modifications to create specific test data for their own application. However, the process of deriving valid modifications manually and also restructuring them into an executable format can be quite time consuming and often implies knowledge about the specific domain. The effort grows even further if these modifications must not lead to an inconsistent model state by neglecting meta-model constraints.
Therefore we have constructed a generic tool called "SERGe" (SiDiff EditRule Generator) that can derive minimal Consistency-Preserving Edit Operations (CPEOs) of any ecore meta-model automatically. SERGe generates the CPEOs into an executable format that is based on graph transformations, notably Henshin tranformation rules (see Henshin).


  • SERGe can derive edit rules that create/delete/move elements along (differing) containment references, add/remove elements along non-containment references, set/unset/change attributes or references.
  • It can integrate multiplicity preconditions into the CPEOs
  • Other consistency criterias are covered: meta-model type conformance, cycle avoidance concerning containment hiararchies, parallel and opposite reference constraints and the ensurance of a single container to each model object.
  • The generated edit rules are minimal and consistency-preserving, i.e. they cover the least amount of mandatory modifications possible to maintain consistency regarding multiplicity constraints.
  • SERGe can be configured in different ways, e.g. to derive subsets or complete sets of edit rules for a meta-model, reduce the amount of CPEOs by choosing super types in CPEOs, etc.
  • The tool works with arbitrary ecore meta-models.
  • UML Profiles (see UML) can be supported

Current Work:

We are currently analyzing OCL-Constraints for the Integration into CPEOs.

Tool Demonstration:

Since SERGe is a meta tool, it is presented at best in combination with other tools. For our tool demonstration, we show SERGe integrated in another tool SMG of our project group:
  • We provide a tool demonstration within an Open Virtual Format (download)
  • An outline about how to test the tool whithin this virtual machine can be found here
  • A demo video for this can be found here

Example Set of CPEOs

We have generated a set of CPEOs for a simple statemachine meta-model (here).


SERGe can be downloaded here here.
This download contains
  • Project: org.sidiff.editrule.generator.batch.zip (this is for batch execution of SERGe)
  • Necessary Plugins: SergeAndDependencies.zip (extract this content into your eclipse dropins folder)
  • Example Configuration for parts of the UML: exampleConfig.xml (as input when the batch application is run)
The ui-plugins will be provided when complete.

For more information, you can contact Michaela Rindt