As an ArgoUML contributor I'm going to blog my activities here, so that they may draw interest by other developers or help other developers when doing tasks similar to what I've done. AND(!) the grand vision that makes an Argonaut what he is, TO THRIVE IN THE BIG DANGEROUS WORLD, TAKING THE Argo TO A GOOD SHORE ;-))

Monday, January 09, 2006

2006-01-09

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:

Reader Shared items

Followers