- Some Links
- from leesei
- Text based tools
- GaaS (graph as a service)
- GUI Tools
Some Links
UML | leesei’s notebook Draw More, Work Less | [self employed] Draw More, Work Less PlantUML Mermaid
from leesei
Unified Modeling Language (UML) Business Process Model and Notation (BPMN) is very similar to activity diagram. YANG Central
Allen Holub’s UML Quick Reference
Text based tools
I used to use the GUI tool Dia. But it was very buggy and no longer updated. I then went on to look for alternatives.
I am frustrated with the UI diagram apps:
- layout of components takes time
- it is difficult to modify the diagrams in UI (especially for batch operations, e.g. rename, grouping)
- application lock-in becaused of the saved file format
So I focused on tools that provides a DSL for drawing UML from plain text. Candidates are (ranked according to the criteria below):
Tool | Language | Diagrams | Remark |
---|---|---|---|
PlantUML | Java | Activity, State, Sequence, Component, Class, Object, Use Case, DITAA, JCCKit, Sudoku, XEarth | live, Language Reference |
blockdiag | Python | Block, Activity, Sequence, Network, Rack, Packet | live |
mermaid | JavaScript | Flowchart (Activity), Sequence, Gantt | live |
js-sequence-diagrams | JavaScript | Sequence | live |
UMLGraph | Java | Sequence, Class | |
ckwnc | ? | Sequence | live only, C-like syntax |
Graphviz | C | Digraph | supports dot , layout/rendering layer for PlantUML and UMLGraph |
I ended up choosing PlantUML because:
- the syntax is more familiar and flexible
- active development
- generates beautiful diagrams
- styleable
- supports more diagram types
- easy to setup
- binings to more projects indicates widespread usage
BTW, blockdiag would be the first runner up. It also features several unique diagram types.
GaaS (graph as a service)
Your Graphviz, UMLGraph or PlantUML for your README
PlantUML’s jQuery and Javascript async and sync integration.