Epsilon is a family of languages and tools for code generation, model-to-model transformation, model validation, comparison, migration and refactoring that work out-of-the-box with EMF and other types of of models.
At the core of Epsilon is the Epsilon Object Language (EOL), an imperative model-oriented language that combines the procedural style of Javascript with the powerful model querying capabilities of OCL.
Epsilon provides several task-specific languages, which use EOL as an expression language. Each task-specific language provides constructs and syntax that are tailored to the specific task. The task-specific languages provided by Epsilon are:
In addition to the languages above, Epsilon also provides several tools and utilities for working with models.