[great-users] problem exporting metamodel from GME to GReAT transformation using MetaGME2UMT Interpreter
robert.mansk at ils.uni-stuttgart.de
Thu Dec 1 04:21:09 CST 2016
We got a problem when exporting a metamodel from GME to a GReAT transformation, using the MetaGME2UMT Interpreter.
For future work we would like to work with Set Inheritance. Sets should contain other sets. Furthermore we want to define Sets with different attributes which again should contain other sets. This shall be realized using set inheritance. A parent set can contain itself. This property is handed on to different sets via Inheritance. Each of them might again hand on their respective attributes to other Sets. During the export of such a metamodel to a GReAT transformation an error occurs, as sometimes Associations within the corresponding class diagram of the transformation are missing.
A short example. I created a metamodel DSL_SetInheritance (see zip-file in given link at bottom, which among others contains this description with some helpful diagrams). This metamodel defines a Parent Set which inherits the properties of an abstract set (FCO element) which is furthermore an element of the Parent Set. (Another option is to create a Set which contains itself via a Connection element. This case is represented in the metamodel DSL_SetInheritance_v2. The problem remains the same)
Now more Sets are defined which inherit the properties of the parent Set. This Inheritance continues for various stages (e.g. Set R inherits properties of Set A which inherits properties of Set X which inherits properties of parent Set). When exporting this metamodell using the MetaGME2UML Interpreter in a given UMT paradigm (00000_TRAFO_SetInheritanceTest.mga) sometimes no Association between Set and Abstract Set is created within the corresponding class diagram of the transformation.
Furthermore the interpreter should define a sName and mName within the general preferences of the parent set (metamodel). When they are defined, the Association within the transformation class diagram is created. Otherwise it isn't. Manually adding a sName or mName in the metamodel doesn't have any effect on the class diagram in the transformation.
I was trying various things to reproduce this error, but couldn't find any regularity for it to occur.
During compilation with visual studio of the code (created with GReAT Master Interpreter) an error occurs, as the Association between the parent Set and Abstract Set is missing.
It is possible though to manually create the missing Association between the Parent Set and the Abstract Set. Then the transformation can be compiled successfully and works as it's supposed to.
It would be great if you could tell me why this error occurs and how to avoid this problem. This really would help us a lot.
Thanks in advance!
The following link contains the metamodels DSL_SetInheritance and DSL_SetInheritance_v2 of the given example. Furthermore the transformation which contains an edited and an unchanged version of the metamodel is given for both cases. The differences can be seen within the «SetInheritance» class diagrams.
https://dav.bastie.org/index.php/s/XqZBkEtvktnzxsE (password: SetInheritanceProblem)
Robert Mansk, M.Sc.
Institut für Luftfahrtsysteme
robert.mansk at ils.uni-stuttgart.de <mailto:robert.mansk at ils.uni-stuttgart.de>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the great-users