Configure Model Architecture

Use Model Architecture to configure models that combine system dynamics, Agent Modules, discrete events, or independent time scales. Open it from the Model menu. A standard system-dynamics project keeps the ordinary canvas workflow until a methodology capability is enabled or inferred.

Choose a module role

A Module can remain a visual group or become an executable module:

Executable modules display their method and clock on the canvas. Continuous modules can use Euler, RK2, or RK4 and set a local integration step.

Configure clocks and ports

Clocks

Give every independent clock a stable name and choose one timing rule:

Ports and exchanges

Use ports to expose a variable, array element, population value, event value, or shared value. Connect ports with an exchange time and a resampling policy such as sample-and-hold, linear interpolation, interval sum, or interval mean.

Configure an Agent Population

An Agent Population Module owns a dynamic Agent dimension. Configure it in the contextual inspector.

  1. Set initial active agents, allocated capacity, and the Agent Clock.
  2. Add child Stocks for persistent state and child Auxiliaries for derived fields.
  3. Select a child Stock, Auxiliary, or connected Per-Agent Flow to write its Equation.
  4. Add initialization or recurring behavior only when an equation is not the right model representation.
  5. Configure optional space, networks, and an appearance graphic.

Fields and flows

Child Stock equations provide per-agent initial values. Child Auxiliary equations provide derived attributes. A Per-Agent Flow must target a State Stock in the same module; its Equation is the net change applied at each Agent Clock activation.

Connect fields on the canvas to make their dependencies explicit. Connected Attributes refresh in dependency order before advanced rules, and Per-Agent Flows commit afterward.

Initialization and behavior

Use Add Initialization for one-time work, such as creating links, moving agents, or scheduling events. Use Add Behavior Rule for recurring movement, spawn/remove actions, events, and network mutation.

Each field has an Initial value expression. Choose a uniform value, random uniform or normal distribution, agent index, agent count, or an index-based linear expression. The same expression rules apply to agents created during a run.

AGENTINDEX
UNIFORM(min, max)
NORMAL(mean, stddev)

Without an initializer seed, each run uses a fresh random sequence. Set a seed when you need repeatable assignments.

Categories, space, and networks

For categorical fields, Randomized category percentages and Randomized category counts assign exact quotas after a deterministic shuffle. Enter one comma-separated value per category, for example 0.4, 0.6 or 58, 86.

Space can be continuous 2D or a grid with clamp, wrap, reflect, or remove boundaries. Choose a random, grid, ring, or clustered initial layout. Networks can be directed or undirected, weighted, static or dynamic, and start empty, ring, lattice, random, scale-free, small-world, or spatial-radius topology.

Appearance and Agent Maps

Use Create Agent Appearance or choose an existing Graphic in the Module’s Appearance picker. The Graphic remains reusable on the canvas while its shape or image, aspect ratio, fill, stroke, border, and opacity become the Agent Map symbol.

Choose Color by field to tint the symbol from captured agent state. Enable Show Hover Tooltip to inspect position and attributes; enable stable IDs when needed. Click an agent on an Agent Map, or select its stable ID in the plot inspector, to open Individual Agent details at the current playhead.

Configure discrete-event behavior

Stocks and Flows retain their familiar canvas shapes while taking optional Queue, Resource, Arrival, Service, Route, Transfer, or Departure roles.

Lower priority numbers execute first.

Expose results through model variables

Create an Auxiliary, Stock, or Flow and use a methodology query in its equation. These scalar variables use the ordinary Series editor and can be combined with other equations before plotting.

AGENTCOUNT("Agent Module")
AGENTMEAN("Agent Module", "Field", "Element")
EVENTCOUNT("Event")
QUEUELENGTH("Queue")
RESOURCEUTILIZATION("Resource")
CLOCKCOUNT("Clock")
PORTVALUE("Module.Port")
SHAREDVALUE("Shared Value")
NETWORKMEANDEGREE("Network")

AGENT is the public spelling for Agent Modules. POPULATION remains available only for compatibility with older Native Fast v2 projects.

Choose structured views when needed

Use scalar model variables for ordinary Canvas and Interface plots. Select methodology data directly only for structured views:

These plot settings appear as Methodology Data Source, not as scalar Series.

Run and inspect the model

Action buttons can step to the next activation or event, run to a timestamp, schedule an event, inject a payload, spawn an agent or entity, and reset a module.

Runs with Agent Modules retain complete timestamped agent, event, network, queue, and resource history independently of configured plots. Visual previews may reduce on-screen samples for responsiveness without changing the saved source history.


Yano Simulator Help — Version 0.2.0, Build 20260809