Diagramming

Thanks to @newgeekorder we have recently started to use a new tool which is helping transform the way we work.

Plant UML is a free tool which generates UML-type diagrams from text. I am not sure how accurate and correct the UML is as I don’t know anything about UML standards, but at work we are finding it very useful to generate diagrams to show sequences of flow. This makes complicated scenarios visible in a nice easy way, which is easily editable by anyone.

How to use it

All information can be found on the Plant UML website which also has a bunch of demos to try out. There are many ways to run this but I am doing it through the command line as follows:

1 – Download the .jar file

2 – Create a text file

3 – Run: java -jar plantuml.jar FileName.txt

Everything between the @startuml and @enduml tags will then be executed and turned into a .png of the UML diagram.

An example

In the following example there are three systems talking to each other: A, B and C.

A takes inputs and passes them on to B, which validates them and passes them on to C.

C does something with the inputs and passes the results back to B, who in turn passes this on to A.

A then outputs this result.

The Text file:

@startuml

actor Actor

participant A

participant B

participant C

title Example
Actor -> A: Message 1
A -> B: Message 1
B -> B: Validate Message 1
B -> C: Message 1

alt Message rejected by B
B -> A: Rejected
A -> Actor: Rejected
end

C -> C: Validate Message 1
C -> B: Accepted
B -> A: Accepted

alt Message rejected by C
C -> B: Rejected
B -> A: Rejected
A -> Actor: Rejected
end

C -> C: Process Message 1 to Message 2
C -> B: Messgage 2
B -> A: Message 2
A -> Actor: Message 2

@enduml

The Result


Obviously this is a very simple example and does not represent a real life situation. But on the other hand, it took me about 3 minutes to write the text file and execute the java command. Even better, I can update this at any time by adding to the text file and recompiling.

I’m sure there is a lot more you can do with this tool and that I have only just touched the surface here. If anyone has a play, let me know what you discover!

Advertisements

About RNewstead

I am learning every day. Sometimes I worry there are too many interesting things in the world and not enough time.
This entry was posted in Operations and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s