With PyModel you write models (simulations or executable specifications) in Python. There is an analyser that generates and displays graphs (finite state machines) that demonstrate samples of model behavior (the model itself does not have to be finite state machine). The analyzer can also check whether the behavior reaches unsafe states (according to a definition you provide) or intended goal states. Another tool uses the models to generate and check tests. (Disclaimer: I am the author)
Comments
With PyModel you write models (simulations or executable specifications) in Python. There is an analyser that generates and displays graphs (finite state machines) that demonstrate samples of model behavior (the model itself does not have to be finite state machine). The analyzer can also check whether the behavior reaches unsafe states (according to a definition you provide) or intended goal states. Another tool uses the models to generate and check tests. (Disclaimer: I am the author)
https://github.com/jon-jacky/PyModel