summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-02-28 14:19:16 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-02-28 14:28:30 +0100
commit2ed1e47b5d82229a873febebb2d8bd3d8f5832ea (patch)
tree6c0e37e994d0a1ada6cef8d42d7dfbd9cdde3ccc /docs
parentb82e573c67f0004945aa18c575268100fb279b56 (diff)
docs: Adjust information about domains
Diffstat (limited to 'docs')
-rw-r--r--docs/architecture.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/docs/architecture.md b/docs/architecture.md
index 940ec09b..e84686e3 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -9,7 +9,8 @@ The `odcsim` framework has an API module (`odcsim-api`) and an module implementi
### 3.1.1 `odcsim-api`
The API defines the behavior of any implementation adhering to the `odcsim` framework. It centers around a `SimulationEngine`, which can be created through a `SimulationEngineProvider`.
-A simulation has a root process with certain `Behavior` (a coroutine). Processes have a `ProcessContext` which allow them to spawn other processes and open communication `Channel`s with other processes. Each of these `Channel`s has a `SendPort` and a `ReceivePort`.
+A simulation consists of a number of simulation domains (logical processes) which itself consist of several coroutines
+whose execution is serialized. That is, we guarantee that no two coroutines run at the same time.
### 3.1.2 `odcsim-engine-omega`
The implementation is an executable interpretation of this API. The main class is `OmegaSimulationEngine` and takes care of transmitting timestamped events between processes. It ensures that message delivery order is the same as sent order.