|Confusion on creating profile [message #1009037]
||Thu, 14 February 2013 05:23
| Dieter Van Eessen
Registered: January 2013
I have a question regarding right practice of profile creation, everything works well, I'm just not sure if I'm using the tool correct (on Indigo, papyrus 0.8.2). I'm not sure whether this is the correct forum for this topic, but it's a question I can't find a answer to in literature:
I'm creating a profile by extending UML metaclasses and generalizing to SysML stereotypes, how to refer to these metaclasses/stereotypes?
Am I allowed to create new modelelements within a profile (eg. create datatype using a primitivetype as generalization) with the purpose to use these in other models?
In Eclipse these seem to be separated (except for enumerations used within the profile itself), but in profiles for another tool (for example: magicdraw) the model elements are simply included within the profile itself (for example: Real/Complex valuetypes reside within the 'Blocks'-profile-package of the SysML profile).
-Do I need to import standard profile + SysML profile + UML primitives modellib + SysML primitive modellib, drag'n'drop the required metaclasses/stereotypes/primitivetypes on diagrams and create new stereotypes/modelelements by extensions/generalizations to these elements,
-Do I need to load resources (add uml-files to Additional Resources, possible when opening the *.uml file in uml-editor) and create new stereotypes using extensions/generalizations to elements from these loaded resources
-Do I only import the UML metaclasses I need by using 'Import Metaclass'.
How come I don't need to apply Standard-profile on the base-package of my newly created profile (packages/stereotypes/generalizations are defined in the UML.metamodel.uml and metaclasses/metamodels are defined in standard.profile.uml)
If A is allowed (I am allowed to create model elements within the profile), must I apply the created profile on itself in order to?
For example in the SysML4Modelica-profile the stereotype 'modelicaType' is created which generalizes to 'sysml:block' and 'sysml4modelica:modelicaClassDefinition'.
Now within the same profile some predefined type such as 'modelicaReal' are defined which generalize to 'sysml:valuetype' and are stereotyped by this 'modelicaType'. Do I need to apply the sysml4modelica on the base-profile-package (recursive) in order to make this valid.
Help is appreciated.
Context of this question:
As I said, mostly it's possible to work on several methods (I can apply the profile on itself, but it also works without it), and it's also possible to create new models and using these profiles.
But I get into trouble when trying to transform models using QVTo: eg. I have got 2 SysML4Modelica profiles:
-An untreated profile exported from magicdraw (several uml files are exported) which DOES NOT validate within papyrus (building new models ain't possible as some links to sysml:blocks are lost and other errors) but DOES allow me to execute the transformation succesfully.
-A profile which has been fixed manually, based on the untreated profile and fixed according to the OMG SysML4Modelica specification. This profile (1 uml file) DOES allow me to create new models correct, but I get errors in the transformation which I'm still trying to solve... Since the created stereotypes/elements are similar within the 2 profiles, I think the problem resided in how the 2 profiles refer to the metamodel the build on.
Powered by FUDForum
. Page generated in 0.01488 seconds