···2233Trinity is a simulation testing library for the Elixir programming language.
4455-Processes are deterministically scheduled within a given simulation, and only one process is allowed to execute at a time.
66-Scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself.
77-Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution,
88-and a simulated (in-memory) filesystem is also provided.
55+Trinity can simulate the execution of a distributed Elixir application.
66+Processes are deterministically scheduled, with only one process executing at any given time.
77+This scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself.
88+99+Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution.
1010+A simulated clock and filesystem are provided,
1111+and Elixir's default PRNG is deterministically seeded when a process is spawned.
1212+Trinity also includes tools for (simulated) fault injection, logging, and hashing (to check for determinism bugs).
9131014## Status
1115