Epsilon Wizard Language

EWL is a language tailored to interactive in-place model transformations on user-selected model elements (unlike ETL which operates in a batch mode). EWL is particularly useful for automating recurring model editing tasks (e.g. refactoring, applying patterns or constructing subtrees consisting of similar elements). EWL is integrated with EMF/GMF and as such, wizards can be executed from within EMF and GMF editors


  • Support for simultaneously accessing/modifying many models of (potentially) different metamodels
  • All the usual programming constructs (while and for loops, statement sequencing, variables etc.)
  • Support for those convenient first-order logic OCL operations (select, reject, collect etc.)
  • Ability to create and call methods of Java objects
  • Support for dynamically attaching operations to existing meta-classes and types at runtime
  • Support for cached operations
  • Support for extended properties
  • Support for user interaction
  • Ability to create reusable libraries of operations and import them from different Epsilon (not only EOL) modules

Examples and Screencasts


Chapter 7 of the Epsilon book provides a complete reference of the syntax and semantics of EWL.