This page contains an index of articles presenting a range of tools and languages in Epsilon. Should you find that an article contains errors or is inconsistent with the current release of Epsilon, please let us know.
Epsilon Object Language
EOL syntax updates:
This article summarizes the changes introduced in 0.8.7 and 0.8.8 in the EOL concrete syntax.
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.
Epsilon Validation Language
This article demonstrates evaluating EVL constraints from within a GMF-based editor.
Re-using EGL templates:
This article demonstrates how to invoke other EGL templates and direct their output to calling EGL template.
Epsilon and EMF
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.
Scripting XML documents using Epsilon:
In this article we demonstrate how you can create, query and modify plain standalone XML documents (i.e. no XSD/DTD needed) in Epsilon programs using the PlainXML driver.
This article provides a number of exercises which enable you to test your knowledge on MDE, EMF and Epsilon.
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.