For a long time now I've wanted a general purpose modeling tool. I looking something that's a mixture of a programming language and a visualization engine. Some features:
- create hypotheses that affect bits of state in the model. hypotheses are expressed as functions which get run on an interval
- connect hypotheses to external data sources .. web scraping / RESTFUL APIs et al
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)