gabrielayuso
Software is my art and craft.
The mind is my fascination.
Resistance is my enemy.
gabriel [at] gabrielayuso [dot] com

UMLet - UML diagrams saved in simple XML+plain text

Now that I’m on the topic of UML diagrams I want to talk about UMLet which I discovered recently.

We have grown tired of bloated applications with their proprietary formats which only they can open. They hijack our data and force us to use their programs and update to new versions every few years. We have chosen to switch to very simple applications such as SimpleNote, Notational Velocity and TaskPaper which give us the power to do with our data whatever we want and access it from wherever we want. Because the data is all saved in plain text we can do with it what we please.

In my previous post I talked about yUML which is a simple web bases tool which creates UML diagrams from plain text. Now I will talk about UMLet, an Eclipse plugin which lets you create very simple UML diagrams and saves them in an easy to understand XML format.

There are many tools which save their data in XML formats or let you export the data to XML but most of these tools generate very chaotic XML which is hard to decode. UMLet’s XML structure is quite simple. The way one describes a UML element such as a class is actually in plain text.

e.g.

Person
--
+Name: string
+LastName: string
--
+GetFullname(): string

The XML just wraps this plain text description in an element with meta information such as width, height, x and y coordinates so UMLet knows how to display it.

Given the simple nature of the XML and the way elements are described. One could easily create tools which generate UMLet diagrams from code or code from UMLet diagrams. One could also create other viewers or editors which are compatible with UMLet XMLs.

I’m not a huge fan of having to use Eclipse to edit UMLet diagrams but I rather use this than any other tool which generates chaotic XML which only they can understand. It’s also free. There are other free tools such as AgroUML and StarUML out there but they are ugly, buggy and generate complicated XML.

  1. gabrielayuso posted this