Instructions

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.

newClass

Creates a new EClass. This EClass has no attributes nor relationships with other elements.

Classification: Non Breaking

newClass N
comments {

}
assistance {

}

Restrictions

  • The EClass “N” may not exist in the metamodel mm1

renameClass

Renames an EClass.

Classification: Breaking but automatically resolvable

renameClass B "X"
comments {

}
assistance {

}

Restrictions

  • The EClass “A” must exist in the metamodel mm1
  • The EClass “X” may not exist in the metamodel mm1

deleteClass

Deletes an EClass.

Classification: Breaking but automatically resolvable

deleteClass C
comments {

}
assistance {

}

Restrictions

  • The EClass “C” must exist in the metamodel mm1

setAbstractClass

Converts a non abstract EClass in an abstract EClass.

Classification: Breaking but not automatically resolvable

setAbstractClass C
comments {

}
assistance {

}

Restrictions

  • The EClass “C” must exist in the metamodel mm1

setNonAbstractClass

Converts an abstract EClass in non abstract EClass.

Classification: Non breaking

setNonAbstractClass A
comments {

}
assistance {

}

Restrictions

  • The EClass “A” must exist in the metamodel mm1

newSuperClass

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 {

}

Restrictions

  • The EClass “A” must exist in the metamodel mm1
  • The EClass “C” must exist in the metamodel mm1

deleteSuperClass

Deletes an inheritance reference of an EClass in the metamodel mm1.

Classification: Breaking but not automatically resolvable

deleteSuperClass B
comments {

}
assistance {

}

Restrictions

  • The EClass “B” must exist in the metamodel mm1

addAtribute

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 {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA3” may not exist in the entity “A”

renameAtribute

Renames an attribute into an EClass in the metamodel mm1.

Classification: Breaking but automatically resolvable

renameAttribute A.attA2 "attA3"
comments {

}
assistance {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”
  • The attribute “attA3” may not exist in the entity “A”

deleteAtribute

Deletes an attribute into an EClass in the metamodel mm1.

Classification: Breaking but automatically resolvable

deleteAttribute A.attA2
comments {

}
assistance {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”

increaseAttributeLowerBoundTo

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 {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”
  • The lower bound of the attribute “attA2” must be less than 1
  • The upper bound of the attribute “attA2” must be greater than or equal to 1

decreaseAttributeLowerBoundTo

Decreases the lower bound of an attribute into an EClass in the metamodel mm1.

Classification: Non breaking

decreaseAttributeLowerBoundTo D.attD1 0
comments {

}
assistance {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”
  • The lower bound of the attribute “attA2” must be greater than 0

increaseAttributeUpperBoundTo

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 {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”
  • The upper bound of the attribute “attA2” must be greater than 2

decreaseAttributeUpperBoundTo

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 {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”
  • The upper bound of the attribute “attA2” must be greater than 1
  • The lower bound of the attribute “attA2” must be less than or equal to 1

modifyTypeOfAttribute

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 {

}

Restrictions

  • The entity “A” must exist in the metamodel mm1
  • The attribute “attA2” must exist in the entity “A”

addReference

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 {

}

Restrictions

  • The entity “D” must exist in the metamodel mm1
  • The entity “E” must exist in the metamodel mm1
  • The reference “D_E” may not exist in the entity “D”

renameReference

Renames a reference into an EClass in the metamodel mm1.

Classification: Breaking but automatically resolvable

renameReference B.B_E "newB_E"
comments {

}
assistance {

}

Restrictions

  • The entity “C” must exist in the metamodel mm1
  • The entity “D” must exist in the metamodel mm1
  • The reference “C_D” must exist in the entity “C”
  • The reference “newC_D” may not exist in the entity “C”

deleteReference

Deletes a reference into an EClass in the metamodel mm1.

Classification: Breaking but automatically resolvable

deleteReference B.B_E
comments {

}
assistance {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The reference “B_E” must exist in the entity “C”

increaseReferenceLowerBoundTo

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 {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The reference “B_C” must exist in the entity “B”
  • The lower bound of the reference “B_C” must be less than 1
  • The upper bound of the reference “B_C” must be greater than or equal to 1

decreaseReferenceLowerBoundTo

Decreases the lower bound of a reference into an EClass in the metamodel mm1.

Classification: Non Breaking

decreaseReferenceLowerBound B.B_C 0
comments {

}
assistance {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The reference “B_C” must exist in the entity “B”
  • The lower bound of the reference “B_C” must be greater than 0

increaseReferenceUpperBound

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 {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The reference “B_E” must exist in the entity “B”
  • The upper bound of the reference “B_E” must be greater than 2

decreaseReferenceUpperBound

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 {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The reference “B_C” must exist in the entity “B”
  • The upper bound of the reference “B_C” must be greater than 1
  • The lower bound of the reference “B_C” must be less than or equal to 1

changeReferenceSource

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 {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The entity “D” must exist in the metamodel mm1
  • The reference “B_C” must exist in the entity “B”
  • The entity “D” may not have a reference with the name “B_C”

changeReferenceTarget

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 {

}

Restrictions

  • The entity “B” must exist in the metamodel mm1
  • The entity “D” must exist in the metamodel mm1
  • The reference “B_C” must exist in the entity “B”

asimovinstructions.txt · Última modificación: 2012/01/15 13:44 por ha.florez39
Departamento de Ingeniería de Sistemas y Computación - Facultad de Ingeniería - Universidad de los Andes
CC Attribution-Noncommercial-Share Alike 3.0 Unported
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0