Implementing System Dynamics Models in Java
For a research project into the value of serious games - games that teach and educate - in software engineering and project management education, a game called Simsoft was developed. Two keys parts of Simsoft were the system dynamics engine that captured the fundamental causal relationships of the software project being modelled; and the Java dashboard through which the players entered their project decisions. Java also provided a means of saving the players individual decisions so these could later be analyzed and replayed. While there are currently no Java libraries for implementing system dynamic models, a system dynamics model is simply a collection of non-linear differential equations, and open-source Java libraries for these do exist.