Verifying Properties of State-Based Models Using Constraint Programming

Published in Rigorous State-Based Methods: 12th International Conference (ABZ 2026), 2026

We explore the application of Constraint Programming (CP) tools to modelling state-based systems and verifying their properties. This includes finding execution traces leading to a particular state, and proving deadlock-freedom up to a given bound on the number of transitions. We present three distinct case studies. The first formulates a railway signal in the Essence CP modelling language, demonstrating use of Essence types and operators to model states, transitions, and invariants, in a system with a single finite-state automaton. The second case study is based on Dining Philosophers, and demonstrates effective CP modelling of a system with a large number of automata, synchronised on transitions. The third case study is part of the Alpha Algorithm, an example from swarm robotics. It introduces a clock, and has transitions with guards that refer to the clock. It also has triggers, representing sensor inputs, and non-deterministic waits, demonstrating that these concepts can be represented in a CP model. Finally we demonstrate that the CP approach is complementary to a model checking approach using FDR4. In many cases the CP approach can scale substantially better than the model checker, despite the CP toolchain being general-purpose, i.e. not explicitly designed for verifying properties of state-based models.

Recommended citation: Victoria Johnson, Pedro Ribeiro, Simon Foster, Peter Nightingale, Felix Ulrich-Oltean, "Verifying Properties of State-Based Models Using Constraint Programming", Rigorous State-Based Methods: 12th International Conference (ABZ 2026), https://doi.org/10.1007/978-3-032-26752-8_6 https://eprints.whiterose.ac.uk/id/eprint/239752/