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 {
}