PV1 ⊧ Peregrineverifies that a population protocol computes a user-specified predicate
Tool for the analysis and parameterized verification of population protocolsApplication domain/field
- Population protocols
- Distributed computing
- Parameterized verification
Type of tool
Analysis toolExpected input
Population protocolFormat:
Graphical editor or Python scriptExpected output
Depends on the option chosen to analyse a protocol. For verification it will show whether correctness could be proven or not. If not, then it can give a counterexample.Internals
Peregrine has several options for analysing a protocol, including:- Manual step-by-step simulation
- Automatic sampling
- Statistics generation of average convergence speed
- Detection of incorrect executions through simulation
- Formal verification (only for silent protocols): This proves correctness for all of the infinitely many initial configurations. It verifies that a population protocol computes a given predicate. This predicate needs to be specified by the user in quantifier-free Presburger arithmetic