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 23, 2006

The C++ UML profile

The problem above was included in issue #3829 and I already provided patches and tests for this to Tom Morris (the developer to whom the issue is assigned). – Well, there is an exception which is Parameter model elements, that I'll try to fix in the context of 3829. I also think that we have other problems related to namespace, ownership and undocumented behavior of my proposed solution...

With this in place I am already capable of using tag definitions owned by stereotypes in the C++ UML profile in the model elements to which the stereotypes are applied. This should satisfy issue #3771 and the planned objective for C++ reveng, but, it falls short in the context to my previous ambitions: 2005-08-16 andModel C++ in UML according to guidelines accepted in common by the community. I also think that we are buying lots of manual synchronization work to be done in the near future, which should be avoided!!! Currently we have the readme file in the C++ module source, the ArgoUML manual and the source code. With issue #3771 I'm adding the UML profile for C++ which is an additional place where these things go into. So, this means that whenever something changes I have to update four places – to be more correct its more than four since the source code for generator and reveng should be counted as two at least.

Another thing that worries me is the fact that we could be moving into a island and a not invented here syndrome. The UML profile for C++ should be something developed outside of the ArgoUML umbrella, so that it is shared with other communities, creating more reuse opportunities and improving reviews. After finding that there is no effort in the world going into this direction, I will not start with this before having other things like 1446 ready, but, it is indeed important for the overall vision realization... A possible way to start with this is to make it a kickoff step in adding support to C++ to one of the existing open source MDA tools.

TODOs

  • I must update the C++ reveng code to use the profile. The C++ reveng plan also needs an update.
  • The C++ module documentation must be updated to include this notion of using the UML profile for C++.
  • Make a review of non-working tags in the C++ generator, create an issue to handle this and coordinate things with Daniele.

No comments:

Reader Shared items

Followers