Tutorial: Designing Distributed Software in mCRL2 - Formal Techniques for Distributed Objects, Components, and Systems Access content directly
Conference Papers Year : 2021

Tutorial: Designing Distributed Software in mCRL2

Abstract

Distributed software is very tricky to implement correctly as some errors only occur in peculiar situations. For such errors testing is not effective. Mathematically proving correctness is hard and time consuming, and therefore, it is rarely done. Fortunately, there is a technique in between, namely model checking, that, if applied with skill, is both efficient and able to find rare errors.  In this tutorial we show how to create behavioural models of parallel software, how to specify requirements using modal formulas, and how to verify these. For that we use the mCRL2 language and toolset ( www.mcrl2.org/ ). We discuss the design of an evolution of well-known mutual exclusion protocols, and how model checking not only provides insight in their behaviour and correctness, but also guides their design.
Fichier principal
Vignette du fichier
509782_1_En_15_Chapter.pdf (818.67 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03740269 , version 1 (29-07-2022)

Licence

Attribution

Identifiers

Cite

Jan Friso Groote, Jeroen Keiren. Tutorial: Designing Distributed Software in mCRL2. 41th International Conference on Formal Techniques for Distributed Objects, Components, and Systems (FORTE), Jun 2021, Valletta, Malta. pp.226-243, ⟨10.1007/978-3-030-78089-0_15⟩. ⟨hal-03740269⟩
33 View
3 Download

Altmetric

Share

Gmail Facebook X LinkedIn More