Setting up ArgoUML to provide tagged values and stereotypes in a dropdown menu
Background and Notes
The screenshot below shows ArgoUML with the custom tags from the definition file. Having many of the possible options available from a menu has the following benefits:
- saves time - sometimes clicking is faster than typing
- reduces errors - no more mispelled tags
- presents a learning opportunity - seeing new tags and stereotypes provides a springboard for further investigation

This
walks you through how I setup ArgoUML on my Ubuntu Breezy (Linux)
desktop system. The methodology should be easily adjusted to other
platforms.
Assumptions
These are my assumptions:
- You already have java (sun j2re 1.5) installed
Getting ArgoUML and the definition file
At the time of this writing the version I used was 0.20.
Download and unpack the file from tigris.org
wget http://argouml-downloads.tigris.org/nonav/argouml-0.20/ArgoUML-0.20.tar.gz
sudo mkdir /usr/local/ArgoUML && sudo tar xvfz ArgoUML-0.20.tar.gz -C /usr/local/ArgoUML
In the new '/usr/local/ArgoUML' directory download the definition file
cd /usr/local/ArgoUML
sudo wget http://plone.org/products/archgenxml/issues/30/18/at_download/attachment
sudo mv attachment ArchGenXMLprofile.xmi
Launching ArgoUML with definition file
To launch the file I go to the '/usr/local/ArgoUML' directory and run the command shown below
cd /usr/local/ArgoUML
/usr/lib/j2re1.5-sun/bin/java -Dargo.defaultModel=ArchGenXMLprofile.xmi -jar argouml-mdr.jar
You may need to change the location of your java.
These are the raw instructions and can be refined with a launch script etc....
Why ArgoUML?
Just a few notes on why I'm using ArgoUML.
- Mature - it supports the important stuff (at least as far as ArchGenXML goes), state diagrams, tagged-values, stereotypes.
- It is pretty lightweight, which is important when your laptop only has 256 MB of RAM and a PIII 700 Mhz processor. Poseidon Community Edition, though nice, is just too memory hungry.
- Price is good (free) :)
I'm keeping my eye on the python based UML editor Gaphor but it doesn't do everything I need yet.

