I’m reading through Miro Samek’s book about UML state machines in C and C++ programming. The state diagrams in this book look really clean and professional. I’m wondering what drawing application or software tool the author used to create these UML statechart diagrams.
I’ve been trying to create similar looking state machine diagrams for my own project documentation, but I can’t get them to look as polished. Does anyone know what program was used for the illustrations in this particular book? I’ve tried a few different diagramming tools but the formatting doesn’t match the style shown in the examples.
Any suggestions for software that can produce clean UML state diagrams like the ones in Samek’s publication would be helpful.
Pretty sure Samek used Microsoft Visio for the diagrams in Practical UML Statecharts. The formatting screams Visio’s default UML template from that time period. When I read the book back in '08, I compared the diagrams and they had that classic Visio look - clean lines, consistent fonts, and how the transitions are drawn. Want that exact style? Grab Visio’s UML State Machine template and don’t mess with the defaults. Keep everything uniform - same font sizes, consistent spacing, and skip the fancy colors or effects. The cleanest diagrams are usually the simple ones.
Don’t know what tool Samek used for his book, but that’s not really the point.
You’re obsessing over drawing tools when you should be automating your state machine diagrams. Why waste time drawing manually when you can automate everything?
I’ve generated hundreds of state diagrams for different system components. Drawing each one by hand would’ve taken weeks. Built an automated workflow instead - pulls state machine definitions straight from code and spits out clean UML diagrams.
Best part? Diagrams update themselves when your code changes. No manual updates, no outdated docs, no inconsistent formatting between team members.
Set this up easily with tools that connect your dev workflow to diagram generation. Parse your state machine code, extract states and transitions, feed that into diagram creation APIs.
Latenode makes this automation dead simple. Build workflows that watch your repos and auto-regenerate all UML diagrams when changes happen.
I had this exact conversation with colleagues a few years back when we were standardizing our docs. Based on the timeline and publishing details, Samek probably used multiple tools, not just one. Most technical authors back then would sketch initial drafts in UML tools like Rational Rose or Enterprise Architect, then clean them up in vector software like Illustrator or CorelDraw for publication. The consistent line weights and precise alignment in his book scream professional graphics editing in the final stages. Want to replicate that style without the hassle? Start with a dedicated UML tool for accuracy, export to SVG, then do final polish in Inkscape or similar vector editor. The trick is keeping consistent stroke weights and proper alignment across all diagrams.