|
Project Information
Links
|
Closing of Google CodeYou can download zip files with source and binary code and learning materials from my web site: software tools and files associated with textbooks. If you wish to initiate a collaborative development, the projects are also available as repositories on GitHub. The Erigone model checkerErigone is a partial reimplementation of the Spin Model Checker. The goal is to facilitate learning concurrency and model checking. Erigone is single, self-contained, executable file so that installation and use are trivial. Erigone produces a detailed trace of the model checking algorithms. The contents of the trace are customizable and a uniform keyword-based format is used that can be directly read or used by other tools. Extensive modularization is used in the design of the Erigone program to facilitate understanding the source code. This will also enable researchers to easily modify and extend the program. Erigone implements a subset of Promela that is sufficient for demonstrating the basic concepts of model checking for the verification of concurrent programs. No language constructs are added so that programs for Erigone can be used with Spin when more expressiveness and better performance are desired. Two postprocessors of the trace output are included:
The EUI development environmentEUI is a development environment for use with Erigone. It is an adaptation of the jSpin environment for Spin and can be accessed from the jspin project page (see the link on this page). Promela models from my textbooksThe list of downloads includes the following archives that contain versions of Promela models from my textbooks adapted for Erigone:
ImplementationErigone is written in Ada 2005 for reliability, maintainability and portability. Note for Mac users A workaround is needed when Erigone is compiled for "Snow Leopard". An executable file for this system (contributed by Michael Walker) is available on the Downloads page. This has not been updated for a long time; if you can help, I'd appreciate it. References
Other relevant softwareDAJ is an interactive execution of distributed algorithms. VN is a tool for visualizing nondeterminism. Links to the projects for these tools are given on the left. |