# eta v0.1.0 - Table of Contents > Deterministic simulation testing for the BEAM: a serializing scheduler, a virtual clock, and a driver that turns a seed into a replayable run. ## Pages - [README](readme.md) - [LICENSE](license.md) - Walkthrough - [What DST is](01-what-dst-is.md) - [Setting up a project](02-setting-up.md) - [Example: two-phase commit](03-two-phase-commit.md) - [Writing a system under test](04-writing-a-system-under-test.md) - [Gotchas and footguns](05-gotchas.md) - [A Journey Through DST](06-a-journey-through-dst.md) - Design - [Design history](design.md) ## Modules - [eta_harness](eta_harness.md): The contract between your system and `eta_run` — Phase 3 of the DST framework (design: `docs/design.md`). - [eta_log](eta_log.md): A deterministic event log, and the thing that makes a failing run readable. - [eta_logger](eta_logger.md): `logger` for a system under simulation — the same API, routed into `eta_log`. - [eta_net](eta_net.md): A simulated network: seeded message loss, delay and partitions between processes in one VM. - [eta_observe](eta_observe.md): Reading a process's state **without asking it** — the observability half of the DST framework (design: `docs/design.md`). - [eta_run](eta_run.md): The run driver — Phase 3 of the DST framework (design: `docs/design.md`). - [eta_sched](eta_sched.md): A serializing scheduler for BEAM processes — Phase 0 of the DST framework (design: `docs/design.md`). - [eta_shrink](eta_shrink.md): Delta-debugging a failing trace down to one a human can read — Phase 4 of the DST framework (design: `docs/design.md`). - [eta_statem](eta_statem.md): `gen_statem`'s own time-outs, on the virtual clock. - [eta_time](eta_time.md): A virtual clock and timer wheel — Phase 1 of the DST framework (design: `docs/design.md`). - [eta_transform](eta_transform.md): A `parse_transform` that points a module's timer and clock calls at `eta_time` — Phase 1 of the DST framework (design: `docs/design.md`).