protocon

Protocol Examples

Example files are given in three directories: (1) examplespec contains problem specifications, (2) examplesoln contains solutions, and (3) examplesynt contains solutions that retain artifacts from the specification. For each file in examplesynt, there is usually a corresponding file in examplesoln that is more presentable and simpler to verify.

Sum-Not-2

Aly Farahat’s dissertation includes a simple yet nontrivial unidirectional ring protocol. It has been extremely helpful for reasoning about the nature of livelocks in unidirectional rings and has a simple enough transition system to actually show in a presentation.

Coloring

Graph coloring is a well-known problem with many applications. Each node in the graph is assigned a color. For this assignment to be called a coloring, each node must have a different color than the nodes adjacent to it. In a computer network, a coloring applies to processes that communicate directly with each other rather than nodes connected by edges.

We can find a protocol that stabilizes for up to 13 processes, but not 14. Tweaking the topology by reversing edges or removing orientation (even with bidirectional edges) gives definite impossibility results at around 8 processes.

Maximal Matching

Matching is well-known problem from graph theory. A matching is a set of edges that do not share any common vertices. For a matching to be maximal, it must be impossible to add another edge to the set without breaking the matching property.

Sorting on Chains and Rings

Orientation

Token Passing

<— Leader Election –> <— Reduction from 3-SAT –>

Other