What is Spin?
. Spin is is a tool for analyzing the logical consistency of concurrent systems,
    specifically of data communication protocols
. Spin uses a modeling language called Promela (Process Meta Language) to
  describe the behavior and interaction between different processes, invariants
  can be represented as assertions.
. Spin works on the Promela description and checks for absence of deadlocks,
  unspecified receptions, and unexecutable code.
. Spin is designed to attack software problem, but is also helpful in logical
  design, because it provides a method of formal verification.