Cyclone Logo

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 Graph
  * Demonstrate how to use path conditions.
  */

graph G{

    /* the set of nodes */
    abstract start node S1{}
    abstract node S2{}
    
    
    /* the set of edges */
    edge { S1 -> S1 }
    edge { S1 -> S2 }
    edge { S2 -> S1 }
    edge { S2 -> S2 }
    
    goal{

        /*
         * Find a path (starts from node S1) that 
         *  has a length of 5, 
         *  must not include self-loops,
         *  and eventually reach S2.
         */
        check for 5 condition (!(S1->S1) && !(S2->S2)) reach (S2)
    }

}

Using Cyclone

Useful Resources

This website is designed by Haoyang Lu.
Cyclone is designed by Hao Wu.
Principles of Programming Research Group, Maynooth University.
Last Updated: Sun Sep 08 2024