ModelJoin/Target Metamodel Annotations

Aus SDQ-Wiki

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