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.
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.
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.
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…
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.