diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-02-28 14:19:16 +0100 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-02-28 14:28:30 +0100 |
| commit | 2ed1e47b5d82229a873febebb2d8bd3d8f5832ea (patch) | |
| tree | 6c0e37e994d0a1ada6cef8d42d7dfbd9cdde3ccc /docs | |
| parent | b82e573c67f0004945aa18c575268100fb279b56 (diff) | |
docs: Adjust information about domains
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/architecture.md | 3 |
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. |
