Layout of large SD models

Traditional SD frameworks offer the following way of laying out large models. The model is partitioned into pieces called sectors, each focusing on a particular aspect, for example: Housing, Business, Tax, Labor. The diagram for each sector is drawn apart from others, and the variables that are used in multiple diagrams are multiplied as well, so that there are no graphical links between sectors. For each such variable there is one "original" instance in one of the sectors and "shadow" copies in the other sectors. 

In AnyLogic you can partition the model into components in object-oriented way by using agents exposing the "input" and "output" dynamic variables as a part of their interface. However, the traditional "sector" method is still available. For that, AnyLogic supports view areas and shadow variables. In the figure below the population model is partitioned into Housing sector and Population sector. The "interface" between the sectors includes two variables:

Correspondingly, the Housing sector has a shadow copy of HouseholdsToHousesRatio, and vice versa. You can distinguish the shadow from the original by the angle brackets around its name: <HouseholdsToHousesRatio>.

To create a shadow variable

  1. Drag the Shadow element from the System Dynamics  palette on the canvas.
  2. Select the "original" variable from the list.

Shadow variables and view areas are used to create "sectors"

Related topics

 System Dynamics modeling