Hello Matt,

we are working on providing support for something called UML profiles.
This will enable the removal of everything Java specific into the UML profile for Java that will be available optionally to be added to a model, and the same thing applies to C++.

Unfortunately we still don't have a UML profile for C++ with all the std types that you may use out of the box. It is mainly focused on providing the tags and stereotypes needed to model the specificities of C++ in UML (see "ArgoUML users' manual Appendix C. The C++ module" <http://argouml-stats.tigris.org/documentation/manual-0.24/apd.html>
and issue #3771 <http://argouml.tigris.org/issues/show_bug.cgi?id=3771>).

The UML profile for C++ which is compatible with ArgoUML 0.24 may be retrieved from
<http://argouml-cpp.tigris.org/source/browse/*checkout*/argouml-cpp/trunk/doc/CppUMLProfile.zargo?rev=81>.

Follows a recipe on how to use it in 0.24 to support the basic C++ modelling and on how to enhance this profile
by adding types that you might want to reuse in other models.

01 - Download the file of the UML profile for C++ using the link above.
02 - Using ArgoUML 0.24 <http://argouml-downloads.tigris.org/argouml-0.24/> open this file and "File" / "Export XMI..." 03 - Now, this XMI will be the basis of your C++ models, so, you may start a new model, say model_foo01, and, before doing other things
      make an "Import XMI" of the profile you saved in step 02.
04 - Now, you proceed with modelling work in model_foo01. Here you can define a "std" package containing types such as "string". 05 - When you want to augment the profile, just open CppUMLProfile.zargo and add in a "std" package whatever you want to be available by default in your new models, like for instance a type named "string". 06 - If you start a new model of a new shiny application, you may export again the CppUMLProfile.zargo as XMI, create the new model_bar01 and import from this. It would have already the types which were included in CppUMLProfile.zargo.

Limitations:
* the profile isn't shared amongst your models, so, model_foo01 won't benefit from enhancements you make in model_bar01
* out-of-the-box there is no std namespace and associated types
* 0.24 has no support for templates and, although this is a highly desired feature, we haven't found time and energy to make huge advances in its implementation so far (see issue #1446 <http://argouml.tigris.org/issues/show_bug.cgi?id=1446>)
* reverse engineering for C++ is at a pre-alpha stage
* don't forget - use more memory than your Java VM gives by default -> at least -Xmx256M is advisable (see http://argouml.tigris.org/faqs/users.html#xmx)

On the bright side, we're heading to support profiles in 0.26 (a great implementation is already available in trunk see some notes by Marcos Aurélio <http://argouml.tigris.org/gsoc2007/profiles/proposal0/index.html>) and I'm working to have the C++ module defining the UML profile for C++ in a way that will take advantage of this support. If you have some work in the meantime on your copy of the UML profile for C++ which you want to share and to make sure it will work in ArgoUML C++ 0.26 send an email to here with it attached or create an enhancement proposal in the argouml-cpp sub-project <http://argouml-cpp.tigris.org/servlets/ProjectIssues> so that I may look at it and
try to include it.

Regards,

Luis Sergio Oliveira

EvilMonkey wrote:
Hi all. I've been looking for a free (and good) UML design tool for Linux for
a while now.
I'm starting a C++ project and ArgoUML with the CPP extension might be what
I need. I've been searching for a while now and I can't find an answer to my
question: is there a way to NOT TO have the Java datatypes by default? More,
is there any way to get some datatypes for C++ such as std and others?

Thanks a lot for your help.

Matt

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to