Non-structural Primitives
Non-structural primitive operations modify a single, existing metamodel element, i.e. change properties of a metamodel element.
Change Attribute Type
In the metamodel, the type of an attribute is changed. In the model, the values are migrated based on EMF's default serialization.
Parameters:
- attribute: The attribute whose type is changed
- type: The new type of the attribute
Document Metamodel Element
In the metamodel, a metamodel element is documented. Nothing is changed in the model.
Parameters:
- element: The metamodel element to be annotated
- documentation: The comment for documentation
Constraints:
- The element must not be an annotation.
Drop Containment
In the metamodel, the containment of a reference is dropped. At the same time, a new container reference is created in a container class. In the model, elements previously contained by the first reference have to be contained by the new container reference. It is assumed that these elements are indirectly contained in an instance of the container class.
Parameters:
- reference: The reference whose containment is dropped
- containerClass: The container class in which the containment reference is created
- containerReferenceName: The name of the new containment reference
Constraints:
- The reference must be containment
Drop Opposite Relationship
In the metamodel, the opposite relationship between to references is dropped. In the model, nothing needs to be done.
Parameters:
- reference: The reference whose opposite relationship should be dropped
Constraints:
- Reference must have an opposite
Make Class Abstract
In the metamodel, a class is made abstract. In a model, instances of this class are migrated to a chosen subclass.
Parameters:
- eClass: The class to be made abstract
- subClass: The subclass to which instances are migrated
Constraints:
- The class is already abstract
- The class has to be a super type of the sub class
Make Feature Volatile
In the metamodel, a feature is made volatile. In the model, its values have to be deleted.
Parameters:
- feature: The feature to be made volatile
- trans: Whether the feature is transient
- derived: Whether the feature is derived
- changeable: Whether the feature is changeable
Constraints:
- Feature must not be volatile
Make Reference Containment
In the metamodel, a reference is made containment. In the model, its values are replaced by copies.
Parameters:
- reference: The reference
Constraints:
- The reference must not already be containment.
Move Classifier
In the metamodel, a classifier is moved to a different package. In the model, nothing is changed.
Parameters:
- classifier: The classifier to be moved
- targetPackage: The package to which the classifier is moved
Constraints:
- A classifier with the same name exists in the target package
- The classifier must not be already part of the target package
Rename
In the metamodel, an element is renamed. In the model, nothing is changed.
Parameters:
- element: The metamodel element to be renamed
- name: The new name
Constraints:
- The name must not be already defined by the children of the element's parent.
Contents
- Structural Primitives
- Non-structural Primitives
- Change Attribute Type
- Document Metamodel Element
- Drop Containment
- Drop Opposite Relationship
- Make Class Abstract
- Make Feature Volatile
- Make Reference Containment
- Move Classifier
- Rename
- Generalization / Specialization Operations
- Inheritance Operations
- Delegation Operations
- Replacement Operations
- Merge Operations