Programming Tools: UML Tools
June 1st, 2005 by Reg. Charney in
A communication gap exists in most organizations of any size. This even applies to small groups--think job turnover. One of the most common ways of passing on knowledge is through diagrams. In our field, these diagrams often take the form of UML drawings.
None of the UML shapes are complex to create, but automating their creation and rearrangement saves time and also adds consistency. Most of us want something that draws what we want quickly and easily. All of the UML tools I review here can do this to slightly different degrees. However, only one tool is open source. The differences are instructive.
Reviewed here are the DIA drawing program, which is open source, Poseidon by Gentleware and No Magic's MagicDraw. The latter two products have binary-only Community Editions that are available for free for non-commercial purposes. All of them run under Linux and Windows.
The simple tests that I applied below are taken from Scott Ambler's excellent little book The Elements of UML Style.
DIA is a drawing package based on the GNOME Toolkit, gtk+, that tries to emulate the functionality of Microsoft's VISIO program. For simple-minded applications, such as putting predefined visual objects on a sheet, it works fine. However, shapes and pallets have little semantic knowledge about the shapes they contain.
The first figure example in Ambler's book demonstrates how crossing lines have a little bump in one set of lines to indicate that the lines are crossing and not merging. None of the packages showed this distinction this simply. For DIA, I ended up composing this type of line out of an arc and two line segments. It was doable, though, and I then was able to put this crossover connector shape into the UML palette.
Creating most of the other diagram examples in DIA was laborious. In a number of cases, I needed to compose the standard shapes I wanted from more basic shapes. For example, I needed to draw an Associated Class using a regular class object and an association line.
DIA's do-it-yourself figure creation ability can be both a strength and a weakness. For instance, the other two packages were so highly structured that I did not have this flexibility to create what I needed. Figure 1 shows an overview of the DIA GUI.
Nits with this version of DIA include:
The main File menu has New and Open options but no Save, SaveAs or Close options.
Once a group of objects is created, it cannot be resized. Also, the properties of an object do not include its size, making resizing an object this way impossible.
In the context menu for a selected object, the first option, Modify, does not seem to do anything.
Documentation that comes with the package does not explain how to create pallets or template objects. However, this information is available on the Web.
DIA crashed a number of times, once while I was saving a diagram.
Poseidon has a nice GUI, which makes using the product a pleasant experience. The company also uses a business model for Poseidon that I like: a non-commercial, single-user Community Edition and Commercial Editions for business purposes. Unlike DIA, however, Poseidon is not open source.
Poseidon is a sophisticated UML drawing program. As shown in Figure 2, it is geared to UML creation. I was not able to create, for example, the crossover connector that I did in DIA. Nor could I figure out how to add new symbols to the pallete. However, I was able to create more sophisticated diagrams more quickly using Poseidon. See Figure 2 for an idea of what this product can do.
Nits with this version of Poseidon include:
The Community Edition does not support copying a model element completely with all user-provided data, only their visual representation. This is according to the included documentation. However, I could not get Paste to work in any form.
I could not convert a diagonal association into a series of horizontal and vertical line segments.
There is no way of applying attributes such as bold, italics and the like to text elements. However, color and size can be used.
Adding a visible legend to each diagram is a tedious process.
When trying to create a design diagram, there is no way to suppress visibility or an operation's parameter lists.
There is no way of specifying a return type determined by implementation.
In a class diagram, there seemed to be no way of specifying a multiplicity of 0..*
MagicDraw has the most restrictions of any of the Community Editions reviewed here. Its restrictions are based on the amount of work you are trying to do. In other words, don't try to do anything complex with this edition if you don't plan on buying a license. That said, MagicDraw Community Edition is a sophisticated and easy-to-use tool for producing UML diagrams.
After a short time, I found that it was easier to work with MagicDraw than with either of the other two programs. I ended up doing more in even a shorter time than I expected. The interface for this package is shown in Figure 3.
Nits with this version of MagicDraw include:
Depending on the drawing mode, you cannot use elements from other modes. For example, I could not use directed associations in the diagrams, although they were available in the Activities diagrams.
The Language Properties button does not work, so I was unable to specify the exceptions that an operation could throw.
In developing the tests for this column, I actually exceeded the limits on the community edition of this program. However, I did not seem to lose anything.
At the moment, none of the open-source tools that I have tried match the richness of the commercial products. DIA is the most extensible, but it does not treat UML semantically, so logical connections and implications are not supported. MagicDraw was the easiest to use, but it also was the most restrictive in terms of both flexibility and licensing.
During my simple testing, it was obvious that the commercial products are more polished and more focused. They are developed intrinsically for the UML market. As such, they are able to make better assumptions about what a user wants to do. That said, they offer little flexibility outside their area of expertise. Eventually, open-source tools will be the equal of their commercial peers, but in the area of UML tools, that moment has not yet come to pass.
Lastly, making each product conform to an arbitrary standard may seem unfair. However, most of us want some form of standard and Ambler's book is a good start. You can adopt his guidelines to fit what your chosen product can do. As long as you have consistency and clarity, you are ahead. However, making each product conform to an unbiased standard has been interesting. Try it yourself, as all of these products are available for the cost of a free download.
The Elements of UML Style, by Scott W. Ambler, ISBN: 0-521-52547-0.
Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Subscribe now!
The Latest
Newsletter
Tech Tip Videos
- Jul-01-09
- Jun-29-09
Recently Popular
From the Magazine
July 2009, #183
News Flash: Linux Kernel 3.0 to include an on-the-go Expresso machine interface! Ok, maybe not, but Linux is definitely going mobile, from phones to e-readers. Find out more inside about Android, the Kindle 2, the Western Digital MyBook II, The Bug, and Indamixx (a portable recording studio). And if you've gone mobile and you been wanting more Emacs in your life then check out Conkeror.
To compliment the mobile we've got the stationary: parsing command line options with getopt, checking your Ruby code with metric_fu, and building a secure Squid proxy. How is this stationary you ask? What can we say? It's not. We just wanted to see if anybody actually read this part of the page :) .
All this and more, and all you have to do is get your hot sweaty hands on the latest copy of Linux Journal.



Delicious
Digg
StumbleUpon
Reddit
Facebook








Nice review
On May 22nd, 2009 Kadek Bagus (not verified) says:
what about argo UML and star UML, is it available on linux?
i use mandriva by the way....
aşk şiirleri
On March 26th, 2009 Anonymous (not verified) says:
I know ibm rose well have been using rose for 3 years now developing web
apps j2ee, c#... after reading this page I have tried DIA Version 0.92.2
it is real cool app, but I feel IBM rose is more advance, when using dia
really miss the wizards in rose, hope there will be more wizards added in DIA
How about staruml
On March 25th, 2009 Touko (not verified) says:
Hi,
if Windows-only is accepted, check out StarUML.
thanx
On March 14th, 2009 sex hikayeleri (not verified) says:
thanx
More UML modeling tool review
On February 13th, 2009 Lau (not verified) says:
Great review!
I've reviewed a couple other open source UML modeling tools on my blog.
It shouldn't be too long before they are all reviewed.
UML modeling tools review
More UML modeling tool review
On February 13th, 2009 Lau (not verified) says:
Great review!
I've reviewed a couple other open source UML modeling tools on my blog.
It shouldn't be too long before they are all reviewed.
http://lau-sdl.blogspot.com/2009/02/uml-modeling-tools-reviews.html
Oliver M. Kellogg, core
On January 28th, 2009 Anonymous (not verified) says:
Oliver M. Kellogg, core developer, Umbrello UML Modeller:))) parça kontör web site Full details. Oke ?
UML Designing Lover
On October 18th, 2008 UMLUSER (not verified) says:
Hi,
I have done UML programming in my BCS and MS program Thesis. And I love it because it is very easy to use object oriented programming. I have seen many comments on MagicDraw edition for UML designing. I will try this and will let all of you guys about it. Right now i am working on certification programs and providing IT Trainiing.
rose and DIA Version 0.92.2
On December 13th, 2006 linux uml lover (not verified) says:
I know ibm rose well have been using rose for 3 years now developing web
apps j2ee, c#... after reading this page I have tried DIA Version 0.92.2
it is real cool app, but I feel IBM rose is more advance, when using dia
really miss the wizards in rose, hope there will be more wizards added in DIA
UML
On June 20th, 2006 Serg (not verified) says:
It is possible as to use this program PowerDesigner, RationalRouse
ArgoUML (http://argouml.tigris.org/)
"The main File menu has New
On November 13th, 2005 Anonymous (not verified) says:
"The main File menu has New and Open options but no Save, SaveAs or Close options."
I have no idea what you mean here. Why is this a "nit"?
Every window (assuming your window manager isn't completely braindead) has a close-box. (Do you want it to have Minimize and Maximize commands in the File menu, too?)
And Save/Save-As are pure cruft.
Now, I haven't used the latest DIA (and the old versions I have used, I was not impressed with), so I won't be defending its implementation. But to mark something down because it doesn't have the cruft you're used to seems a bit unfair. That's the sort of reviewing technique that leads to all Linux desktops having a Start menu.
MagicDraw
On June 10th, 2005 Mindaugas Ringys (not verified) says:
I appreciate this review a lot and want to make some remarks about MagicDraw.
The idea of MagicDraw edition is to provide UML modeling tool with no limits for modeling Classes structures, but with some limits for the rest of the UML. MagicDraw Community Edition has no limits for elements in the class diagram – you can create as many classes, interfaces, associations, generalizations and etc as you want. Limits are only in other diagrams – you are not allowed to create more than 25 use cases, states, object, components, nodes and etc. We think that such limits meets expectations of the most part of community – mostly class diagrams are used for creating software models.
Directed Associations are available in any MagicDraw edition – direction is a matter of role navigability. Just right click on the association role and change “Navigability
hi
On May 5th, 2006 mindaugas (not verified) says:
hi my name is mindaugas ringys too i dont know how are you from lithuania maybe we are related please write for me in mringys@yahoo.com
New Umbrello is out!
On June 9th, 2005 watchman (not verified) says:
Just to tell you that a new Umbrello is out! (with fixes)
http://uml.sourceforge.net
A comment on Poseidon
On June 8th, 2005 Anonymous (not verified) says:
Thanks for your article. I am new to Poseidon and currently using the community editon to reverse engg an open source project for doc purposes. The feature set looks good, but its performance definitely needs work. Using it on a T40 Thinkpad with 1 GB RAM and increased the heap size according to their tips. The thing still crawls when i want to change things in the diagrams. May be it is the size of the code base I am dealing with. Even tends to lock up the machine time to time for a while.
UML editors (and usefulness thereof in general)
On June 5th, 2005 Duncan Simspon (not verified) says:
If you did consider dia, why was xfig not mentioned? One of the xfig libraries is UML bits and you defintiely can clone and rescale things. I have found the even older, non GUI, pic the best tool for the job for some boxes and arrow pictures.
Last time I heard about it the UML documentation had some serious ambigutities, for example does A then B mean
1) For every instance of A there is subsequect instance of B. Instannces of B with preceding instances of A are possible.
2) For every instance of B there is a preceding instabce of A. Instances of A without subsequent instances of B are possible.
3) For every instance of A there is a subequent instance of B and for every instance of B there is a preceding instance of A.
This was a formal methods gathering, and no ambiguous language is possible using formal methods. The first option would be a rule than allowed you to deduce an instance of B from an instance of A, but not vica-versa, for example.
A lot of bugs can be found by asking exactly why some facts hold at crticial points and exacly what some sections of code do. Even if you do not prove these facts the code will benefit anyway.
What about Eclipse?
On June 4th, 2005 Beetle (not verified) says:
Under Eclipse Public License
It has a UML 2.0 module.
Am interested what is your opinion about it.
Didn't test it yet though.
http://www.eclipse.org/
Borland Together Community Ed
On June 4th, 2005 os (not verified) says:
Borland Together Community Edition : croos-platform, UML2 support
Proxysource
On February 23rd, 2006 Anonymous (not verified) says:
How about Proxysource? I found it very useful, and it's free! Proxysource.com
TCM - Toolkit for Conceptual Modeling
On June 2nd, 2005 freeio (not verified) says:
Another worthy tool in this realm is tcm - the Toolkit for Conceptual Modeling. It is excellent in the visual aspects of both new and traditional software planning (we still use data flow diagrams here for embedded designs) and is released under gpl.
The latest version of tcm seems to be 2.20, although earlier versions are packaged with the major distributions. SuSE 9.x has it on the distribution disks, but not in the default installs. For Windows users it also installs under Cygwin.
freeio
I appreciate the review - th
On June 2nd, 2005 Roger (not verified) says:
I appreciate the review - the applications reviewed along with other's comments have provided a good sense of the state of accessible UML tools.
I daily use a UML tool to do my job and I have spent plenty of time looking at cost effective tools. Although I currently use Enterprise Architect from Sparx Systems I have also tried ArgoUML, Poseidon, Visual Paradigm, Eclipse plug-ins, MagicDraw, Umbrello, Dia, and Visio. Because I do enterprise architecture modeling I don't need code generation and so my requirements are different from many. Enterprise Architect is feature-rich (really feature-complete) but isn't open source. If you have a Budget I certainly could recommend it. Otherwise I feel that Umbrello and ArgoUML have the greatest potential. ArgoUML runs fine in both Windows and Linux but Umbrello runs only under KDE (i.e. Linux only - although I have an older version running under Cygwin). Umbrello does a fairly good job reading XMI files, but all of the UML tools do a poor job talking to each other via XMI - especially Diagram info. I like that Umbrello's Browser includes Views allowing me to easily handle entire projects (like Enteprise Architect).
Umbrello runs well on OS X, L
On June 2nd, 2005 chrisp (not verified) says:
Umbrello runs well on OS X, Linux, and other Unices. The old version is fairly easy to set up in Windows via Cygwin. With the recent changes to the QT license, a native Windows version is a possibility. It already can run natively on OS X, but is very difficult to set up this way.
As said below, it does have a large number of bugs. Large enough as to be considered unacceptable (especially beyond a 1.0 release). Other than that, it's the best free open source tool available (IMO). In fact, I like the interface more than any proprietary solution I've tried. I found the bugs annoying, but learned to work around them and save often. Hopefully the Umbrello team fixes their release process..
Open Source UML Tools
On June 2nd, 2005 Colin Bennett (not verified) says:
I agree with the comments regarding DIA. In fact being so awkward to use led me to look for other UML diagramming tools on the web. I came across ARGOUML nad have been using it since. It's published under the BSD License and can be downloaded at http://argouml.tigris.org/
Cheers
Colin
Remarks on Poseidon
On June 2nd, 2005 Marko Boger (not verified) says:
Hello, let me thank you for your article. Despite the criticism of other responses, the article is well written and fair. The market is indeed very large and it is impossible to cover all tools.
I am writting you as the founder of Gentleware. I will stay out of discussion, but I wanted to clarify the questions you left open regarding Poseidon.
Best regards, Marko Boger
UML is an effective tool when it is the basis of design
On June 1st, 2005 David Mohring (not verified) says:
I have to agree with most of the other commenters, this article is half arsed and incomplete. A quick search of freshmeat.net returns a few more tools than the above article reviews, and the reviewer does not even touch on the twenty or so UML plug-ins for eclipse.
UML based modeling is really useful to bootstrap a project when the UML model is used to generate the source code template/framework. Open sourced add-ons, such as UML2PHP5 for Dia, can be adapted and customized to an individual project.
Maintaining UML models is a real hassle unless you can get all the programmers in the project to adopt and use the same round trip tools in an IDE like eclipse.
UML is an effective tool whenumbrello it is the basis of design
On June 1st, 2005 Anonymous (not verified) says:
One of the problems with doing an article on something like UML modellers is that there are so many. As such, I had to select a few to review. The ones I chose from the number I looked at were what I thought representative of standalone UML modellers. They were also rated as "most popular" of their category on freshmeat.net. The comments so far by others on this article also fall into the same categories of Open Source and Community Edition commercial products.
Your comment about using Eclipse as a platform was valid, but again, I was trying to review standalone products, not plugins.
So he picks two closed-source
On June 1st, 2005 LeonScape (not verified) says:
So he picks two closed-source applications, and DIA which is a general diagram program, and declares this the state of the art on Linux?
He Completely ignores stuff like Umbrello ( an open source UML Modeller. ), and seems more concerned with the business model of the companies making the closed-source software.
The article isn't worth the electrons its displayed with.
So he picks two closed-source
On June 1st, 2005 Anonymous (not verified) says:
Please see the comments I made in an earlier posting, especially on Umbrello.
Also, please understand that we do not live in splendid isolation - there are commercial products out there that we need to compete with. I believe that the only way we are going to get better is through competition and garnering an understanding of the needs of users by studing what corporations are spending a lot of money on discovering. Thus, I feel mentioning commerical products is sometimes valid and instructive.
With regard to the business model some companies are using, I want to encourage more of the Community Edition approach. Good quality tools, regardless of origin, will help us develop better Open Source products.
Reg. Charney
Enterprise Architect via Crossover Office
On June 1st, 2005 Anonymous (not verified) says:
I'm in the process of evaluating Enterprise Architect (http://www.sparxsystems.com/), which seems to be a favorite of many people. They seem to support EA on Linux via Crossover Office. I just gave it a spin using the demo versions of both apps, and I must say it ran quite nicely. Considering the reasonable price for the features offered, EA on Linux should be considered when discussing UML tools. As an added bonus, there are apparently plans for a native Linux version at some point in the future.
Info: http://www.sparxsystems.com/EAOnLinux.htm
Enterprise Architect isn't
On February 8th, 2006 Anonymous (not verified) says:
Enterprise Architect isn't bad, I agree, it isn't that cheap, though, particularly when there is quite usable free stuff about. Sadly, too, it doesn't run on OS/X and there are no plans to port it.
It does seem odd that UML tools don't all offer full cross-platform support - that's part of the objective of UML, after all!
How about UMLet?
On June 1st, 2005 BillK (not verified) says:
There's also a pretty nice but little known UML diagram utility called UMLet at:
http://qse.ifs.tuwien.ac.at/~auer/umlet/index.html
The latest release, UMLet 5, requires Java 1.5. I think there are older versions that will work with Java 1.4 still in the download area if you can't use Java 1.5.
It runs as a standalone app and as an Eclipse plugin.
You forgot ARGOuml
On June 1st, 2005 John Brown (not verified) says:
Argo UML is what poseidon is based upon.
http://argouml.tigris.org/
You will find it doesn't do nearly as much as poseidon, but it uses the same engine - and accomplishes most UML things you would want to do with it.
Current version is a bit buggy - but still quite useable.
Argo Uml is BSD style licensed.
I Concur!
On June 21st, 2005 Howard (not verified) says:
I've been using ArgoUML for quite a while now, and it does everything I need a UML program to do.
Granted, it doesn't have all the bells and whistles of say, Rational, but I just don't need them. All I need is a dependable tool to help me lay-out my applications, and ArgoUML fills the bill.
What about Umbrello?
On June 1st, 2005 Mamont (not verified) says:
And what about Umbrello UML Modeler (http://umbrello.org/) ???
I haven't used all of the apps above, but I tried DIA many times in hopes to see some good in it and still I am stick with Umbrello which I consider to be one of the best open-source UML tools...
What about Umbrello?
On June 1st, 2005 Anonymous (not verified) says:
Umbrello has real promise. I tried to use it for my review. However, I had to omit it because it was really buggy. For example, copy and paste would not work properly and using undo often crashed the system.
I also had another problem with umbrello: in trying to report the bug, I found a number of others had reported the same or similar bugs. These bugs were marked resolved, but they still existed in the latest version of the source I downloaded, 1.4.0. While I could have tried to use the CVS head source, that seemed to be past the point at which most users were willing to go.
Re: What about umbrello?
On July 30th, 2005 okellogg (not verified) says:
Reg. Cheney wrote:
> I also had another problem with umbrello: in trying to report
> the bug, I found a number of others had reported the same or
> similar bugs. These bugs were marked resolved, but they still
> existed in the latest version of the source I downloaded, 1.4.0.
Please do not hesitate to reopen any bugs you might encounter
in the newest version, 1.4.2, which just came out.
Oliver M. Kellogg, core developer, Umbrello UML Modeller
I'm using Visual Paradigm UML
On June 1st, 2005 Anonymous (not verified) says:
I'm using Visual Paradigm UML ... http://www.visual-paradigm.com/product/vpuml/
Quite portable and there's also a community edition: http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp
rose
On February 14th, 2007 linux lover (not verified) says:
I am using rose, but rose is a better product before IBM bought the company
yeah, ibm is bad
On August 22nd, 2007 Jack (not verified) says:
rose was better before :/
Post new comment