A. Garcia-Dominguez

Epsilon

Epsilon is a family of task-specific languages for model handling. All languages have a single ancestor: the Epsilon Object Language, which is an imperative language inspired on OCL. Some of these tasks include:

  • Model-to-model transformation (Epsilon Transformation Language)
  • Model-to-text transformation (Epsilon Generation Language)
  • Model validation (Epsilon Validation Language)
  • Model comparison and merging (Epsilon Comparison Language, Epsilon Merging Language)
  • Model migration between two versions of a metamodel (Flock)

Epsilon also includes tools such as Eugenia (which reduces the learning curve for creating GMF-based graphical editors) or EUnit (an unit testing framework specialized on testing model handling operations).

EUnit was my main contribution from my 3-month stay at the University of York from February 2011 to May 2011. I continue contributing to the Epsilon project as an Eclipse Committer.