EML is a hybrid, rule-based language for merging homogeneous or heterogeneous models. As a merging language requires all the features of a transformation language (merging model A with an empty model into model B is equivalent to transforming A->B), EML reuses the syntax and semantics of ETL and extends it with concepts specific to model merging.
Before merging can be performed, correspondences between elements of the input models need to be established. This can be achieved using the comparison language of Epsilon (or using Java).
Chapter 10 of the Epsilon book provides a complete reference of the syntax and semantics of EML.