Ellis Michael

DSLabs

DSLabs is a framework for creating, testing, model checking, visualizing, and debugging distributed systems lab assignments. The framework and labs are written in Java and built around a message-passing I/O automata programming model. It has been used in UW’s undergraduate and professional master’s distributed systems classes, CSE 452 and CSEP 552. The framework and handout code are open source and usable by anyone looking to teach a distributed systems course or learn on their own.

DSLabs

NOPaxos and Eris

NOPaxos and Eris are network-integrated protocols for state-machine replication and distributed transaction processing. Our implementations for both are open source. The source code for the NOPaxos TLA+ specification is also available.

NOPaxos
NOPaxos’s TLA+ Specification
Eris

PyREM

Running distributed systems experiments across multiple machines can be a pain. After one too many terrible bash script, I wrote this Python module to simplify the the process.

PyREM

TeX All the Things

While an undergrad, I wrote a Chrome extension to insert MathJax into arbitrary webpages, so that my friends and I could discuss math classes in \(\rm\LaTeX\) on messaging apps.

Tex All the Things