Peregrine is a tool for the analysis of population protocols.
Population protocols are a model of computation very much studied by the distributed computing community, in which mobile anonymous agents interact stochastically to achieve a common task. Peregrine allows users to design protocols, to simulate them both manually and automatically, to gather statistics of properties such as convergence speed, and to verify correctness automatically.
Peregrine allows the user to specify protocols either through an editor or as simple scripts, and to analyze them via a graphical interface. The analysis features of Peregrine include manual step-by-step simulation; automatic sampling; statistics generation of average convergence speed; detection of incorrect executions through simulation; and formal verification of correctness. The first four features are supported for all protocols, while verification is supported for silent protocols, a large subclass of protocols.
The latest version is 0.1 and was released on 2018-07-11. It can be downloaded here:
Detailed build and usage instructions can be found in README.md.
The easiest way to try Peregrine is via Virtualbox. Download the following Virtualbox Appliance:
After booting the VM image in Virtualbox, Peregrine can be accessed via http://localhost:3001 in your local browser.
If you want to cite Peregrine in an academic publication, please use the following reference: