The Erigone Model Checker

Moti Ben-Ari

Erigone is a partial reimplementation of the Spin Model Checker. The goal is to facilitate learning concurrency and model checking. Erigone implements a large subset of Promela; no language constructs are added so that programs for Erigone can be used with Spin when more expressiveness and better performance are desired. Erigone can automatically generate diagrams of the state space of simple Promela programs.

EUI is a GUI development environment for Erigone.

VMC is a postprocessor that can generate graphs showing the step-by-step construction and search of the state space during model checking. Click here to watch a video with a demonstration of VMC.

The design of Erigone

Examples

Examples of the output of Erigone for the Second Attempt at solving the critical section problem (see Ben-Ari (2005)):

Downloads

Other relevant software tools

Click here for links to other software tools for teaching concurrency: VN, jSpin, DAJ, iDot.

Implementation

Erigone is written in Ada 2005 for reliability, maintainability and portability. No non-standard constructs are used. The GNAT compiler was used; it is available in free, academic and commercial versions. The Erigone software is copyrighted under the GNU General Public License. Prior to Version 2.0.0, Erigone used a Promela compiler developed by Trishank Karthik Kuppusamy at New York University under the supervision of Edmond Schonberg. This version is available in the SVN repository in the branch ErigoneP.

References

Last update on 9 November 2011.