I had to code certain processed which were very complex and which were undocumentated. Therefor I used yEd to capture the flow of my state machines.
I use these for 3 reasons.
They are fed into a pyhton script which generates a state machine skeleton
They act as 'automatic' software documentation
I use them to navigate through large and complex programs and to make alterations
This particular one used to be 6x bigger. Except for 3 of the states, these states merely call a nested state machine function. The nested state machine is a different state diagram.
yEd lacks the capability to handle these kind of nested state machines. It has the ability to have more than 1 open tab view, but I am looking for something betters.
What I want is this. If I double click on a state (or use a hotkey), I want to automatically jump to the nested state diagram. I also want to be able to jump back ofcourse. I'd also like if the entire package fits in one file for more than 1 reason.
Currently I have to run a python script and feed it with one diagram. Than a compile-able ready-to-fill-in state machine is generated.
If a specific state calls a nested state machines, I could do the filling in part for that state already. Currently I cannot.
All state machines have a timer which are defined as name + T. Nested state machines make use of their 'parent's' timer. For this I have to #define the timer as the timer of the parents. If I know which is the parent state machine, I can fill in the timer definition in advance. Now I could modify the script so that the programmer is asked who the parent is. Than this problem is solved.
Now there are so many software packages out there. I don't know which one I should use.
So the summarize my whishes.
I want a better navigation between a diagram and a sub-diagram, preferebly by clicking on states or using hotkeys
I'd like a method to know that a state calls a nested state machine. If a state of a diagram would have a nested diagram, I could use it.
As I feed the files into a python script, the stored files must be in ascii format or 'human readable' and not encrypted in any way.
The software must be free of charge.
Which software package mets with these demands