Generating UML diagrams with PlantUML

Hello there! This post is to talk a little about PlantUML.

PlantUML is an open-source tool allowing users to create UML diagrams from a plain text language. The language of PlantUML is an example of a Application Specific Language.[3] It uses Graphviz software to lay out its diagrams. It has been used to allow blind students to work with UML.[4][5]PlantUML also helps blind software engineers to design and read UML diagrams.

Ok, maybe you’re blind, maybe not, but the thing is that I’ve seen people using this tool around and looks interesting, 1 is free, 2 once you learn the syntax it becomes easier than drag’n drop icons here and there. Really, give it a try next time you need to create diagrams.

Under the hoods, PlantUML uses Graphviz to generate the diagrams besides you can use a wide range of tools to help you with that, like plugins for IDEs like PlantUML Integration for IntelliJ.

Particularly I have a preference for PlantText, is online, free and make it easy to create and export your diagrams. In the beginning, you’ll probably need some reference, I suggest the official documentation, you can find other tutorials and posts about it but most of you need is there already, just navigate through the main menu “above” and you’ll probably figure out quick how to do what you need.

Today I was scratching something about Docker for a future post.

[Docker Repository] as Repository
[Docker File] as File
[Docker Dir] as Dir
[Text Editor] as Editor

Editor -up-> File : edits
File -left-> Dir : contained in
Dir -up-> Image : docker build
Image -left-> Container : docker run
Image -right-> Repository : docker push
Container --> Image : docker commit
Repository --> Image : docker pull
Repository --> File : imported by Dockerfile "from" statement

And this is the result.

Nothing fancy here but you can create some complex ones for all types of diagrams that you need.

Another interesting thing about this approach is that how it generate diagrams from text, you can easily integrate with other tools, let’s imagine that you have a huge system, confusing and hard to understand just reading the code, you can integrate or extend a code analysis tool to output diagrams to give you an idea from a big picture perspective view.

Yes, quite nice, give it a try, may you have some nice ideas to use it beyond the diagrams.

Allan de Queiroz

Allan de Queiroz
London based software engineer

XServer forward from Linux text mode for Headless purposes.

Hello, this post is about XServer forward from Linux text mode, **not ssh forward, anything related to VNC** or things like that.Recently...… Continue reading