EnAr-ASIMOV: A proposal for assisting model coevolution with constrained metamodels, is a domain specic language (DSL) based on the catalog of possible changed that one metamodel can have. It is planned to be extensible and is planned to allow the user write it easily or be defined by a tool that can record the changes done to the metamodel.
This language is used by the metamodeler who defines the general context of the user. The metamodeler will be allowed to changed, create and delete metamodel elements. The elements are referenced from the ecore metamodel.
ASIMOV Evolution was created to be readable for any user that did not created the scripts. The basic building block of the language is the evolution clause that encapsulates everything. Tthere are the basic syntax blocks of the evolution language. The next clauses defined are for selecting the source metamodel and the target metamodel. The target metamodel is required in order to define a name for the final element
Considering the next metamodel called mm1
mm1
Is the main code block where the metamodeler defines the source metamodel, target metamodel and set of instructions
evolution myEvolutionProgram { fromMM:"mm3.ecore" toMM:"mm3_evolved1.ecore" "http://uniandes.edu.co/exampleMM3_evolved1" toM:"m3_coevolved1.xmi"
instruction { } instruction { } ... instruction { } }
Each instruction block contains only one instruction.
An EnAr-ASIMOV program must satisfied the following restrictions:
An EnAr-ASIMOV program could generate the following errors:
All instructions in the language make changes in the metamodel but not necessary in the model. Some changes in the metamodel need assistance to be resolved.
For instance, the changes in asimov have the next classification.
ASIMOV Coevolution has been created to be readable for any user that did not created the scripts. The basic building block of the language is the assistance clause that encapsulates everything. The assistance language uses a simplified java language through libraries created for the assistance.
There are one test for each instruction in the language.
ASIMOV has been evaluated using a real scenario in which we can apply all evolution instructions with several assistance blocks for the instructions that require it. This scenario is a commercial scenario named Alps Furniture (AF) built in the Enterprise Architecture Laboratory at Universidad de los Andes. This scenario has a complex metamodel, which includes 81 EClasses and 89 EReferences. The model conforms to the AF metamodel has up to 207 instances. However, for this evaluation we used one specific domain from AF named BusinessPartners (BP).
Project | Version | SVN |
---|---|---|
EnAr-ASIMOV | 1.0 | SVN: http://minsky2.uniandes.edu.co/especiales/enar/Asimov |