Download

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

Warning: If Mac OS X complains that Eclipse is damaged, you can either set the "Allow apps downloaded from" setting to "Anywhere" in the "Security and Privacy" preferences panel (this is only needed when you run Eclipse for the first time - you can disable this later), or run Eclipse from a terminal (i.e. ./Eclipse.app/Contents/MacOS/eclipse).

Windows 32bit Windows 64bit 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.

Stable
Interim *


* Bugs fixed in the latest interim version (compared to the latest stable version)

Dependencies (optional)

Emfatic
GMF

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 Neon 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 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.
Drag and drop into a running Eclipse Neon workspace to the latest stable version (v 1.4) of Epsilon.

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

Users
Committers
Release tag

Note: If you need to modify and re-build the parsers of the Epsilon languages, you will also need to clone the following repository next to the Epsilon Git repository on your machine: https://github.com/epsilonlabs/epsilon-antlr-dev.git

Plain old JARs you can use to embed the latest stable version of Epsilon (1.4) as a library in your Java or Android application. You can also use Maven: see instructions below the table.

Description Binary Binary + Source Dependencies
The execution engines of all Epsilon languages, as well as the plain XML and CSV drivers. epsilon-1.4-core.jar epsilon-1.4-core-src.jar
  • None
Epsilon's EMF driver. epsilon-1.4-emf.jar epsilon-1.4-emf-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's UML driver. epsilon-1.4-uml.jar epsilon-1.4-uml-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's Graphml muddles driver. epsilon-1.4-graphml.jar epsilon-1.4-graphml-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
Epsilon's Excel/Google spreadsheet driver. epsilon-1.4-spreadsheets.jar epsilon-1.4-spreadsheets-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's Human Usable Textual Notation implementation. epsilon-1.4-hutn.jar epsilon-1.4-hutn-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
ANT tasks for the Epsilon languages. To use this JAR, you will need to have Apache ANT installed. epsilon-1.4-workflow.jar epsilon-1.4-workflow-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
ANT tasks for Epsilon's EMF driver. epsilon-1.4-workflow-emf.jar epsilon-1.4-workflow-emf-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-workflow in your classpath.
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
Fat JAR that contains all JARs above and all required external dependencies. - epsilon-1.4-kitchensink.jar
  • None

Since 1.4, these JARs are also available from Maven Central. For instance, to use the epsilon-core JAR from your pom.xml:

<dependencies>
  ...
  <dependency>
    <groupId>org.eclipse.epsilon</groupId>
    <artifactId>epsilon-core</artifactId>
    <version>1.4.0</version>
  </dependency>
  ...
</dependencies>

Plain old JARs you can use to embed the latest interim version of Epsilon as a library in your Java or Android application. You can also use Maven: see instructions below the table.

Description Binary Binary + Source Dependencies
The execution engines of all Epsilon languages, as well as the plain XML and CSV drivers. epsilon-1.4-core.jar epsilon-1.4-core-src.jar
  • None
Epsilon's EMF driver. epsilon-1.4-emf.jar epsilon-1.4-emf-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's UML driver. epsilon-1.4-uml.jar epsilon-1.4-uml-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's Graphml muddles driver. epsilon-1.4-graphml.jar epsilon-1.4-graphml-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
Epsilon's Excel/Google spreadsheet driver. epsilon-1.4-spreadsheets.jar epsilon-1.4-spreadsheets-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
  • To use this JAR, you will also need to have at least these external dependencies in your classpath.
Epsilon's Human Usable Textual Notation implementation. epsilon-1.4-hutn.jar epsilon-1.4-hutn-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
ANT tasks for the Epsilon languages. To use this JAR, you will need to have Apache ANT installed. epsilon-1.4-workflow.jar epsilon-1.4-workflow-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-core in your classpath.
ANT tasks for Epsilon's EMF driver. epsilon-1.4-workflow-emf.jar epsilon-1.4-workflow-emf-src.jar
  • To use this JAR, you will also need to have epsilon-1.4-workflow in your classpath.
  • To use this JAR, you will also need to have epsilon-1.4-emf in your classpath.
Fat JAR that contains all JARs above and all required external dependencies. - epsilon-1.4-kitchensink.jar
  • None

You can use the latest SNAPSHOTs at the Sonatype OSSRH repository. For instance, to use the 1.4 interim epsilon-core JAR from your pom.xml:

<repositories>
    <repository>
      <id>ossrh-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
</repositories>
...
<dependencies>
  <dependency>
    <groupId>org.eclipse.epsilon</groupId>
    <artifactId>epsilon-core</artifactId>
    <version>1.4.0-SNAPSHOT</version>
  </dependency>
</dependencies>

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

# Description Reporter
496168 EMF Models that use file based metamodels should have the xmi:schemaLocation attribute on save arcanefoam
501501 EVL DoubleClick Events shold not block the Eclipse UI arcanefoam
506187 Revert or improve ConstraintSelectTransfomer arcanefoam
416792 NPE in ModelsConfigurationTab$ModelLabelProvider.getImage ed
438615 [ETL] equivalents() Operation with Parameters b.m.yildiz
441975 Provide jars with attached source code and/or javadocs Sebastian.Zitzelsberger
442682 using backtick in comments joostvanpinxten
443616 EGL/EOL run conf resolves paths incorrectly jamesrobertwilliams
446183 [epsilon] Exception encountered whilst trying to retrieve EPackage for nsUri: xcore.lang (err_grp: aaf7eb9a) error-reports-inbox
454414 I can't transform XSD based models physically located outside the workspace adolfosbh
455757 Support for remotely stored GraphML files in Muddles zolotas4
457442 [Epsilon] Error messages missing source line number arcanefoam
458152 XmlModel transformations doesn't work via standalone mode adolfosbh
458724 XmlModel can't load/save models given a correct URI adolfosbh
458726 Provide API to add parameters when executing Epsilon languages in standalone adolfosbh
458857 [EGL] Add Template#setExecutable for easily generating executable files nyoescape
459426 Workflows do not support cached EOL models kb634
460513 [releng] Interim release re-uses version numbers ed
460548 Incorrect provide for Epsilon ed
461642 Bad Relational/RelationalInstance.ecore files ed
469638 [EUnit] Spurious differences when comparing an empty UML model with registered profiles to itself nyoescape
486230 Interim jars and javadoc auto-build dkolovos
502400 CacheModel breaks Driver optimization operations arcanefoam
502403 CachedModel still keeps cache even if cachingEnabled is false arcanefoam
341481 [EMC] EmfModel#load(StringProperties, String) and clients should make same assumptions about model/metamodel locations louis
400585 [EUnit] Allow for ignoring whitespace while comparing models nyoescape
441410 EUnit ANT task fails in standalone mode dkolovos
442466 [EUnit] Ignore MOVE differences within unordered EReferences in assertEqualModels nyoescape
450398 [Ant, epsilon.emf.loadModel] Do not reload a metamodel file if timestamp hasn't changed since last invocation nyoescape
469821 [EWL] Metamodel of additional models not loaded in interim release rene.meis
469949 Add the possibility to configure "extraPackages" for EMF/GMF Wizards rene.meis
482001 [HUTN] Add support for scientific notation in numeric constants nyoescape
486453 ClassCastException in ContributeEmfWizardsAction.getEditingDomain error-reports-inbox
493445 EBigDecimal is not handled correctly by sum() or product() nyoescape
494399 [EVL] Transform rules to .select for efficient execution nyoescape
494780 [EOL] Extend Model property getters to support isSet nyoescape
494830 [EOL] EolAnyType#isKind is inconsistent with AnyOperationContributor nyoescape
495925 NullPointer exception during generation emfcode generation phase isakovarseniy
496190 [EVL] Avoid repeated getAllOfKind() calls in appliesTo and use isOfType instead of contains nyoescape
498294 [EVL] Allow entire contexts to be @lazy nyoescape
498879 [EUnit JUnit integration] Split off Eclipse-specific parts to eunit.junit.dt nyoescape
503152 [EOL] Extended properties broken on JDK8 nyoescape
Version Eclipse Released Notes
1.4 4.6 (Neon) 6 Nov 2016 Scheduled release
1.3 4.5 (Mars) 8 Mar 2015 Scheduled release
1.2 4.4 (Luna) 25 Aug 2014 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