14 March 2008

Seeking a Free UML Tool to Generate Diagrams

For quite some time I've been on a quest to find a free (or relatively inexpensive) UML tool that can generate class, sequence and component-ish diagrams from existing Java source. Beyond that I'm looking for one that I just like using, i.e, nice to use, not ultra-payloaded in size, integrated into Eclipse if possible, etc. I'm not interested in giant enterprise style modeling tools that claim to be free and in reality are just a try-n-buy play requiring thousands of dollars after the 30-day eval period, i.e., bait-n-switch.

Here are some of what I've looked at so far:

* EclipseUML (aka Omondo) - Doesn't run on MacOS X
* Gentleware Poseidon - Free edition doesn't generate diagrams from existing Java source; standard edition does but is $250
* ArgoUML - Can generate diagrams from existing Java source but is missing many other features
* MyEclipse - Only generates class diagrams which is good, but not enough for my needs
* Visual Paradigm for UML - Free and reasonably priced versions don't offer the ability to generate diagrams; standard edition does but is $350+
* AndroMDA - Doesn't generate diagrams from existing Java source
* Violet - Does't generate diagrams from existing Java source
* Papyrus - Doesn't generate diagrams from existing Java source
* UMLet - Doesn't generate diagrams from existing Java source

Please comment if you've got any experience in this area. I'm especially interested in any UML tools that might offer a free license to an open source software foundation like the ASF. I'm especially not interested in irRational Rose ;-).


  1. JUDE Community is simple but impressive

  2. Take a look at UMLGraph - Declarative Drawing of UML Diagrams


    It has an alternate doclet for Javadoc that will generate class diagrams, for example:


  3. I doubt you'll find a free tool that does reverse engineering of both class and sequence diagrams. Reverse engineering is usually considered a "premium" feature. Your best bet is probably to beg someone to donate licenses to ASF.

    MyEclipse's UML tool is just a closed source fork of an old UML 1.3 version of ArgoUML. Because of they way they did their fork they weren't able to follow ArgoUML to UML 1.4 and beyond.

    AndroMDA isn't a UML modeling tool.

    It would be helpful to know what the "many other features" are that you miss from ArgoUML. It definitely doesn't have sequence diagram reverse engineering, but it's possible that some of the others that you need are just poorly documented or otherwise hidden.

  4. Hava you looked at umbrello?

  5. Altova UModel can reverse engineer Java, as well as C# and VB code to class diagrams.

    There is a free 30-day trial, after which it's $139 for the Professional Edition or $199 for the Enterprise Edition that integrates with Eclipse.

  6. I've used JUDE Community also. I think its pretty decent.


  7. Thanks for all the suggestions. This is exactly what I was seeking. Please remember, I'm looking for a tool that runs on MacOS X.

  8. Have a look at Oracle JDeveloper - it can reverse engineer a class diagram. And you can create a sequence diagram while stepping through your code in debug mode.
    And it is free.

  9. StarUML is platform independent. Never used it personally as I am also seeking a UML tool at the moment.


  10. See Reverse Java (www.reversejava.com). This is a very nice tool, which generates Sequence Diagram and Class Diagrams from the running Java Code. The sequence diagram can also be exported as PDF or as JPEG.
    Excellent tool !!!

  11. See EasyUML Editor. This is a very nice tool, which portal for and one stop application for all your UML Diagrams. Very nice and easy to use tool which creates UML Diagram from simple Texts.

  12. Have you seen LucidChart? It's web-based and great for UML. Not sure if they offer free licenses to open-source groups but wouldn't be surprised - they offer free educational accounts..

  13. @dave, That's a pretty nice tool for basic diagrams. And its pricing model is pretty standard for a SaaS app. Thanks for contributing the link!