Abstract
Puzzles and games give a strong motivation for humans to deal with formal objects: people spend hours and hours in seemingly useless board games, moving pebbles or cards according to prescribed rules, trying to beat their opponent in a game or just solving a puzzle. In this position paper we show how to use this human obsession in order to teach students formal methods, in particular, SAT solving and model checking.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In this paper, we use the symbols |, & and ! for logical disjunction, conjunction, and negation.
- 2.
As above, in the actual SMV code, variable array bounds or indices, e.g., vpos[i], are not allowed and have to be replaced by the respective constant values vpos[1],vpos[2],....
- 3.
ISPL does not admit arrays, these must be expanded by a suitable pre-processor. Furthermore, ISPL has some syntactic peculiarities which do not contribute to the goals of this article and, thus, are left out. The full code of all examples in this article can be obtained from the author.
- 4.
Actually, Tourality is a GPS-based treasure hunt where real people are trying to outperform each other in reaching certain locations. We use a card-board abstraction of this game which was introduced in a German national competition for computer science education.
References
British Museum: The Royal Game of Ur \(^{\sim }\)2600/\(^{\sim }\)2400. https://artsandculture.google.com/asset/the-royal-game-of-ur/MwE2MMZNSKiTwQ. Clay cuneiform tablet. https://www.britishmuseum.org/research/collection_online/collection_object_details.aspx?objectId=796973&partId=1. Accessed 13 Nov 2019
Turing, A.: Computing machinery and intelligence. Mind 59, 433–460 (1950)
Silver, D., et al.: Mastering chess and shogi by self-play with a general reinforcement learning algorithm. arXiv:1712.01815v1 [cs.AI] (2017). https://arxiv.org/pdf/1712.01815.pdf. Accessed 13 Nov 2019
Shilov, N.V., Yi, K.: Puzzles for learning model checking, model checking for programming puzzles, puzzles for testing model checkers. Electron. Notes Theoret. Comput. Sci. 43, 34–49 (2001). http://www.elsevier.nl/locate/entcs/volume43.html. Accessed 13 Nov 2019
van Ditmarsch, H., Ruan, J.: Model checking logic puzzles (2007). https://www.researchgate.net/publication/29646125_Model_Checking_Logic_Puzzles. Accessed 13 Nov 2019
Eskildsen, J., Jensen, L.H., Vester, B.M.: Symbolic model checking in puzzle games - automated reachability analysis. Aalborg Universitet, DAT4, May 2005. https://pdfs.semanticscholar.org/1783/d58420fd6a05b90dc29bbba5fc2cd9e3a113.pdf. Accessed 13 Nov 2019
Wikipedia: Sudoku. https://en.wikipedia.org/wiki/Sudoku. Puzzle drawn by Tim Stellmach, CC0. https://commons.wikimedia.org/w/index.php?curid=57831926. Solution drawn by en:User:Cburnett, CC BY-SA 3. https://commons.wikimedia.org/w/index.php?curid=57831971. Accessed 13 Nov 2019
Spence, I.: The SuDoku puzzle as a satisfiability problem. http://www.cs.qub.ac.uk/~I.Spence/SuDoku/SuDoku.html. Accessed 13 Nov 2019
Alcuin of York: Propositiones ad Acuendos Juvenes, Problem XVIII. Propositio de homine et capra et lupo. 9th century a.D., Translation by Burkholder, P. http://www.math.muni.cz/~sisma/alcuin/anglicky1.pdf. Accessed 13 Nov 2019
Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NuSMV: a new symbolic model verifier. Int. J. STTT 2(4), 410–425 (2000)
Bachet, C.-G.: Problemes plaisans et delectables, Published by P. Rigaud, Lyon (1612). Text available at https://www.loc.gov/resource/rbc0001.2009gen48833/. See also https://en.wikipedia.org/wiki/Water_pouring_puzzle. Accessed 13 Nov 2019
Jefferson, C., Miguel, A., Miguel, I., Tarim, S.A.: Modelling and solving English Peg Solitaire. Comput. Oper. Res. 33(10), 2935–2959 (2006)
Clarke, E.M., Schlingloff, H.: Model checking. In: Handbook of Automated Reasoning. Elsevier Science Publishers (2001)
Wikipedia: Tic-tac-toe. https://en.wikipedia.org/wiki/Tic-tac-toe. Drawing by User: Stannered - en:Image:Tic-tac-toe-game-1.png, CC BY-SA 3.0. https://commons.wikimedia.org/w/index.php?curid=1866155. See also https://en.wikipedia.org/wiki/M,n,k-game. Accessed 13 Nov 2019
Lomuscio, A., Qu, H., Raimondi, F.: MCMAS: a model checker for the verification of multi-agent systems. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 682–688. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_55
Acknowledgements
The author wishes to thank Damian Kurpiewski for helpful discussions on MCMAS, and Stephan Merz for discussions on the game-based approach to model checking education. This research was supported by the German BMBF project “CrESt” on collaborative embedded systems, FKZ 01\(\mid \)S16043G/E.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Schlingloff, BH. (2021). Teaching Model Checking via Games and Puzzles. In: Cerone, A., Roggenbach, M. (eds) Formal Methods – Fun for Everybody. FMFun 2019. Communications in Computer and Information Science, vol 1301. Springer, Cham. https://doi.org/10.1007/978-3-030-71374-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-71374-4_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-71373-7
Online ISBN: 978-3-030-71374-4
eBook Packages: Computer ScienceComputer Science (R0)