I’m reading through Miro Samek’s book about UML Statecharts in C and C++ programming. The state diagrams in this book look really clean and professional. I’ve been trying to figure out which drawing software or diagramming tool he used to make these charts. Does anyone know what program was used for creating the statechart diagrams in this book? I want to make similar-looking diagrams for my own project documentation. The diagrams have a very specific style and layout that looks different from typical Visio or draw.io charts. Has anyone found information about the tools used for the book’s illustrations?
I remember Samek mentioning in interviews that he used specialized diagramming software, not just generic drawing tools. The geometric layouts and consistent styling in his book scream professional diagram software - probably something like IBM Rational Rose or other UML tools that were big back then. The diagrams have that distinctive look you get from tools made specifically for state machine visualization, not from generic drawing programs. I’ve tried recreating similar diagrams myself and dedicated state machine modeling tools gave much cleaner results than trying to draw everything manually in standard graphics software. The hierarchical states and transition arrows in his book have very specific proportions and alignments that’d be nearly impossible to nail consistently without purpose-built tools.
Been there when I had to document complex state machines at work. The tool doesn’t matter as much as you’d think.
Samek’s diagrams look professional because they’re consistent - same spacing, shapes, line weights. Most people waste time manually recreating these in drawing tools.
I fixed this with automated diagram generation. I write state machine specs in plain text, automation creates the visuals. Updates happen instantly when specs change, everything stays consistent.
Best part is hooking it into your dev workflow. Code changes trigger diagram updates automatically. No more outdated docs or manual redrawing.
You can build this setup using Latenode: https://latenode.com
Had the same question a few years ago when documenting state machines for our systems. Samek probably used a mix of tools, but he never shared his exact workflow publicly.
Those clean diagrams likely came from vector tools like Illustrator or custom scripts. But manually creating these is a nightmare when you’re constantly updating them.
I fixed this by automating the whole process. Instead of fighting with drawing tools, I built a workflow that takes state machine definitions and spits out clean UML statechart diagrams automatically. It handles layout, styling, and updates diagrams when the code changes.
Saves me hours each week and keeps docs synced with actual code. You can build similar automation that connects your repos to diagram tools.
Check out Latenode for these automation workflows: https://latenode.com
Based on when Samek’s book came out (around 2002), he probably used MacDraw Pro or FreeHand - those were the go-to tools for technical docs back then. The clean vector graphics and tight alignment scream professional publishing software, not programming tools. What catches my eye is how consistent everything looks - the nested states scale perfectly and those transition arrows follow geometric patterns that’d be a nightmare to do by hand. I’ve done similar projects from that time, and publishers had their workflows locked down with dedicated illustration software. The fonts and overall polish also show this went through a real desktop publishing setup, not just some UML tool export.
i think he might’ve used PostScript or LaTeX for the diagrams. the math precision and font quality suggest programmatic generation, not hand-drawn. back in the early 2000s when the book came out, authors mostly relied on PSTricks or similar TeX packages since WYSIWYG editors were trash for tech work.
Samek was pretty secretive about his exact toolchain for those diagrams. Based on the typography and line quality in the book, I think he used a combo approach - generated the basic structure programmatically, then polished it in CorelDRAW or Illustrator. The consistent spacing and mathematical precision of the state boundaries screams automated layout algorithm, but the fine details and annotations look hand-tuned. I’ve been reverse-engineering that style and found starting with a basic UML tool export then cleaning it up in a vector editor gets you closest to that professional look. Key is keeping consistent line weights and using proper geometric shapes instead of freehand drawing.