Skip to content


This page links to more than 60 articles on various aspects of Epsilon. Should you find that an article is outdated, please let us know.

Epsilon Object Language

  • EOL syntax updates: This article summarizes changes in the EOL concrete syntax over time.
  • Extended Properties: This article demonstrates the extended properties mechanism in EOL (and by inheritance, in all languages in Epsilon).
  • Call Java from Epsilon: This article demonstrates how to create Java objects, access their properties and call their methods from Epsilon languages.
  • Running Epsilon from Java: This article demonstrates how to parse and execute Epsilon programs and load models from headless Java applications.
  • Call Java functional interfaces from Epsilon: This article demonstrates how to call native methods which take functions as their parameter, using lambdas and streams directly from Epsilon using EOL syntax.
  • Profiling Epsilon Programs: This article demonstrates how to profile Epsilon programs using the platform's built-in profiling tools.
  • EOL Interpreter View: This article demonstrates an Eclipse view for running EOL scripts against selected model elements in EMF-based editors.

Epsilon Validation Language

  • EVL-GMF Integration: This article demonstrates evaluating EVL constraints from within a GMF-based editor.
  • EVL-EMF Validation Integration: This article demonstrates contributing EVL constraints to EMF's validation framework.
  • Parallel Execution: This article explains how to use the parallel module implementations for EOL and rule-based languages like EVL.

Epsilon Generation Language

Epsilon Transformation Language

  • XML to EMF Transformation: This article shows how to transform an XML document into an EMF model using the Epsilon Transformation Language and Epsilon's XML driver

Epsilon and EMF models

  • Emfatic language reference: Emfatic is a language designed to represent EMF Ecore models in a textual form. This article details the syntax of Emfatic and the mapping between Emfatic declarations and the corresponding Ecore constructs.
  • Reflective EMF tutorial: This tutorial demonstrates how to create an EMF Ecore metamodel and a sample model that conforms to it reflectively (i.e. without generating any code).
  • Epsilon and EMF: Frequently-asked questions related to querying and modifying EMF-based models with Epsilon.
  • The EMF EPackage Registry View: This article demonstrates the EPackage Registry view which allows developers to inspect the contents of the registered EMF EPackages.
  • Exeed annotation reference: This article lists the annotations you can use on your metamodels to customize the look of the Exeed model editor.
  • Inspecting EMF models with Exeed: This article demonstrates how you can use Exeed to inspect the structure of your EMF models.
  • Working with custom EMF resources: This article demonstrates how you can work with custom EMF resources in Epsilon.
  • Parsing XML documents as EMF models with Flexmi: This article demonstrates how you can use Flexmi to parse XML documents in a fuzzy manner as instances of Ecore metamodels.
  • Modularity Mechanisms in Flexmi: This article demonstrates how you can break down Flexmi models over multiple files and use templates to capture complex reusable structures in your models.
  • Connecting to CDO repositories: This article shows how to connect to an Eclipse Connected Data Objects model repository from Epsilon.

Epsilon and UML models

Epsilon and other types of models





Workflow (ANT Tasks)

Development Environments

  • VS Code: This article provides an overview of how you can edit and run Epsilon programs in the VS Code IDE.
  • Sublime: This repository provides a package that adds Epsilon syntax highlighting capabilities to the Sublime editor.

Human-Usable Textual Notation

Teaching Material

  • MDE Exercises: This article provides a number of exercises which enable you to test your knowledge on MDE, EMF and Epsilon.
  • Epsilon Playground: The Epsilon Playground is a web application for fiddling with metamodelling, modelling and automated model management using Emfatic, Flexmi and Epsilon's languages.

Technical Support

  • Troubleshooting: A list of common issues that (particularly new) users of Epsilon tend to run into.
  • Constructing a helpful minimal example: From time to time, you may run into a problem when using Epsilon or find a bug. This article describes how to construct a minimal example that we can use to reproduce the problem on our machine.

Extending Epsilon


Epsilon Developers