This project is a Python-based framework for modeling and analyzing self-stabilizing algorithms, specifically targeting the Synchronous Unison algorithm by Arora et al. The framework generates corresponding CNF (Conjunctive Normal Form) files to be used with SAT solvers for formal verification and analysis of this algorithm.
The project allows simulation over various graph topologies, configuration models, and behavioral assumptions to assess algorithm correctness under different structural constraints.
- โ
Supports multiple graph types:
ring,chain,star - ๐ Behavior simulation:
CONV(converging) andDIV(diverging) - โ๏ธ Model options:
INI,ER,OL,ICP,ICT,ER-ICP,ER-ICT,OL-ICP,OL-ICT - ๐ Generates CNF files encoding Synchronous Unison algorithm properties
๐ Analyzing Self-Stabilization of Synchronous Unison via Propositional Satisfiability A. Khoualdia, S. Cherif, S. Devismes, L. Robert, CP 2025 (International Conference on Principles and Practice of Constraint Programming), Glasgow, Scotland.
๐ Analyzing Self-Stabilization of Synchronous Unison via Propositional Satisfiability A. Khoualdia, S. Cherif, S. Devismes, L. Robert, JFPC 2025 (Journรฉes Francophones de Programmation par Contraintes), Dijon, France.
git clone <repository-url>
cd CP_Code_Parallel_SAT_SU_Exec
pip install python-sat[pblib,aiger]
python3 GraphSolver.py <graph_type> <num_nodes> <modulus> <CONV|DIV> <model>