PlantUML - a DSL for creating UML Diagram quick & easy


In my daily work often i need, for helping to make understand, formalization of UML Diagrams (in particular i use Sequence Diagram).

There are lot of tools that allow to write UML Diagrams, not all free and unfortunately, very few of them have been integrated in Development Environments. Moreover the look & feel between them, usually, is very different and the drawing requires some expertise

My dream was to have a tool that would allow me to draw UML Diagrams without need to move out from my development environment, minimizing effort needed to draw the diagrams themselves

Then by chance i found out PlantUML that has seemed to solve all my problems.

What is

PlantUML provides a text based Domain Specific Language (DSL) that focus on "what i need to do" and not on "how i have to draw what i need to do".

This means that with  few of "text's statements"  we can obtain a complete UML Diagram. Take a look to the example below , if we write the text on the left we obtain diagram on the right without dealing with lines, arrows, boxes etc etc ..

Example

@startuml
Alice->Bob : hello
note left: this is a first note

Bob->Alice : ok
note right: this is another note

Bob->Bob : I am thinking
note left
 a note
 can also be defined
 on several lines
end note
@enduml
  
PlantUML relies on the famous open source rendering engine Graphviz (Graph Visualization Software) that has many useful features to realize concrete diagrams. To have an idea of graphical features of PlantUML's diagrams click on links below

Diagrams


PlantUML provides a complete set of Diagrams:

Integrations

PlantUML provides a wide range of integration in several tools like:

It also provides a standalone application and a on line demo server (that today we could call as CLOUD Solution).

Conclusion

PlantUML is actively maintained (last update 2 Jan, 2014) and continuously improved. I suggest you to take a look at project's site because there are a lot of features that could help your work.

I hope this helps as much as it helped me... Enjoy PlantUML 

Next .....

In the next post i'll give you an example on how integrate PlantUML, Maven & Confluence to enrich your project documentation

Comments

  1. very interesting.....this open also different other scenario of "reuse" UML diagrams simply using sentences according to text pattern

    ReplyDelete
  2. Using a DSL both "reuse" and in particular "sharing" is extremly simplified

    ReplyDelete
  3. The Sequence Diagram is a good diagram to use to document a system's requirements and to flush out a system's design. The reason the sequence diagram is so useful is because it shows the interaction logic between the objects in the system in the time order that the interactions take place. Want to learn how to draw? Find these sequence diagram examples and templates in the diagram community of Creately.

    ReplyDelete

Post a Comment

Popular posts from this blog

Google Web Toolkit Vs AngularJS

PlantText: The new "Online" UML Editor powered by PlantUML

PlantUML & Maven - Enrich your project's documentation