diff --git a/README.md b/README.md index d1a0b49..268acfa 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,14 @@ Trinity is a simulation testing library for the Elixir programming language. -Processes are deterministically scheduled within a given simulation, and only one process is allowed to execute at a time. -Scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself. -Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution, -and a simulated (in-memory) filesystem is also provided. +Trinity can simulate the execution of a distributed Elixir application. +Processes are deterministically scheduled, with only one process executing at any given time. +This scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself. + +Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution. +A simulated clock and filesystem are provided, +and Elixir's default PRNG is deterministically seeded when a process is spawned. +Trinity also includes tools for (simulated) fault injection, logging, and hashing (to check for determinism bugs). ## Status