Wednesday, February 20, 2008

[Arch] Lightweight UML


Ok, this time I got a guest article from Martin Auer who is an affiliate of my institute; he and his team developed a small UML tool called UMLet. This tool can be of great use in many use-cases, and Martin gives us an overview here:

Goals and Design Rationale

UMLet is an open source UML tool developed by affiliates of our institute. This post outlines the tool's goals and design.

UML has become the standard modeling language in software design. It is often used to create early, exploratory sketches of a system, in industrial and academic environments. Yet this is difficult with many commercial tools: they are bloated with seldom-used features; they require tedious procedures and pop-up windows to change even small parts of a model; and the restrict the user by conforming to the official language specification. 

UMLet main goal is to allow people to create UML diagrams like they would on paper - fast, intuitive and free of restrictions. It uses three main approaches to achieve this. First, UML elements are not represented by tiny obscure icons, but by full-fledged template diagrams. That way, even first time users can readily create diagrams in a template-based way. Even experts benefit by being reminded of the syntax of some of the more arcane element types. 

Second, the elements are modified not with extensive dialogs, but with a text-based approach and a simple markup language. This, e.g., greatly speeds up the creation of attributes and methods for classes.UMLet also provides fast, text-based ways to create sequence and activity diagrams - avoiding the heavy mouse lifting required with other tools. 

Finally, UMLet provides an integrated Java engine to create new graphical element types on the fly, without restarting the tool. This provides maximum flexibility in light of an ever-changing UML standard.

UMLet gets a favorable nod in one of Matt Stephens' blog posts titled "Penguin-powered UML modeling". Matt also comments on the design principles of UML tools in general in his post "Tools vendors stuck on UML and agility".

In one of my next postings I would like to talk a little bit more about UML tools, as I did some "research" on that topic recently. As Martin points it out, often there is really not the need for a bloated and expensive "big" UML tool. E.g. when you need to make some UML sketches for a lecture or a documentation. In these cases I myself ended up using UMLet, which has of course limitations, but turns out to be cool for such scenarios.


Yanic said...


Did you know about Trace Modeler? It's an easy to use and smart UML sequence diagram editor. Perhaps you can include it in your round-up?

It only does sequence diagrams, but it does them really well I think. For example, it combines drag & drop with full automatic layout. This means that you are free to focus on the content, while the tool takes care of all the rest.

It's great for sketching and has some neat features like control flow highlighting, smart comment connectors, call inlining, easy scrolling and zooming, a special mode for presentations, etc.

If you're in a hurry, here's a 30 sec demo of Trace Modeler in action.

Let me know what you think of it, I'm always happy to get feedback!

Best regards,

Alexander Schatten said...

Thanks for the tip, I did not know that one, will check it out!

Anonymous said...

A great article on UMLET. I surely hope it will help me in assisting me in my software design work.
Thanks for the great info

Anonymous said...

A very Good article on UMLET.
I hope it will help me in my software design projects.
Thanks for the great article

Anonymous said...

It's really wonderful and well managed blog on software development. I like it. Keep it up.