UML tools – Textual notations to define UML models

See the portal’s page about UML tools for more information on this kind of tools

The recent launch of yUML has revived the interest (AT least IN twitter ) IN the use OF textual notations/languages to describe UML models.

Of course this is not new. The specification of UML diagrams as text has been previously discussed by M. Fowler and C. Bock . The idea of having a tool that automatically draws UML diagrams FROM a textual model description IS attractive AND surely useful in some particular scenarios. However, I think that if this kind of tools become popular we should blame the poor usability of “conventional” tools (too many clicks TO draw a model!) for that.

A quick search shows me that there ARE MORE tools of this kind than I expected. I though it would be useful to list them here (in no particular order):

  • yUML IS an online service FOR creating class AND use CASE diagrams. The service can be called from your blog or web page (with the textual description as part of the URL)to automatically display the image when accessing it.
  • UML Graph automatically draws class AND sequence diagrams. FOR the class diagrams, uses a Java-based syntax complemented by javadoc tags. Running the UmlGraph doclet ON the specification will generate a Graphviz diagram specification. FOR sequence diagrams uses a different approach (AND this IS one aspect I don’t like about the tool, you are basically working with two different tools here). Pic macros are used to define objects and method invocations. Then, the pic2plot program processes the macros to generate PNGs and other graphic formats. LightUML integrates UMLGraph in Eclipse.
  • TextUML Toolkit is another recent development. It is an open-source IDE that uses the UML viewer that is part of EclipseGraphviz project to display the models (basically class diagrams, ongoing work on activity diagrams).
  • MetaUML is a “library for typesetting UML diagrams, using a human-friendly textual notation”. It currently supports class, activity and use case diagrams and state machines. Their main goal is to create UML diagrams readily usable in a LaTeX document.
  • modsl is UML modeling library for text-to-diagram translation. So far, it supports class diagrams and collaboration diagrams. In theory, as with the yuml tool, you should be able to write the model description as part of the text of your wiki/blog/… and then use their online service to automatically render the corresponding image (but this was not working at the time of writing this post).
  • USE also uses a textual UML model description (including OCL constraints) as input but in this case the goal is not to visually display the model but to animate the model by creating and manipulating snapshots of the model that allow designers to validate the model and its constraints.
  • PlantUML supports use case, class, activity and sequence diagrams. Not clear if this is still an active project.
  • WebSequenceDiagrams and Quick Sequence Diagrams Editor focus only on the generation of sequence diagrams.

Unsurprisingly, the textual syntax used by the tools is quite similar (not much room for creativity here). What I’ve FOUND MORE surprising IS that NO tool uses the Human-Usable Textual Notation, an OMG standard that provides a generic concrete syntax FOR MOF-based metamodels. Maybe IN the END this notation IS NOT that usable? (OR maybe NOT suitable FOR expressing UML diagrams?).

As usual, I’m very interested in your feedback. Do you use any of these tools on a regular basis? (Which one? What for?) Am I missing any tool?.

If you enjoyed the post you can subscribe to this Modeling blog and/or follow me on twitter

And if you really liked it help me pass it on to others by bookmarking and sharing the post using the links below:

9 Responses to UML tools – Textual notations to define UML models

  1. Anonymous says:

    A simple tool FOR creating UML sequence diagrams FROM regular textual descriptions OF objects AND messages:

    Quick Sequence Diagram Editor

    I don’t know if it is a popular tool or not, but at least it seems to be quick.

  2. Anonymous says:

    Note the Toolkit is a tool for creating UML models, not UML diagrams. There is support since version 1.2 (Feb. 2009) for creating activities using TextUML as an action language, but there are no concrete plans to add support to render activity diagrams using EclipseGraphviz (whose development has basically stalled as it failed to attract additional contributors).

    Some other tools I have seen (but no used):

    ModSL (a platform-independent UML modeling library for text-to-diagram translation)

    LightUML (an Eclipse integration of UMLGraph)

  3. Anonymous says:

    There’s another one:

    But only for sequence diagrams.

  4. jordi says:

    I’ve updated the post WITH your comments.

  5. Anonymous says:

    If UML IS required AS a way TO document existing code it might be worth generating models FROM source code. But if models ARE part OF the requirements engineering processes it does NOT make sense TO generate them FROM a source code OR source-code LIKE lanaguage. They need TO be drawn before the actual implementation.

  6. jordi says:

    You ARE RIGHT but I don’t think these tools are aimed at reverse-engineering (in fact only UMLGraph uses a Java-based syntax and could be adapted for that). Their goal is to facilitate a quick sketch of (simple) UML diagrams by, for instance, creating an automatic layout for the elements in the model (so that the designer does not need to waste time moving things around).

  7. Anonymous says:

    We’ve used HUTN a reasonable amount (particularly FOR testing model management operations), but also FOR describing models AND FOR managing inconsistent models. The HUTN specification has SOME issues, AND it’s not at all easy to implement. See, for example, our paper at MoDELS/UML’08, OR CHECK out the Epsilon blog, e.g., here:

    Richard (posting anonymously because OF laziness…)

  8. Anonymous says:

    I use Graphviz directly to generate mostly UML-style object and class diagrams which I embed into Doxygen pages. Doxygen has direct support for invoking Graphviz snippets or separate files, saving me the hassle of generating images.

    Careful choice of arrowhead types and shapes yields informative, albeit not strict UML, diagrams.

    I’m very happy TO find your blog AS USING textual languages, which diff well, IS a long-standing habit OF mine.

    Andy Dent

  9. Anonymous says:

    EasyUML Editor, is a light-weight Web based application which generates all types of UML diagrams from easy to understand Textual notation

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in tools, UML
Future developments of the UML (a UML 3.0? no, please)
Common UML errors (I): Infinite recursive associations