Jepsen analyzes the safety properties of distributed systems–most notably,| jepsen.io
Braid Theory| lamport.azurewebsites.net
I am the creator of TLA+,| lamport.azurewebsites.net
When teaching formal methods, I often get asked how we can connect the specifications we write to the code we produce. One way we do this is with refinement. All examples are in TLA+.1 Imagine we’re designing a multithreaded counter. We don’t know how we’re going to implement it yet, so we start by specifying the abstract behavior.2 ---- MODULE abstract ---- EXTENDS Integers, Sequences VARIABLES pc, counter vars == <> \* Two threads Threads == 1.| Hillel Wayne