What is Epsilon?
Epsilon is a platform of languages and tools for model management in MDE. It contains several task-specific languages that support the following MDE tasks:
- Imperative model navigation and modification (EOL)
- Model validation (EVL)
- In-place model transformation (EWL)
- Model-to-model transformation (ETL)
- Model-to-text transformation (EGL)
- Model comparison (ECL)
- Model merging (EML)
The most important feature of Epsilon is that all the languages above are based on the imperative model navigation and modification language of the platform (EOL), and therefore, once somebody learns this simple OCL-based language, moving to languages for other tasks is easy.
Another noteworthy features of Epsilon is that its languages can be used to manage multiple models of different technologies (e.g. EMF, MDR) simultaneously. Also, Epsilon provides a bridge to Java so that Java-object methods can be called from Epsilon programs.
What's in this guide?
Mainly hyperlinks. There is already a fair number of places on the web that explain different bits of Epsilon, so instead of duplicating them here we thought it'd be a better idea to provide hyperlinks to them instead. The documentation section of the Epsilon website is the best place to look for examples, turorials and screencasts.