Skip to main content

Model Checking Mutual Exclusion Algorithms Using Uppaal

  • Conference paper
  • First Online:
Software Engineering Perspectives and Application in Intelligent Systems ( ICTIS 2017, CSOC 2016)

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    The contribution of Domenico Spezzano to the design of this algorithm is acknowledged.

References

  1. Hesselink, W.H., IJbema, M.: Starvation-Free Mutual Exclusion With Semaphores. Formal Aspects of Computing (2011). DOI 10.1007/s00165-011-0219-y

  2. Cicirelli, F., Nigro, L.: Modelling and verification of starvation-free mutual exclusion algorithms based on weak semaphores. Proc. FedCSIS 2015, 785–791 (2015)

    Google Scholar 

  3. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (2000)

    Google Scholar 

  4. Cicirelli, F., Furfaro, A., Nigro, L.: Model checking time-dependent system specifications using time stream petri nets and Uppaal. Appl. Math. Comput. 218, 8160–8186 (2012)

    MATH  Google Scholar 

  5. Alur, R., Dill, D.L.: A theory of timed automata. Theoret. Comput. Sci. 126, 183–235 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  6. Behrmann, G., David, A., Larsen, K.G.: A tutorial on Uppaal. In: Bernardo, M., Corradini, F. (eds.) Formal Methods for the Design of Real-Time Systems, Lecture Notes in Computer Science, vol. 3185, pp. 200–236. Springer (2004)

    Google Scholar 

  7. Alagarsamy, K.: Some myths about famous mutual exclusion algorithms. ACM SIGACT News 34(3), 94–103 (2003)

    Article  Google Scholar 

  8. Dijkstra, E.W.: Cooperating sequential processes. In: Genuys, F. (ed.) Programming Languages, pp. 43–112. Academic Press, New York (1968)

    Google Scholar 

  9. Peterson, G.L.: Myths about the mutual exclusion problem. Inf. Process. Lett. 12(3), 115–116 (1981)

    Article  MATH  Google Scholar 

  10. Alur, R., Courcoubetis, C., Dill, D.L.: Model-checking for Real-time systems. In: Proceedings of Seventh Annual IEEE Symposium on Logic in Computer Science, pp. 414–425. IEEE Computer Society Press (1990)

    Google Scholar 

  11. Raynal, M.: Algorithms For Mutual Exclusion. MIT Press (1986)

    Google Scholar 

  12. Kowalttowski, T., Palma, A.: Another solution of the mutual exclusion problem. Inf. Proce. Lett. 19(3), 145–146 (1984)

    Article  MathSciNet  Google Scholar 

  13. Hofri, M.: Proof of a mutual exclusion algorithm—a ‘class’ic example. ACM SIGOPS OSR 24(1), 18–22 (1990)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Libero Nigro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Cicirelli, F., Nigro, L., Sciammarella, P.F. (2016). Model Checking Mutual Exclusion Algorithms Using Uppaal. In: Silhavy, R., Senkerik, R., Oplatkova, Z.K., Silhavy, P., Prokopova, Z. (eds) Software Engineering Perspectives and Application in Intelligent Systems. ICTIS CSOC 2017 2016. Advances in Intelligent Systems and Computing, vol 465. Springer, Cham. https://doi.org/10.1007/978-3-319-33622-0_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-33622-0_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-33620-6

  • Online ISBN: 978-3-319-33622-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics