Hi all,
Still trying to work through creating a profile that extends non-uml profile elements.
My example is extending BPMN2.0
In the instructions it states to:
- drop a metaclass on the diagram, and in the "extend metaclass" dialog that pops up, go to the last tab and find the non-uml stereotype you want to extend
- using the Add Stereotype helper in the toolbox, define your stereotype, set the name, and do not pick a metaclass
- create a generalize relationship from your new stereotype to the non-uml stereotype/metaclass
This is fine and so far (basically) works, but my question is:
- How do you then use all of the useful features that are available and stored as attributes in a true metaclass? Without setting a metaclass for your stereotype there is no option of setting these features.
I have tried 2 workarounds, but I am running into so many unexplainable quirky results I want to check if anyone has a solution.
Attempt 1: I have tried adding the true metaclass for the non-uml stereotype and having the non-uml stereotype extend the metaclass.
So for example:
MyML::MyStereotype --generalizes--> BPMN2.0::DataObject --extends--> UML::Artifact
Attempt 2: Add the true metaclass, and have my stereotype directly extend it
For example:
MyML::MyStereotype --generalizes--> BPMN2.0::DataObject
and
MyML::MyStereotype --extends--> UML::Artifact
Both styles make the metaclass properties/feature available in the profile helper when editing MyStereotype, and both seem to provide similar results, but I am wondering if there is a correct way to do this.
As I mentioned I am running into wierd quirky results when testing my profile, so I want to make sure I am doing this right.
(quirky results like: tagged values being duplicated; some BPMN elements draw their decorations properly, some do not; etc.)