Epsilon Examples

Epsilon Logo

Examples (11 so far...)

This page contains working examples of using the Epsilon languages. All examples are accompanied by the required metamodels, models, source files and Eclipse launch configurations. This introduces some replication as copies of the same models/metamodels exist in more than one examples. However, our intention is that each example is complete and self-contained. (Instructions for checking out files from the CVS are provided here)

Reporting issues

Should you find an example that does not work with the current version of Epsilon please let us know by sending a message to the GMT newsgroup.

Building an Object Oriented model

  • Download, CVS
    This EOL program builds a simple Object Oriented model from scratch. It is a useful example of the basic features of EOL.

Generating Documentation for an Ecore metamodel

  • Download, CVS
    This application uses EGL to generate HTML-based documentation for Ecore metamodels.

Running EOL from Java

  • Download, CVS
    This example shows how EOL can be run from Java code (without the Eclipse-based tools).

Annotating an Object Oriented metamodel with Exeed-specific annotations

  • Download, CVS
    In this example, an Object Oriented ECore metamodel is annotated with Exeed-specific annotations so that instances of it can be visualized properly with the Exeed editor. (Updated 28 Feb 2007)

Merging two Object Oriented models

  • Download, CVS
    In this example, an ECL comparison is used to compare two Object Oriented models. Then its match-trace is input into an EML merging that merges the two models.

Aspect Oriented Modelling

  • Download, CVS
    In this example, ECL and EML are used to implement the aspect oriented modelling case study presented at http://reuseware.sourceforge.net/index.php?title=Aspect_Oriented_Modeling_(example)

Merging an Entity model with a Vocabulary model

  • Download, CVS
    In this example, an ECL comparison is used to compare an Entity with a Vocabulary model. Then its match-trace is input into an EML merging that merges the two models. Coordination is achieved using the Epsilon ANT tasks. This example demonstrates that ECL and EML can be used to compare/merge heterogeneous models.

Validating an Object Oriented model

  • Download, CVS
    This EVL validation contains constraints and critiques that validate an Object Oriented model.

Implementing Dijkstra's shortest path algorithm

  • Download, CVS
    In this project an EOL program implements Dijkstra's shortest path algorithm for directed graphs. Moreover, an EVL module validates that a graph is acyclic and has only positive weight-edges as required by the algorithm.

Generating a GraphViz graph from a MOF1.4 metamodel

  • Download, CVS
    This EOL program generates a textual representation of a graph that can be visualized using the Dot program of the Graphviz (www.graphviz.org) platform.

Transforming an Object Oriented model into a Relational Database model

  • Download, CVS
    This ETL transformation transforms an Object Oriented model into a Relational Database model. The type mappings between the OO and the DB metamodel are provided in a separate Type Mapping model.