···23Trinity is a simulation testing library for the Elixir programming language.
45-Processes are deterministically scheduled within a given simulation, and only one process is allowed to execute at a time.
6-Scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself.
7-Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution,
8-and a simulated (in-memory) filesystem is also provided.
0000910## Status
11
···23Trinity is a simulation testing library for the Elixir programming language.
45+Trinity can simulate the execution of a distributed Elixir application.
6+Processes are deterministically scheduled, with only one process executing at any given time.
7+This scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself.
8+9+Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution.
10+A simulated clock and filesystem are provided,
11+and Elixir's default PRNG is deterministically seeded when a process is spawned.
12+Trinity also includes tools for (simulated) fault injection, logging, and hashing (to check for determinism bugs).
1314## Status
15