About

Caal (Concurrency Workbench, Aalborg Edition) is a web-based tool for modelling, visualization and verification of concurrent processes expressed in the CCS language (Calculus of Communicating Systems) and its timed extension TCCS (Timed CCS).

The tool allows to edit CCS/TCCS processes, explore the generated labelled transition systems and verify their correctness via the equivalence checking approach (e.g. strong/weak and timed/untimed bisimulation, and strong/weak and timed/untimed trace equivalence checking) and the model checking approach (determining whether a given process satisfies a HML formula with recursion, including a generation of distinguishing formulae). Both verification techniques support visualization of counter examples via equivalence and model checking games.

The tool was designed for educational purposes and all the verification algorithms support on-the-fly state space exploration based on the notion of dependency graphs. The main goal of Caal is to provide a modern tool to support teaching of concurrency, and it closely follows the approach described in the book Reactive Systems: Modelling, Specification and Verification.

The tool is distributed under the MIT License.

For more information see the following theses

  • Recursive HML, Distinguishing Formulae, Equivalence Collapses and Parallel Fixed-Point Computations
  • Equivalences, Preorders and Games for CCS and TCCS

Offline Version
An offline version of the tool can be found here.

Authors
Jacob Karstensen Wortmann, Jesper Riemer Andersen, Mathias Munk Hansen, Nicklas Andersen, Simon Reedtz Olesen, and Søren Enevoldsen.

Project Supervisors
Kim Guldstrand Larsen and Jiri Srba.

Contact
Email: caal@cs.aau.dk.