Abstract for: Modular Programming in System Dynamics

This workshop will lay the foundation for effective modular system dynamics model development and use. Programming in modules is standard practice for modern computer languages. System dynamics embraces the notion of molecules of exemplar code formulation, but such code fragments are fundamentally different from modules. Modules separate domains and encapsulate the module operations. They offer interfaces to other modules and promote code reuse, a powerful productivity multiplier. Conventional system dynamics models are typically complex, dense, with intertwined domain elements. They can be difficult to maintain and often hard to understand by any but the original developer. This workshop will provide methods and tools to alleviate these issues via adoption of modular software development practices. The workshop is presented in two sessions. In the first, participants will learn techniques for modularization, and the underlying prerequisites. In the second session, advanced applications that emphasize statistical analysis of models will be discussed and demonstrated. While the examples and tools demonstrated in the workshop are specific to Vensim®, the concepts are generic and can be applied to any system dynamics language. Participants will receive a courtesy copy of the “Conductor” tool, especially developed to automate this approach. This workshop is appropriate for experienced system developers familiar with Vensim®.