# Using EMF models with Epsilon programs

Epsilon can be used with a range of modelling technologies, including EMF, MDR and plain XML. Before launching an Epsilon program, the models to be consumed or produced by the program must be specified. This article describes the way in which Epsilon programs can be configured to access EMF models.

When launching an Epsilon program, the launch configuration dialog includes a "models" tab. To configure an Epsilon program to use an EMF model, click the "models" tab, click "Add", and select "EMF Model".

The resulting dialog box contains several options that are used to specify how Epsilon will access the model at run-time:

Name
  The identifier used to access this model from the Epsilon program.
Aliases
  Additional identifiers for accessing this model.
Meta-model is file-based
  If checked, indicates that Epsilon should load the metamodel from a location in this workspace. If unchecked, indicates that Epsilon should load the metamodel via EMF's package registry, which allows access to metamodels defined in workspace plug-ins (such as the UML metamodel).
Include external references
  Indicates whether Epsilon should load any models that are referenced by this model.
Model file
  The location of the EMF model in the workspace.
Meta-model file
  The location of the metamodel (Ecore file) in the workspace.
Meta-model URI
  The EMF namespace URI of the metamodel.
Read on load
  Indicates whether the model will be loaded before the Epsilon program is executed. Typically, this should be turned off only when the model is to be created by the Epsilon program.
Store on disposal
  Indicates whether any changes made to the model by the Epsilon program should be saved. When this option is turned off, Epsilon has read-only access to the model.