
Cyclone: A Graph-Based Specification Language
Code up your verification tasks using a simple graph notation.
- Graph Oriented Spec – Visualise problems and exchange ideas using graphs.
- Simple Notation – No need to learn complex formalisms before writing your specification.
- Online Editor – Use our newly designed online editor to unlock the full experience of Cyclone.
/**
* A simple counting machine has three instructions only:
* increment the counter.
* decrement the counter.
* reset the counter.
*/
graph CountingMachine {
int c;
start normal node R { c = 0; }
normal node I { c = c + 1; }
normal node D { c = c - 1; }
edge { R -> I, D }
edge { I -> I, D, R }
edge { D -> I, D, R }
goal{
/**
* Find all possible of instruction sequences that use 6 instructions
* to make the counter=3 and must use the decrement instruction somewhere.
*/
assert c == 3;
enumerate for 5 condition (D) reach (R,I,D)
}
}
Using Cyclone
This website is designed by Haoyang Lu.
Cyclone is designed by Hao Wu.
Principles of Programming Research Group, Maynooth University.
Last Updated: Thu Feb 13 2025