- Project tools
- Using ArgoUML
- How do I...
|Over 500 more tools...
Frequently asked questions for ArgoUML
List of all questions
Quickstart, install and use
Java Web Start
Diagrams and Navigation
XMI and other Formats
Printing and Graphics
This FAQ is provided with the hopes of being helpful for users using
ArgoUML for their projects.
It is a collection of tips and tricks from the ArgoUML users' mailing
to see the available lists).
It is not a complete overview but it does reflect the interests and
problems that the users have expressed on the mailing lists.
There are also some questions and answers that are not related to the
use of ArgoUML but to the ArgoUML project.
They are listed here.
The information is updated as the questions and answers are posted on
the mailing list. A certain version of the FAQ is only loosely
connected to a specific version of ArgoUML but can show how a problem
is solved differently in the different versions. The current "stable"
version of ArgoUML can be found
The current developer release can be found at the same place but
further down under development releases.
- What is ArgoUML?
ArgoUML is a Java based Universal Modeling Language tool. It is able to create and save
standard UML diagrams. More information on UML can be found here.
ArgoUML also has the ability to reverse engineer compiling Java code and generate UML diagrams for it.
ArgoUML is made available under the BSD Open Source License.
ArgoUML is not production ready!
This means that the things you can't do will distract you, you will have problems that you won't
have in commercial UML tools, and there is no one to blame for this. On the other hand, this also means that
you have the opportunity to fix your problems yourself.
- Where does the name ArgoUML come from?
This goes to the ancient history of ArgoUML when it was
Jason Robbins' project.
Jason Robbins writes:
I first learned programming back in the days of BASIC on the Apple
II. When TurboPascal arrived, it got me very excited about IDE's. I
later had a chance to work with two Smalltalk environments and UNIX
and emacs. I've always been interested in how some tools can be so
much better than others. I have also enjoyed doing rapid prototyping
and experimental programming.
I came to grad school with the intention of building a better software
development environment with an emphasis on the human aspects. What
makes some languages and IDE's more productive for people than others?
I initially set out to build a tool that would help software designers
experiment with alternative designs quickly.
At that time, all of the names of research projects in my research
group at UC Irvine were taken from Greek Mythology. I borrowed a book
on mythology and tried to find a tale of experimentation. The story of
Jason and the Argonauts seemed like a good match because my name was
Jason and exploration was close to experimentation as I could find. In
that myth, "Argo" is the name of the ship that they sailed.
The name "Argo" refers to the library of cognitive support features I
implemented (e.g., design critics, checklists, navigational
perspectives, etc.). I have also used it as the product line name for
some of the applications of that library. The Argo/UML tool is
actually the fourth in a series of tools I worked on that have
cognitive support features provided by the Argo library. Argo/UML is
by far the largest application of the Argo library.
I later learned more about the "Argo" myth and found an interesting
coincidence. The ship "Argo" was made from wood cut from a magical
talking tree. The beams of wood on the ship continued to talk and
warned the Argonauts of upcoming danger. You could say that these were
- How can I help?
Welcome, welcome, welcome, you are most welcome!
- Use it!
- Talk about it!
- Test it!
- Find bugs!
- Report bugs!
- Help in pin-pointing and fixing bugs!
- Discuss what you want to work on on the developers mailing list.
- Fix bugs from Issuezilla yourself and get them committed!
- Make enhancements yourself and get them committed!
- Become a developer of ArgoUML!
- Is there a manual?
for the 0.32 version.
- Where do I get the source code for ArgoUML?
You can download the source from the same server that you download the
There is an archive with all the source so you can look at it.
If you are aiming to build ArgoUML, download from the repository instead.
You will then get the complete set of development tools and libraries
needed to build it.
(The build scripts included in the archive does not really fit
the way the libraries are packaged so building ArgoUML from the archive
is really complicated and not recommended.)
- Is there commercial support for ArgoUML?
- Not currently. Companies such as Gentleware and Genuitec have
created commercial derivatives of ArgoUML, but these are independent
and have separate code bases.
- What versions of UML are supported?
ArgoUML versions through version 0.18.1 support UML 1.3. Beginning with version
0.20 in early 2006, ArgoUML began supporting UML 1.4.
We don't have plans for the support of UML 2.0 in the immediate future,
but it is a goal as the standard is completed and software components
that support it (model repository, OCL, etc) become available.
- How do I install ArgoUML?
- The easiest way to get started is to click on the Java Web Start link
on our home page. If you need a different style of installation, you can
find more information in
Quick Guide Chapter 2
- Where can I discuss ArgoUML usage
with other users?
- The users'
forum and #argouml
is available for questions and discussions. Furthermore, there is a
wiki about UML and
the usage of ArgoUML for knowledge sharing and discussion.
See the support page for more information about
- Can I use ArgoUML for "large" projects?
- Yes. But be sure to use a large heap space
when you have more than about 50 modelelements.
The heap space for any java application can be defined on the command line,
the supplied launch scripts for ArgoUML (.bat, .sh, .jnlp, .lnk), all
java -Xms64m -Xmx512m -jar argouml.jar
If you have problems with large models, you may need to set -Xmx512m to a higher number.
- OS X: How can I access the context sensitive menus?
- Press the Apple Key together with the mouse button
- OS X 10.2: How can I get ArgoUML to work?
- ArgoUML will not work out-of-the-box on MacOSX 10.2 for people who have the Apple Developer Tools installed, because those tools install Java 1.4.1.
There is a workaround, though: Apple leaves the 1.3.1 java engine installed, but in an obscure place. You can run ArgoUML from the Terminal window by typing
% /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Commands/java -jar argouml.jar
- Windows: How can I get ArgoUML to load when I double-click on a model file?
For ArgoUML 0.25.5 and above, use the windows installer which associates
.zargo files with ArgoUML automatically.
On Windows XP, (don't try this on Vista!)
the trick is to do things in two steps. First, open Windows Explorer and find a .zargo
file, and then right-click on it. You should get the normal Windows menu, including an Open or Open With
option. At this point, give a description for the file like "ArgoUML Model", and tell Windows to use
Notepad to open the file. That's not what you want to do ultimately, but it does get Windows to
accept the .zargo extension as representing a valid file type.
Now close, and then reopen Windows Explorer. If you are using a version of
Windows prior to XP go to the Explorer menu and select View->Options. For XP
you would use Tools->Folder Options. You should get a two (or more) tabbed
dialog. Click the "File Types" dialog and then scroll through the list for
the Description you gave - in this example "ArgoUML Model". Click to select
that file type, and then click the "Edit" button.
Now, click on the "Open" action and then the "Edit" button there. You will
then get a dialog that has a line for entering in the application action
that will have a line for using Notepad to open the file. Replace that line
"C:\Program Files\Java\j2re1.4.1_01\bin\javaw.exe" -jar "c:\ArgoUML\argouml.jar" "%L"
Substitute your path to your JavaW.exe and ArgoUML.jar files if they aren't
located where specified above. Click OK, then click OK, then click OK (three buttons on
three different levels of the dialog).
You can now double-click on your model and have ArgoUML instantly loaded.
On Windows Vista, you do the following:
1) Create a batch file "runargo.bat" in your ArgoUML directory which looks
something like this:
start javaw -cp "argouml.jar" org.argouml.application.Main %1 /B
replacing "C:\ArgoUML" as appropriate.
2) Associate your .zargo files with this batch file (just double-click a .zargo
file and follow the instructions).
I cannot start because of an java.net.UnknownHostException
ArgoUML uses the Java method
to get the IP address of the local machine to use in constructing a
unique identifier on all elements that are to be created
in that instance of ArgoUML.
This works for networked machines and for stand alone-machines.
However there are cases when the TCP/IP configuration is wrong
where this does not work. Make sure that 'hostname' returns
a valid name on your machine and that there is an IP address
for this name in your /etc/hosts file or DNS.
The solution is, fix your network configuration.
If you want to suggest a better explanation or a fix within ArgoUML for this,
go through the java.net.InetAddress and find out
what really happens in this case.
- Linux: Why does ArgoUML fail to start with an
exception in the GUI components?
Many Linux distributions bundle GCJ
(The GNU Compiler for the Java™ Programming Language)
which, as of April 2006, doesn't provide sufficient functionality to run
Java Swing applications such as ArgoUML.
You can check on the current status of GCJ at
Please install a supported Java run-time on your system.
- Linux: Does ArgoUML work with GCJ, GIJ, or GNU Classpath?
Not as of April 2006.
- What is Java Web Start?
It is a way to download and install and launch Java applications with
a single click and have the updated automatically when new versions
Java Web Start is included with recent Java Runtime Environments
including Java 5/1.5.
For more information, see the Java Web Start product
- How do I install Java Web Start?
If you have a recent JRE (Java 1.5 or later), you probably don't need to,
but if you do, see the installation instructions on the Sun web site:
Java Web Start.
In particular, note that Mozilla and Netscape 6.x
users must take an additional step
to register the helper application in your browser preferences.
- Web Start returns a Bad MIME Type error. What's wrong?
This is from
Unofficial JWS FAQ.
This is a very common problem and most likely caused by Web Start's
failed attempt to automatically detect your proxy settings. The "Bad
MIME Type" error displayed by Web Start is somewhat confusing as it
should really be a "Resource Not Found" error.
Your proxy will send back an error page either in HTML or plain
text instead of the requested JNLP descriptor if it fails to get the
JNLP descriptor requested by Web Start.
You can change your proxy settings for Web Start manually by
starting the Application Manager and using the Preference
panel. (Select File|Preferences to get there.)
- The certificate has expired.
Yeah, sorry about that.
You are probably running an old release of ArgoUML
that we have not signed again with the new certificate
or we have messed up by making a release with an old certificate.
For now, just click the "Start" button that proceeds
with the expired certificate.
- The certificate cannot be authenticated
Yeah, sorry about that.
The security in Java Web Start relies on certificates that are signed
by known and trusted root certificates and authorities.
To acquire such a certificate you need to have
a registered company that owns the certificate
and you need to pay some money to get it...
For the ArgoUML project we don't have a company around that can own
the certificate so we don't achieve the security to the level that
the Java Web Start is designed to do.
That is the reason you get a warning every time you download a new version.
The next question is about how you
avoid the warning.
- How to trust upcoming Java Web Start deliveries?
For the impatient:
- Download "argouml-linus-2.cer"
- Use keytool to import the certificate to jre/javaws/cacerts
(Give password: changeit)
keytool -import -alias firstname.lastname@example.org -file argouml-linus-2.cer -keystore cacerts
- Verify the fingerprints.
If you are somewhat "security aware" and would like to understand
what you are doing
Now you should not see a message like
"Failed to verify the authenticity of this certificate. No
assertions can be made of the origin or validity of the code. It
is highly recommended not to install and run this code."
Now you are trusting the updates from ArgoUML issued by
Linus Tolke using this certificate.
- Be sure you are linked to the tigris.org ArgoUml-server, e.g. by putting
into the adressline of your browser.
( To be honest you can't be sure that it is not a fake what you are seeing
unless tigris.org will supply a https://argouml.tigris.org )
- Download "argouml-linus-2.cer".
( The self signed certificate of the public key that Linus Tolke
uses to make the ArgoUML releases.
You must trust that it was put there by Linus Tolke and
that it has not been compromised on the tigris server or
while moving it from the tigris server to your computer. )
Before the release 0.23.3 the certificate was called
- Note one of the hashcodes:
that are published together with the file on tigris.org.
Be sure to get it from there!
( You must trust that the fingerprints where put there by Linus Tolke
and that they have not been compromised while on the tigris server or
while moving them from the tigris server to your computer. )
Before release 0.23.3 the certificate file was called
The old certificate had the hash codes
- Import the certificate to your local installation of Java Web Start.
You can do that - for example - performing these steps:
- In a terminal window (DOS-Box) change to your Java Web Start folder,
usually this would be $JAVA_HOME/jre/javaws (%JAVA_HOME%\jre\javaws)
keytool -import -alias email@example.com -file argouml-linus-2.cer -keystore cacerts
- If you are asked for the password enter the default "changeit" or
the appropriate one that you have assigned
to your local JKS-keystore of Java Web Start named "cacerts".
- You will be asked wether you trust this certificate or not.
Compare the locally generated hashcodes (fingerprints) shown
to that read from tigris.org (see step 3).
If the fingerprints match and you decide to trust the whole chain
of Linus Tolke, Tigris, your internet connection, and your computer
enter "Yes" in your language.
If you notice that the September 2004 certificate
expired in November 2006,
that was the reason Linus Tolke
created a new certificate (in October 2006) and the
fingerprints for the new certificate are different.
The new certificate ("argouml-linus-2.cer")
expires in March 2012 and then a new certificate will be created then
unless something has happened that changes this.
If Linus Tolke will let someone
else do the release work and sign the Java Web Start releases with
a new key the key will change.
In both of these cases you will have to do this all over again to trust
the new certificate.
- Keytool documentation
- Java Web Start FAQ
- Java Web Start whitepapers
- Java Web Start for developers
- Other problems.
If you have any other problem with JWS, please:
Diagrams and Navigation
- How do I know what diagram I'm working on?
The name of the current diagram is displayed in the Title bar of the
ArgoUML application window.
- How can I sort the artifacts in the Navigation Pane, for example
sort all of my Actors?
- That is not currently supported.
- How do I arrange my diagram elements?
- There are several ways to easily and elegantly move diagram elements.
Select the elements you want to move. By holding down the control key
you can select several.
Now hit your arrow keys. Your elements move a little with every key stroke.
If you also hold down the shift key, they move a bit faster.
Or click on the broom button, move your mouse to the diagram pane,
right click and hold. Now moving your mouse side ways (or up and down)
will align elements.
There also is the menu item Arrange where you can align, group or
nudge (move a little bit) elements.
Why don't the sequence diagrams work?
- You are probably using an old version of ArgoUML. Upgrade to
ArgoUML 0.20 or later.
- I'm trying to change the ordering of the links in the sequence
diagram. How do I do that?
- That is not currently supported.
- How do I create a diagram?
- If you are trying to create a Sequence, Statechart, Activity, or
Collaboration diagram, you need to have an appropriate model element
selected for the diagram to be associated with.
If you just want to experiment with different diagram types, the
easiest thing to do is create an empty Class on the Class Diagram
and select it to enable the other diagram buttons.
- How does the note tool in the tool bar work?
- Click on your target class.
Then click on the note icon.
ArgoUML will generate the link automatically.
You can also right click on an element in the diagram to add a note as well.
Be aware that your note will not appear in the source code
documentation tab but it will appear in the diagram view of the
navigation pane (the left pane tree view).
- What is the easiest way to enter data into attributes and methods window for classes?
- Click direct class properties pane and start typing.
- Where can I find some sample ArgoUML models?
- There are some models at:
Most of these are incomplete, so if you'd like to to
do more work on them
or create additional examples, the contribution would be welcome.
XMI and other formats
- Why won't my XMI file load?
- There are several possible reasons for ArgoUML to be unable to load
your file. Some of them include:
If the ArgoUML error message complains about an unknown element
named 'UML:Diagram' (generated while loading non-standard Poseidon files
and perhaps others), you may be able to get the file to load by
turning on the ArgoUML user preference to ignore Diagram elements on
user preference Settings dialog (ArgoUML 0.21.1 or later).
- Wrong UML/XMI version - ArgoUML supports UML 1.3 or 1.4 stored
in XMI 1.0, 1.1, or 1.2 files. It's native format is UML 1.4, so
that's the best version to choose if you have a choice. Similarly
XMI 1.1 or 1.2 will provide the best information transfer. Versions
of UML greater than 1.4 and versions of XMI greater than 1.2 are
- Proprietary vendor format - Some tools write non-standard XMI
files either by default or always. Here are some tips for getting
standard files from a few known tools:
- Poseidon - Turn off the option Save with diagram
data in the Export Project to XMI dialog.
- MagicDraw - Turn on the Rich XMI option on the
Save As dialog and select either XMI 1.1 or XMI 1.2. Also, if your
project references any external modules such as the Magic Draw
profile, you'll need to import those so that ArgoUML can reference
them. Right click on the module in the explorer pane and select
- Enterprise Architect - Select do not export UML diagrams
and do not enable full EA Roundtrip. (Thanks to user "Roel"
for this information)
- Does ArgoUML save XMI files?
- Yes. ArgoUML versions through 0.18.1 will export XMI 1.0 files containing models
conforming to the UML 1.3 metamodel. Beginning with ArgoUML 0.20, XMI 1.2
files are exported conforming to the UML 1.4 metamodel.
XMI files can be exported separately and they are also included in
the zipped .zargo file where they can be extracted using the 'jar' command.
- How do I import an .xmi into ArgoUML and what formats are known to be
- The Import XMI File option on the Tools or File menu (depending on your version)
can be used to import an XMI file from another tool.
No diagram data is included in the XMI file for UML versions prior to UML 2.0,
so you will only get the model data, not any diagrams.
UML 1.3/XMI 1.0 is the only format supported through ArgoUML 0.18.1.
Beginning with 0.20, ArgoUML can read UML 1.3 & 1.4 in XMI 1.0, 1.1, and 1.2
formats. It only writes UML 1.4/XMI 1.2.
Interoperability with other modeling tools has improved over time, but
still continues to be problematic in some cases. XSLT can be used to
correct some problems and you can find examples included in the
ArgoUML source. There are also commercial solutions available
from companies such as
- Currently ArgoUML exports to XMI version 1.0 only, why?
Through ArgoUML 0.18.1 only UML 1.3/XMI 1.0 is exported. Beginning
with 0.20, only UML 1.4/XMI 1.2 is exported, although both UML 1.3
and 1.4 are read as well as all of XMI 1.0, 1.1, and 1.2.
The UML 1.4/XMI 1.2 combination should be interoperable with many
more tools than UML 1.3/XMI 1.0, but if you need a different version,
you'll have to use a separate tool to do the conversion.
- Can ArgoUML read an MDL file generated by Rational Rose?
MDL is a Rational Rose-specific format.
You are much better off getting Rose to export an XMI file.
Rose has an XMI Add-in that can create XMI format from an MDL file. It may
move as the IBM site is reorganized, but you may be able to find
version 1.3.6 here.
If that doesn't work
might take you to a page of Rose add-ins that you can search.
There's also a
describing the various versions of this add-in.
- I have a project where I need to add tags to attributes. How do I do that?
- Open the zargo file with any zip application and you'll find the XMI inside. If you want to convert it to XSD then go to http://xmlmodeling.com/ (Dave Carlson's site) and convert the XMI there.
- I have a Gentleware project. How do I convert it to ArgoUML?
- When Poseidon was first created from ArgoUML it was possible to manually convert
projects, but the two tools have diverged too much to make this practical any more.
Export an XMI file from Poseidon and import it to ArgoUML like you would from
any other modelling tool.
Printing and Graphics
- How can I print my diagrams?
- Select a diagram, then go to File->Export Diagrams. You can
generate gif, postscript, eps or .svg format.
- What does SVG stand for?
- Scalable Vector Graphics. It's a standard of the
World Wide Web Consortium (W3C). Find out more at the
- How do I save my diagram as .SVG?
- First: select .svg as the file type.
Second: type the name of the file as you like with the .svg tag at the end.
- Can I save my diagram as EPS with a preview image?
- Can I output my entire project as an HTML?
- Can I save just part of a diagram?
- No. You will have to edit the image after saving.
- Does ArgoUML generate an XMI document?
- Yes, models can be saved in XMI format (without the graphical information).
It is also one of the files zipped into the .zargo file, which can be
unpacked with the Java jar utility or a Zip utility.
- I've got a bunch of people working on the same diagrams.
How do I track who is doing what on the diagram?
How do I use ArgoUML with CVS?
- You can't.
ArgoUML works as if the .zargo files is a single binary file.
If several users open it at once to do work some work will be lost.
- Is there a mechanism to do a sanity check in
ArgoUML and enforce that sanity check?
- Yes, by paying attention to the to do items
generated by the critics.
They will give you ideas on what the problems are with your model
and sometimes help you in fixing them.
ArgoUML follows the policy that the user in the end knows more than
the developers of ArgoUML do.
A level of sanity enough to be able to draw and save the model is maintained
by ArgoUML but beyond that the user can do what he pleases
as long as he ignores (or turns of) the critics with suggestions.
- I saved a project from ArgoUML,
and then when I opened it later ArgoUML said it was empty.
What can I do?
- Many types of corruption can be repaired by hand by
a member of the development team. These problems have
become less and less common, but if you do encounter one
the best thing to due is create a bug report in Issuezilla
and attach your project. If your project contains information that
you don't want posted in an attachment, you may be able to
email it privately to one of the developers.
report the problem, try to include as much information as
possible about the actions leading up to the problem to
give the developers the best chance of finding and fixing
the root cause (in addition to repairing your file).
- I started ArgoUML and it is in
the wrong language.
Why? How can I configure it so it will be in my desired language?
- ArgoUML attempts to detect the language settings from your
operating system environment and start with the language you prefer.
There are two known problems with this approach:
There are two possible solutions:
- Some of the translations are incomplete and
ArgoUML will use English fallbacks instead of the configured language
in places where there is no translated text.
- If you are borrowing someone else's computer or working in
an foreign office you might not understand the GUI.
- Reconfigure the environment to work in your language (or English)
and restart ArgoUML.
- Force ArgoUML to use the language of your choice.
Since version 0.19.3 you can set the language in the menu:
Edit -> Settings... -> Appearance ->Language
The combobox contains the supported languages.
To see the effect of your change, you have to restart ArgoUML.
- Why does ArgoUML use the environment variable
LC_CTYPE instead of LANG to determine the language when both are set?
- This is a Java bug. Please see
bug #5033780 in Sun's bug database for more information on when it will
be fixed. It is present in Java 1.4, 5, and 6.
- Why are the links not displayed correctly?
This may be a result of a bug in the ATI graphics card drivers.
See this report
in Sun's bug database
for possible workarounds such as disabling Java's use of DirectDraw.
- Where and how do I report bugs?
- You report bugs by entering them into Issuezilla.
Bugs are called defects.
Issuezilla also contains feature and enhancement requests.
How you do this is explained on the
How to Report Bugs and register enhancements
You don't need to ask on any mailing list
if it is a problem,
if it is already known, or
if it is has a solution.
If you are having problems, assume that there really is a problem!
If you are wrong and it is not really a problem, you will get notified by
someone that resolves the issue (as INVALID, WORKSFORME, or FIXED).
If you can't find it in Issuezilla, assume that no-one else has reported it!
If the bug was already known and reported but you didn't find it,
you will get notified by someone that resolves the issue (as DUPLICATE).
It might be that it is filed under a completely different problem
description since the same problem might manifest itself in different ways.
- What information is interesting when reporting a Bug?
- Get a screen capture of it and a .txt copy of the stack output for analysis.
Also include what version of ArgoUML you are running and on what platform.
Useful information includes:
It is also helpful if you can upload the zargo project file for the project
that is having problems.
- OS - Which OS, which version, and which patches
- Java-version -
Including whether you are running a development version or
- Hardware -
Processor and processor speed,
Hard Drive space, and
free hard drive space
- How do I suggest an enhancement?
You proceed exactly as when reporting the bug including a search to see
if someone else has already suggested that.
How you do this is explained on the
How to Report Bugs and register enhancements
- Something is happening when I run ArgoUML that's
hard to describe. How should I send a picture or document describing it?
It is probably a bug.
Write a defect report and attach your picture or document
as part of a defect report.
Reporting bugs is described earlier in the FAQ.
If you have successfully reported the problem in Issuezilla
there is no need to send an email about it.
The discussion and investigation will take place in that issue in Issuezilla.
- How do I indicate that I think an enhancement or fix
You vote for the issue.
After having voted for an issue you will receive mails when something
happens to the issue.
This is unless you have turned it off in your Issuezilla settings.
- Register for a user id on Tigris.
- Apply for a role in the ArgoUML project.
(Observer role is the only one you can apply for).
- Get the role granted.
- Login to the Tigris site
- Find the issue that you are interested in
- Click on the Vote for this issue link
directly above the Additional Comments field
Your votes helps the developers of ArgoUML to know what defects are the
most important to solve and what features are the most important to add.
- How do I see how many votes have been cast for
an enhancement or fix?
- You can query for all issues that have at least one vote
by entering "1" in the At least ____ votes field and
clicking on the Submit query button.
You will get a list of all issues that have
at least one vote cast for them.
By following the link to the issue, you can adjust your votes as you see fit.
Another way is to change the columns shown by Issuezilla list to include the
This FAQ maintained by Tom Morris.
Questions about the FAQ should be addressed to
This FAQ was last updated $Date: 2011-01-29 12:57:25 -0800 (Sat, 29 Jan 2011) $.
Ewan Grantham did all the work on this FAQ through September 2003.