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]