I'm working on issue #3771: Add tag definitions for tags used by the cpp generator. The way to go for solving this is by defining a C++ profile that could be imported automatically by projects for which C++ code generation is intended. This C++ UML profile will be stored within the module jar and support for importing it will be added to the C++ module preferences dialog.
Now, there are some problems with ArgoUML support of tag definitions (TDs). It is not possible define the tagType
of a tag definition. This is relevant for the C++ UML profile, where I want to restrict to Boolean
the range of values accepted by some tag definitions.
Another problem I'm having is that if I define tag definitions associated with a stereotype (their owner), these don't show as options to be applied to model elements that have the stereotype. Lets say cppClass
stereotype has TDs constructor
, header_incl
and source_incl
. When I create a class and apply the cppClass
stereotype to it, the tagged values defined in cppClass
aren't available to be applied to the class. Well, this takes the value out of associating the TDs to stereotypes, but, this is also an obvious bug that I may easily fix...
To enable users not to polute their models with stereotypes, the C++ UML Profile will have TDs both nicely associated with stereotypes and at top level. This might cause problems when I fix the error I identified above, but, we should try to please the users. It is no problem if the stereotypes aren't applied to model elements, since this way only the tag definitions defined at top level are available. When the user applies the stereotypes he will get one defined at model level and the ones that come from the stereotype. We could define here some type of rule, so that ArgoUML filters the top level values...
No comments:
Post a Comment