As a prerequisite to making a source notation delta-aware using DeltaEcore, a meta model of that base language needs to be defined using EMF Ecore. Artifacts of that notation are then perceived as models and, thus, instances of the respective meta model. Furthermore, meta models are an instance of Ecore, which makes Ecore the meta meta model of the artifacts specified in the source notation. These three levels of information about a notation and its artifacts (model, meta model and meta meta model) are used to gather information on the custom delta languages and the delta modules it specifies.
For this purpose, DeltaEcore provides two languages: the Common Base Delta Language
and the Delta Dialect Language
. The Common Delta Base Language contains the general structure of a delta module without any knowledge of the concrete delta language to be created. The Delta Dialect Language binds to a particular language’s meta model and specifies delta operations for this source language. Combining a dialect with the base delta language yields a custom delta language that can be used with models conforming to the meta model of the source notation. The Common Base Delta Language and the Delta Dialect Language are explained in more detail on the respective pages.