# emichael/dslabs

Distributed Systems Labs and Framework

Repository: https://github.com/emichael/dslabs
Canonical: https://ross.abutalabs.com/products/dslabs
Homepage: https://ellismichael.com/dslabs/
Language: Java
License Family: other
Topics: distributed-systems, university-project
Last push: 2026-04-01T19:02:59+00:00

## Health v2 (maintenance only)
Score: 66/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 75, release rhythm 35, longevity 100
- inputs: {"age_days": 3023, "days_push": 154, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1701, forks 406 (observed 2026-08-28T04:05:24.304939+00:00)

## What it is
DSLabs is a Java framework and set of lab assignments for teaching distributed systems, built around message-passing state machines. It provides automated model-checking tests that systematically explore implementation state spaces and a visual debugger for exploring executions and invariant-violating traces.

## Use cases
- implement paxos consensus in java for a class assignment
- model check my distributed system implementation for bugs
- visualize message-passing executions of a distributed protocol
- teach a university distributed systems course with labs
- build a sharded key-value store with distributed transactions
- debug a primary/backup replication system with trace output
- learn distributed systems by implementing real protocols

## When to choose
- teaching or learning distributed systems protocols like Paxos and state machine replication in Java
- you need automated model checking with counterexample traces for student implementations
- you want a visual debugger to explore distributed executions step by step

## When to avoid
- building production distributed systems rather than educational exercises
- you need a framework in a language other than Java
- you want a general-purpose model checker for arbitrary systems

## Facets
- artifact type: learning-resource
- maturity: active
- function: testing, developer-tools, simulation
- domain: microservices, education, developer-tools
- platform: jvm, cross-platform
- tags: distributed-systems, model-checking, paxos, state-machine-replication, educational-labs, visual-debugger, message-passing, university-course

## Member repositories
- emichael/dslabs (main) score 66

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:24.304939+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:37:42.475794+00:00, confidence not recorded.
  - readme: https://github.com/emichael/dslabs (fetched 2026-08-28T04:05:24.304939+00:00, sha 4defd340d134)
  - homepage: https://ellismichael.com/dslabs/ (fetched 2026-08-29T11:12:08.507649+00:00, sha b7a21632688c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
