ModelJoin/Target Metamodel Annotations
During the generation of the target metamodel, the metamodel generator extracts information from a ModelJoin expression such as which elements of the source metamodel were joined to an element of the target metamodel, which was the attribute for the join condition, etc. The information is stored in the target metamodel using EAnnotation
elements which reference the elements in the source metamodels directly. Thus, the generated target metamodel will contain references to the source metamodels.
EAnnotations
have a name (called source
in EMF), an element that they refer to (reference
), and can contain additional information details in key/value pairs. They are all prefixed with edu.kit.ipd.mdsd.mj
name/source | reference | details | remarks |
---|---|---|---|
sourceModels
|
the source metamodels of the ModelJoin query | should be attached to the root package | |
traceModel
|
the mappings between target and source instances | ||
sourceAttribute
|
the source attributes of the join operation | ||
classTrace.left.attribute
|
the attribute of the left source metamodel if the operator is a natural join | only work in the case of natural join and left outer join operation | |
classTrace.right.attribute
|
the attribute of the right source metamodel if the operator is a natural join | only work in the case of natural join and left outer join operation | |
createdBy
|
operator : the type of operator that caused the creation of the element
|
||
classTrace
|
the single source element | ||
classTrace.left
|
the left source element if the operator is a join | ||
classTrace.right
|
the right source element if the operator is a join | ||
classTrace.attribute
|
the stored attribute from the ModelJoin query | ||
classTrace.reference
|
the source reference of a mapping | ||
classTrace.context
|
the source context of a mapping | ||
classTrace.jointrace
|
the element containing mappings between target and source instances | left : the left source instance right : the right source instance target : the target instance
|
|
classTrace.reftrace
|
the mapping between a target and source reference | source : the source reference target : the target reference
|
|
classTrace.oftype
|
the type of a reference element | ||
isJoinAttribute
|
attribute was part of the join condition (marker) | ||
whereCondition
|
ocl : the OCL expression
|