Module Simulation

sd.js can simulate modules!

Modules are instances of models, and are important to the future of SD. They allow common structure to be reused, and large models to be broken up into an understandable hierarchy of structure. In fact, in sd.js builtins like SMOOTH3 and DELAY1 are implemented using modules behind the scenes. Much of the set of builtin functions in existing SD programs are actually common model structures designed for reuse - de-facto standard libraries for SD. In the future and with the help of XMILE I hope to make it easy for individuals and groups to create and share their own model libraries, and modules are central to this.


  • The system dynamics stock and flow diagram below is drawn by sd.js when page is loaded.
  • The simulation is run in your browser, on page load and re-run every time a constant is adjusted with a knob.
  • Both the diagram and simulation are based on the content in the XMILE file for this model.
  • The sd.js system dynamics engine and Model editing tool have support for modules built-in.

Area (hectares)

Explore the impact changing the area of the simulation has on the population dynamics of lynxes and hares.

Size of one-time lynx harvest

We can also investigate the impact adjusting the size of the lynx harvest has.

Submodel Diagrams

These diagrams are the models behind the hares and lynxes modules above, respectively.