Model Checking Mutual Exclusion Algorithms Using Uppaal

This paper proposes an approach to modelling and exhaustive verification of mutual exclusion algorithms which is based on Timed Automata in the context of the popular Uppaal toolbox. The approach makes it possible to study the properties of a mutual exclusion algorithm also in the presence of the time dimension. For demonstration purposes some historical algorithms are modelled and thoroughly analyzed, going beyond some informal reasoning reported in the literature. The paper also proposes a mutual exclusion algorithm for \( N \ge 2 \) processes whose model checking confirms it satisfies all the required properties.

[1]  Micha Hofri,et al.  Proof of a mutual exclusion algorithm—a classic example , 1990, OPSR.

[2]  Tomasz Kowaltowski,et al.  Another Solution of the Mutual Exclusion Problem , 1984, Inf. Process. Lett..

[3]  K. Alagarsamy,et al.  Some myths about famous mutual exclusion algorithms , 2003, SIGA.

[4]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[5]  Wim H. Hesselink,et al.  Starvation-free mutual exclusion with semaphores , 2011, Formal Aspects of Computing.

[6]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[7]  Franco Cicirelli,et al.  Modelling and verification of starvation-free mutual exclusion algorithms based on weak semaphores , 2015, 2015 Federated Conference on Computer Science and Information Systems (FedCSIS).

[8]  Franco Cicirelli,et al.  Model checking time-dependent system specifications using Time Stream Petri Nets and Uppaal , 2012, Appl. Math. Comput..

[9]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[10]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

[11]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[12]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.