Examples
!!! tip “Looking for in-depth articles?” This page contains links to a selection of example projects in Epsilon's Git repository. If you are looking for more in-depth articles describing different features of Epsilon, please visit the articles section of the website.
Each example in this page comes in the form of an Eclipse project, which is stored under the examples dirctory of Epsilon's Git repository. To run an example, you need to:
- Clone the repository
- Import the project in question into your Eclipse workspace
- Register any Ecore metamodels in it
- Right click the
.launch
file in it - Select
Run as...
and click the first item in the menu that pops up
!!! warning To avoid copying the same metamodels across different example projects, some projects reuse Ecore metamodels stored in the org.eclipse.epsilon.examples.metamodels project.
If you are unable to run any of the examples below, please give us a shout.
Epsilon Object Language
Epsilon Transformation Language
Epsilon Generation Language
Epsilon Validation Language
Epsilon Merging Language
Epsilon Flock
Epsilon Model Generation Language
Epsilon Pattern Language
Combining the Epsilon Languages
- Use Epsilon in standalone Java applications: In this example, we demonstrate how Epsilon languages can be used in standalone, non-Eclipse-based Java applications.
- MDD-TIF complete case study: In this example, we demonstrate how different languages in Epsilon (EVL, EGL, EML, ETL and ECL) can be combined to implement more complex operations.
- Compare, validate and merge OO models: In this example, we use ECL to compare two OO models, then use EVL to check the identified matches for consistency and finally EML to merge them.
- Construct a workflow to orchestrate several Epsilon programs with Ant: In this example we demonstrate how to use the built-in Epsilon Ant tasks to define a workflow by combining several Epsilon programs. Here, we validate, transform and generate HTML from a flowchart model.
- Provide custom/extended tasks for the workflow: In this example we demonstrate how you can define your own ANT tasks that extend the Epsilon workflow tasks.
- Use model transactions in a workflow: In this example we demonstrate using the ant-contrib try/catch tasks and the Epsilon model transactions tasks to conditionally rollback changes in models modified in a workflow.
Eugenia
EUnit
Even more examples
More examples are available in the examples folder of the Git repository.