Graphical modelling in Simile

Simile's graphical language supports three different but overlapping modelling concepts:

  • System dynamics
  • Discrete event based
  • Object- or agent-based

System dynamics allows a system to be represented as quantities of real or abstract materials in reservoirs (compartments), moving continuously between them via a network of flows with rates derived from the state of the system. It is at the heart of Simile, and the diagram components that underlie it are used in all Simile's modelling concepts. If you are new to computer modelling, you should familiarize yourself with the system dynamics approach first.

Discrete event based modelling (new to Simile v6) allows instantaneous changes in a system's state to occur at arbitrary times. Event occurrences can be scheduled in advance, or triggered by model values crossing thresholds, or by other events, possibly after a delay. In pure event-based modelling, there is no regular time step and the state of the model does not change between events. Simile allows continuous change and discrete events in the same model.

Object- or agent-based modelling allows a single template for a functional unit in the model (known as a 'class') to work as many actual units (known as 'instances' or 'individuals') in the model. In Simile, instances can be permanent or can be created and destroyed as the model runs. Relations between instances can be specified, allowing influences to work between particular pairs of instances of the same or different classes.