This language offers 24 instructions that can act on the source metamodel to evolve into a target metamodel.
Each instruction contains an optional section with the next sintax
comments { }
This section is used for the meta-modeler description about the instruction in the evolution proccess
Also each instruction contains an optional section with the next sintax
assistance { }
This section is used for assitance source code in the evolution proccess
Considering the metamodel called mm1 showed in the last section.
Creates a new EClass. This EClass has no attributes nor relationships with other elements.
Classification: Non Breaking
newClass N comments { } assistance { }
Renames an EClass.
Classification: Breaking but automatically resolvable
renameClass B "X" comments { } assistance { }
Deletes an EClass.
Classification: Breaking but automatically resolvable
deleteClass C comments { } assistance { }
Converts a non abstract EClass in an abstract EClass.
Classification: Breaking but not automatically resolvable
setAbstractClass C comments { } assistance { }
Converts an abstract EClass in non abstract EClass.
Classification: Non breaking
setNonAbstractClass A comments { } assistance { }
Creates an inheritance reference between a sub EClass and a super EClass in the metamodel mm1. If the sub EClass has another inheritance reference, this reference will be deleted.
Classification: Breaking but not automatically resolvable
newSuperClass { subClass = C superClass = A } comments { } assistance { }
Deletes an inheritance reference of an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
deleteSuperClass B comments { } assistance { }
Adds a non obligatory attribute into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
addAtribute attA3 { source = A type = EInt } comments { } assistance { }
Renames an attribute into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
renameAttribute A.attA2 "attA3" comments { } assistance { }
Deletes an attribute into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
deleteAttribute A.attA2 comments { } assistance { }
Increases the lower bound of an attribute into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
increaseAttributeLowerBoundTo A.attA2 1 comments { } assistance { }
Decreases the lower bound of an attribute into an EClass in the metamodel mm1.
Classification: Non breaking
decreaseAttributeLowerBoundTo D.attD1 0 comments { } assistance { }
Increases the upper bound of an attribute into an EClass in the metamodel mm1. If the value is -1, the upper bound is equivalent to *.
Classification: Non Breaking
increaseAttributeUpperBoundTo A.attA2 2 comments { } assistance { }
Decreases the upper bound of an attribute into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
decreaseAttributeUpperBoundTo A.attA2 1 comments { } assistance { }
Modifies the type of the attribute into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
modifyTypeOfAttribute A.attA2 { type = EString } comments { } assistance { }
Adds a non obligatory reference into an EClass in the metamodel mm1. The upper bound will be *. The lower bound will be 0.
Classification: Non Breaking
addReference D_E { source = D target = E containment = false } comments { } assistance { }
Renames a reference into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
renameReference B.B_E "newB_E" comments { } assistance { }
Deletes a reference into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
deleteReference B.B_E comments { } assistance { }
Increases the lower bound of a reference into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
increaseReferenceLowerBoundTo B.B_C 1 comments { } assistance { }
Decreases the lower bound of a reference into an EClass in the metamodel mm1.
Classification: Non Breaking
decreaseReferenceLowerBound B.B_C 0 comments { } assistance { }
Increases the upper bound of a reference into an EClass in the metamodel mm1. If the value is -1, the upper bound is equivalent to *.
Classification: Non Breaking
increaseReferenceUpperBound B.B_E 2 comments { } assistance { }
Decreases the upper bound of a reference into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
decreaseReferenceUpperBound B.B_C 1 comments { } assistance { }
Changes the source of a reference into an EClass in the metamodel mm1.
Classification: Breaking but automatically resolvable
changeReferenceSource B.B_C D comments { } assistance { }
Changes the target of a reference into an EClass in the metamodel mm1.
Classification: Breaking but not automatically resolvable
changeReferenceTarget B.B_C D comments { } assistance { }