Ready-to-use Eclipse Juno (4.2) distributions containing a stable version of Epsilon (v1.0), EMF, GMF, and Emfatic. You will only need a Java Runtime Environment.

Windows 32bit Windows 64bit Mac OS X 32bit Mac OS X 64bit Linux 32bit Linux 64bit

Note for Windows users: Please make sure that you extract the downloaded distributions close to the root of a drive (e.g. C:/D:) as the maximum path length on Windows may not exceed 256 characters.

Note for Mac OSX Snow Leopard users: The above distributions require Java 1.7 which is not available for Mac OSX Snow Leopard. To assemble a 1.6-compatible version of the Epsilon distribution, please download one of the distributions above, and re-install Emfatic from the following update site:


Dependencies (optional)


What do I do with these?

The development tools of Epsilon come as a set of Eclipse plugins and therefore, to install Epsilon you need to download and install a Java Runtime Environment and Eclipse (including EMF, GMF and Emfatic in order to use the full range of its capabilities) first. The Eclipse Juno Modeling Tools distribution contains most of the necessary prerequisites for Epsilon and is available for the following platforms.

Windows 32bit Windows 64bit Mac OS X 32bit Mac OS X 64bit Linux 32bit Linux 64bit

Once you have downoaded one of the Modeling distributions above, you will need to
  1. Install GMF through the Help->Install Modeling Components menu of Eclipse
  2. Install Emfatic through the Help->Install New Software menu of Eclipse using the Emfatic update site above
  3. Install Epsilon through the Help->Install New Software menu of Eclipse using one of the Epsilon update sites (stable or interim/bleeding edge)

If you are not familiar with Eclipse/plugin installation, this tutorial provides an excellent crash course.

Which features should I install?

If you are a first-time user, we recommend installing them all. Otherwise, you may want to install only those that you need:

  • Epsilon Core: provides the execution engines required to run E*L scripts and EUnit test suites.
  • Epsilon Core Development Tools: provides the development tools required to write new E*L scripts (editors, EUnit test results view, Ant tasks...).
  • Epsilon EMF Integration: provides the Epsilon Model Connectivity driver required to use EMF-based models in Epsilon.
  • Epsilon Development Tools for EMF: provides useful tools for developing E*L scripts that work with EMF-based models, such as Exeed, ModeLink, EMF model comparison for EUnit test suites and so on.
  • Epsilon Validation Language EMF Integration: allows for integrating EVL scripts with the standard EMF model validation facilities.
  • Epsilon Wizard Language EMF Integration: allows for invoking EWL wizards on the appropriate elements in an EMF model, from the standard tree-based editors generated by EMF.
  • Epsilon Wizard Language GMF Integration: allows for invoking EWL wizards on the appropriate elements in an EMF model, from the graphical editors generated by GMF.
  • Eugenia: provides an environment for easily creating GMF editors from a set of text files.
  • Human Usable Text Notation Core: provides the EMC driver required to load models written in the OMG HUTN textual notation.
  • Human Usable Text Notation Development Tools: provides an editor for models written in OMG HUTN.
  • Epsilon Concordance: provides a tool that detects, reconciles and reports broken cross-resource EMF references.

The source code of Epsilon is stored in the following Git repository.

Release tag

Version 1.0 fixes the bugs and implements the enhancement requests below.

# Description Reporter
385900 Build Error With Source
333740 Errata in EpsilonBook.pdf, 29-Nov-2010 (mostly typos)
258871 With strict PDE compiler preferences, Epsilon fails to build.
415037 Ref attributes propositions are missing when editing a model (Exeed)
358198 Performance testing
390836 Preserve files that are not modified
379703 Add @multiple anontation to allow rule to execute multiple times
407947 ETL transformation rule execution time increases
297037 Validating UML 2.1 class diagram using EVL won't show nothing under the "Problems" view
412314 EGL not reponding
328675 Unresolve eProxy
316537 links created with EWL do no appear in diagram
407751 Undefined model/type warning on incorrect syntax for enumeration literal
404707 Concordance stops one of my Eclipse workspaces from opening
381332 Epsilon book fixes
287542 Checks for EVL quick fixes aren't run in read-only mode from the EMF editor's "Validate" menu entry
348092 EOL Annotations failing silently
397560 ModelLink documentation problem
274095 Non-Synchronized GMF validation model marker inconsistency
317947 Eugenia generation fails silently due to incorrect naming conflict
385388 Method allInstances not found at run EUnit test
313759 epsilon.loadModel readOnLoad failure
312431 Epsilon ANT build cycles from failure to success
386255 epsilon.loadModel fails for relative paths
284383 Exemplar metamodels could use GMF editors
395262 Exception due to opening dialog in non-UI thread
331523 [Eugenia] internal error when using "synchronize GMF gen model" more than once
344643 [Eugenia] GenerateAllDelegate do not call the FixGenModelDelegate (request)
394111 [Eugenia] Appear in the editor two gmf.links (instead of one) between two gmf.nodes
278000 Suite of annotated emf files with gmf annotations
392428 Node with figure="polygon" does not generate correct code
358216 Moving Epsilon from GMT to EMFT
394943 Migrate Epsilon website to Git
394430 [EVL] Quick Fix is disabled(The editor shows the error but the Quick Fix is not enabled)
386240 Invalid thread access with EVL and XText
380597 Feature reorganization
393957 Epsilon integer as long to argument of constructor
393962 Generate random value for large range
393941 Regression in quote/parentheses auto-closing
386351 Internal errors reported from EVL script
386131 [EuGENia] Affixed nodes affected by GMF(?) bug
376709 (EGL) editor error for import plugin-based URI
381180 [Patch] Fix for NullPointerException and correct validate() return value in EvlValidator
380693 Validating very similar (equal) objects
379355 Source field of Diagnostic not filled in
353473 Epsilon does not find a model type if it is registered via EPackage.Descriptor
384438 Code highlighting and Variables view in Epsilon debuggers
343777 Eclipse stop responding with an recursive "import"
292241 [EuGENia] optional labels for nodes
282087 Support more than one metamodels per EMF model
347367 [EOL] Allow per-resource global variables
359088 [Debugger] Show more information in the Variables view
360629 [Eugenia] Minor inconsistencies in the workflow
368586 Validation on diagram with external references
376706 Epsilon book does not mention throw statement
378998 Remove (strict) dependency on GMF for epsilon.evl.emf.validation
379561 Context operations broken for objects that implement Iterable
379699 Abusive cast of PrintStream to ByteBufferTeePrintStream in EUnitXMLFormatter
382666 isOfKind and isOfType are prone to name conflicts with relative type references
383237 [Debugger] Clicking on a stack frame does not jump to its current statement
339261 EpsilonTestSuite fails on test case "testRemove" from CollectionsTests.eol
341809 [Concordance] Failing acceptance tests
366578 [Workflow] LoadModel task produces NPE when a metamodel has not been registered
371197 Built-in variable System not available in EGL operations
371213 [Flock] Migration should not copy elements of a type that does not belong to the original metamodel
371260 [EGL] Should use given pretty printers
371724 [EMC] XML Driver ANT task does not respect read/store attributes
371727 Resetting a module does not clear operations
376293 Missing plugins when installing only 'Epsilon Core'
376968 Protected region id cannot contain /
377087 Pasting texts containing characters that are automatically closed goes wrong
380856 EUnit check doesn't check on headless build
381984 Protect against invalid icon property for new model types
382405 Differences in "New File Wizard" for ECL files
383547 Matching URIs
376154 Undo not working properly for automatically inserted closing characters
286148 EVL fix parts do not allow guards, but the Epsilon Book states otherwise
355820 [EGL] TemplateFactory#load changes the path from which templates are loaded
328244 HUTN problem with closed projects
359921 [Eugenia] Add polygon and SVG figures and allow for omitting labels
383759 Tasks cannot be interrupted by pressing stop-button
340491 EVL process keeps running
390339 isReal() returns true when the number is an integer
389725 [emfatic] select text results in Unhandled event loop exception
286017 Resource not found: "/project:/ProjectName/PathToModel" when applying EVL quick fix
341941 EVL Ant task does not honor failOnWarnings
340669 [EOL] Implement Map literals
340195 assertEquals fails with large Long values
335522 [Patch] Allow EWL to load additional EPackages into packages registry
286215 Assert operations not mentioned in the Epsilon book
285559 Loading EMF models with ANT throws ResourceException under MacOS
384415 [Eugenia] code generation from genmodel fails if package and class have same name
351812 ClassCast exception on an almost empty transformation
327646 Eugenia can go into infinite loop when generating gmfmap , gmftool and gmfgraph files.
362473 Change URL to GMF Tooling at page:
377971 forAll() returns true if applied to empty collection
351571 gmf.compartment.layout = “rowlist” instead of "list" and "free"
383100 Epsilon installation for Mac OS X 64bit not successful
349199 Nullpointerexception in console from GmfGen query in FixGMFGen.eol
313773 Syntax of iterate operation (EOL)
329426 Generation of xmi:id
260107 [Epsilon] Missing and out-of-order dependencies for Epsilon plugins/features
296930 [HUTN] Slots should not permit mixed reference and containment values
319969 Collection.excluding() no longer exists
264709 [Eugenia] Typo in the Wiki: roundedrectangle => rounded
279789 Default attribute values in HUTN
285905 EolModelElementType#isInstantiable returns wrong values
288622 Epsilon Book typo
289365 ETL regression affects HUTN
289624 isDefined() and isUndefined() are asymmetric for zero-length string
236270 HUTN is not working for Epsilon 1.3.5 (AntlrAst!Ast)
316355 [Flock] Model element identities should be persisted
317753 Extended properties on nested sequences are silently discarded
270977 [EOL] Equals sign for performing assignment
342886 [EGL] Internal exceptions are no longer reported
232457 String wrapping under -> and .
277252 Improve support for registered EPackages
305665 [EOL] Assigning null to single-value Ecore features
320642 [EGL] Importing a non-existent file does not produce an error
347016 [EGL] Operations should have access to out and dynamic sections
349207 [EOL] All empty Sequences have the same extended properties
264257 [Eugenia] Issue generating .gmf* files when a project does not live in the eclipse workspace
270570 Consider making EolReal use double as storage instead of float
314664 Cannot open .genmodel after synchronizing
278190 EuGENia 0.8.5 doesn't work in Linux
325010 Exeed editor does not support dynamic packages
338070 sortBy() should always return a Sequence
346016 EOL Editor Supported Comments
324179 [EOL] Clone functionality does not work due to EmfTool can't be found
351605 EuGENia RCP generation annotation support
308627 Epsilon doesn't resolve enumerations in nested subpackages
323150 [HUTN] Support generation of Longs, Shorts, Bytes and Doubles
323248 [EOL] DTs incorrectly highlights some types
323804 [HUTN] Shorthand forms for object
360114 Assignment operator mistaken for equality operator
284987 EOLString operation to check if it can be parsed as an EOLInteger
287682 Browse EPackages button not disabling
319970 Defining primitive type variables causes an exception to be reported
324591 [Concordance] Feature is lacking core.hashing
328325 Assignment using = fails in switch-case
346641 Better support for real literals
286007 ModelsConfigurationTab should allow subclasses to add extra controls
291599 [HUTN/XMI] Check conformance with registered metamodel should produce error markers with correct line numbers
317860 EolCollection#includesAll returns true for disjoint sets
321001 Operation return types are not checked
224791 [Epsilon] Enhancement: Introduce 'One' Operation
286126 EVL / GMF integration does not refresh diagram editor after applying quick fix
320992 Incorrect translation of Unicode UTF-8 character when Using ETL
349972 [EOL] Unqualified types can be ambiguous
255046 AbstractModule.parse should throw exception on any problem
283852 Map method keySet()
309948 Regression: Handling of target in EglTask broken
319490 [Eugenia] Problems in the generated editor. The Folder item (in the tutorial) is not generated correctly
331083 Console clears after executing Ecore2GMF.eol and before FixGMFGen.eol
331205 [EOL] Any#Format
254990 Missing SVG image support in Eugenia
274544 Access to arbitrary metamodels in EVL
296809 [Eugenia] @gmf.affixed does not work with shapes with compartment
313119 [EGL] Use of static sections in operations should cause better error message
213285 Inconsistency between isKind and isKindOf
268085 [Eugenia] Wishlist (part 3) of annotations that should make it from the .emf file to the .genmodel, or .gmfgen file, resp.
279593 delete statement should accept collections as well
353138 URL for GMF Tooling for install instructions is wrong
258912 epsilon.disposeModel leads to runtime error
278503 enums defined in the metamodel are not accessible in a EOL script
286849 "Resource does not exist" with epsilon.emf.register and permanently=true
319692 Can't install Epsilon Core Feature on Helios (Classic Edition)
286181 Epsilon Book - Add description of Any#type() operation,
291584 Nested Operations by importing EOL Files - using Java
303323 Epsilon editors hang when outline view is not displayed
319989 select() doesn't preserve the collection type
334551 [Flock] Rule re-use for subtypes in original metamodel
283005 New methods on IModel to support conservative coping
270997 [EOL] UnknownTypes no longer throw a runtime exception
306894 Types created by user not working in EVL and ETL
328337 bin folders should not be checked into SVN
335214 URIs are not resolved relative to platform on Mac OS
266331 Support constructors with parameters for Native types
271329 Use Comparable to compare objects
281354 ANT doesn't seem to pick up Epsilon tasks when run in VM different from Eclipse VM
339229 EVL launch configuration waiting on non-existent fix
255047 Resources with "" uri are ignored
280056 Loading EMF models throws FileNotFoundException under Linux/MacOS
283397 EuGENia doesn't work under Galileo
329989 [EGL] Illegal assignment to variable 't'. Expected Template and found org.eclipse.epsilon.egl.EglTemplate
341481 [EMC] EmfModel#load(StringProperties, String) and clients should make same assumptions about model/metamodel locations
265811 Multiple operations in a single file issue
295575 EVL validation is working, EMF is not - Implicit constraint from EMF Model are not validated
313765 Addition of utility operations on primitive types
345459 EGL missing user input and the built-in variables
312517 [ETL] Some classes are not recognized
315369 EVL validation throws NullPointerException
321081 Add support for auto-closing "", (), '' and {} to Epsilon editors
270572 isTypeOf() checking of built-in type
286050 [EGL] Deprecate store in favour of generate
312755 Support for identifiers starting by &
322483 [HUTN] Support relative URIs in references to external objects.
344272 epsilon.storeModel throws exception when saving
259923 [Epsilon] orphaned org.eclipse.epsilon.eugenia.validation plugin
265609 [Eugenia] Wishlist (part 2) of annotations that should make it from the .emf file to the .genmodel, or .gmfgen file, resp.
275318 Issue with random()
282038 Wizard menu becomes static in one diagram when a second diagram's wizard menu is used
315350 Performance problems with if-then-else-if structures
329311 EGL servlet needs model file in servlet directory
256473 Eclipse 3.4 to 3.5M3 API changes
265285 [Eugenia] Wishlist (part 1) of annotations that should make it from the .emf file to the .genmodel, or .gmfgen file, resp.
286001 EglContext should be easier to overwrite
287756 EOL/EGL 0.8.7: Unable to use keySet() method on Map
348472 Eugenia: race condition when generating models
260702 epsilon.egl task failure, when the egl explicitly generates text to target files
286992 Unpredictable behaviour in Collection#remove and Collection#removeAll
288059 Add include(otherTemplate:String) operation to EGL
259068 Offline installation of Epsilon
264677 Support connectors without needing to add artificial containment references in the @gmf.diagram class
265127 // Comments cause remainder of EGL document to be ignored
285977 Refactor EGL code to do with storing generation results
315902 importing EGL scripts into other EGL scripts doesn't work
345166 ModelValidation fails with NullPointerException if no Quickfixes have been defined.
287548 Enable EOL to access static Java methods
292403 Close the gap between the concrete syntaxes of EOL and Java
273222 [Epsilon] EGL throws IllegalArgumentException following a call to TemplateFactory#load
335182 [Flock] ignoring keyword
255030 EmfModel should be able to load models not stored in the filesystem
273292 Saving the HUTN File creates no model
285912 Add support for launching Eugenia from Ant files
338379 Return types of EOL operations are not checked
287543 EVL quick fix resolutions are repeated three times in the EMF editor
288355 Resolution of elements with equivalents() in ETL is slow
317873 Add removeAt() and removeLast() to EolSequence
249250 Cannot install Epsilon Eugenia
287549 Calling static methods natively
327989 Switch-case Return
245824 Pre/Post condition not working on Epsilon EWL
297012 [PATCH] Class version issues with Java5
342176 [Tests] EUnitRunner and others should decode URLs when creating instances of File
347370 [EGL] Is @template now redundant?
282787 AbstractEmfModel#getEnumerationValue returns null instead of throwing EolEnumerationValueNotFoundException
315371 EVL quickfix throws NullPointerException
287042 HUTN translator unit tests failing with NPE
287722 Documentation of substring
320220 Change isTypeOf to isKindOf in Ecore2GMF.eol
322560 [EOL] Prevent foreach from throwing concurrent modification exceptions
265145 [Eugenia] Allow for nodes just containing a label (and maybe an icon) but no other surrounding figure
286549 ClassCastException when assigning enum literal to attribute
332705 Phantom nodes are not working in the gmf version shipped with eclipse 3.6
349209 [EUnit] Arguments of assert* (except assertError) are evaluated twice
291586 HUTN cannot parse many characters in its textual values
320087 Make PlainXmlModel's XML content available as string
335204 Epsilon Mac problem
211210 [Epsilon] Epsilon should compile and run on Java 5
331204 Memoization for all EMC Drivers
283547 Registerd EMF EPackage model configuration UI should use pop up window to select metamodel URI
302872 [ETL] "Rule ',' not found" error when making a rule extend two rules
338087 CollectionAnnotator must use WeakHashMap
339014 [EOL] Collection#concat/0 (was Collection#join)
274637 Add support for additional EMF resource types
277365 [HUTN] Spec keywords should not be case-sensitive
246352 Add cloning model element ability
Version Eclipse Released Notes
1.2 4.4 (Luna) 10 Sept 2013 Scheduled release
1.1_SR1 4.3 (Kepler) 10 Sept 2013 Service release
1.1 4.3 (Kepler) 29 Aug 2013 Scheduled release
1.0 4.2 (Juno) 12 Nov 2012 Scheduled release