Skip to content
groboclown edited this page Jan 24, 2014 · 7 revisions

Discrete Reactive Simulation Library for Dart

An engine and support tools for constructing a dynamic, discrete time simulation using a Fuzzy Cognitive Map with borrowed elements from the Actor Model.

This simulation engine aims to provide a framework to constructing emergent behavior for virtual worlds, but the engine itself isn't limited to those applications.

Getting Started

Because the project is still pre-Alpha, there's no working code yet. You can read up on the Architecture to see the gritty details.

Further Reading

The roadmap will tell you where the project is at, and where it aims to be.

The simulation architecture has the deep details for how the low-level engine works.

The section on Patterns details higher level structures built on top of the Architecture.

Pluggable and Upgradable

The model used by the simulation engine natively supports adding "plug-in" behavior and upgrading with fixes to existing simulations.

The Engine In Action

The engine works in cycles, each cycle representing one discrete time interval. Each cycle performs the following operations:

  1. All pending Actions execute. These may update values, create and delete Pragmas, and update Links between Pragmas.
  2. These updates signal Functions as Values to run, and signal Actions bound to altered values to queue for execution in the next cycle.

These basic steps allow for very complicated behaviors to build upon each other.