Good tool for state diagrams

Hi, I know it’s only tangentially related to Ada, but do you know a good and easy (free) tool to make state diagrams ?
I am studying concurrency and must construct them to prove correctness, before tackling more automated or advanced methods. The principle is simple I have no problem with it except… that for the love of lady Lovelace, I can not write by hand more than a graph of more than 20 elements without losing it. My handwriting is subpaar (something common with nerds I do suppose) and I can’t follow anymore when there are more than 15 nodes.
I need the tool to show a nice graph and create joins paths they make identical nodes.

Thanks.

what about “dia” as an open-source equivalent of Visio for diagramming of all kinds…

RBE

1 Like

I like yed

1 Like

Draw.io ?
You can use it locally or online.
The repo is here.

2 Likes

huh, draw.io couldn’t open in the browser ten minutes ago.
Thanks, many of those tools do work, but they’re quite generalist, I would have liked something more snappy, adapted for tree-like structures with cycles, but I guess I’m too picky. this wouldn’t be quicker than doing it by hand imho. But, it’s cleaner looking and I can search for duplicate labels faster.

edit: Oh yeD ROCKS ! Exactly what I need. Thank you.

2 Likes

Graphviz, the dot tools. Especially if you want to generate graph automatically.
https://www.graphviz.org/

You can try it online.
https://www.devtoolsdaily.com/graphviz/

2 Likes

This is the one I’ve used to generate state diagrams (from UML models).

1 Like

I am not familiar with UML, can it generate the complete states of a (simplified) program from a set of algorithmic rules ?

GraphViz accepts text input in a simple format. For drawing, I use Graph / Finite State Machine Designer although it has a clumsy interface. It even has a simple but sometimes useful ‘simulation’ mode in which counts the progress of tokens through the states.

1 Like

I don’t understand the question, sorry.
The tool in question (ColdFrame) generates code from models - so, probably not.

An example of an SM, diagram generated via Graphviz:

1 Like

Mermaid is a simple “text to graph” solution, that integrate smoothly with Markdown.

2 Likes

I am not going to add much more info to what has already been said, but here are my takes.

I have used Draw.io extensively and I highly recommend it, you can produce beautiful diagrams with it quite easily. If you prefer a more programming approach to diagrams, Mermaid and Graphviz are also really good and widely used. However, they are finicky to work with.

For UML, you have what has already been mentioned. However, Umbrello can generate Ada code from your UML diagrams. Finally, there is Graphor, which is a bit more generic than Umbrello but I have not seen code generators for it, less so in Ada…

Best regards,
Fer

1 Like

It was years before I realised it has a grouping feature. You can group part of e.g. a flow chart into a box and then expand it or use alt pgup and pgdn to open and close the group as a new infinitely expandable workspace. I’ve never really taken to UML and it only has 10 UML shapes but you can add extra quite easily. It has 28 flow chart shapes by default. The saved file is xml text too and so git compatible. Another option of a similar nature with many shapes built in is Microsoft Visual Studio.