Modelling Without a Modelling Language
Valmari, A., & Lappalainen, V. (2018). Modelling Without a Modelling Language. In M. d. M. Gallardo, & P. Merino (Eds.), SPIN 2018 : Model Checking Software (pp. 308-327). Lecture Notes in Computer Science, 10869. Cham: Springer. doi:10.1007/978-3-319-94111-0_18
Published inLecture Notes in Computer Science
© Springer International Publishing AG, part of Springer Nature 2018
Developments in computer hardware and programming languages, in this case C++, have made it feasible to write models of concurrent systems under verification in the programming language, instead of some established modelling language such as Promela. While this does not reduce the usefulness of modelling languages, it offers new possibilities that may be advantageous, for instance, when teaching state space ideas to newcomers or when experimenting with new scientific ideas. In earlier work, we were able to express everything else fairly naturally in C++, except the set of transitions. The present study uses C++ lambda functions to represent naturally transitions that consist of a tail state, guard, body, and head state. We discuss two implementations, a simple one and a faster one. We present measurements demonstrating that the loss of performance compared to the earlier approach is not big. Starting to use our approach is easy, because one only needs to have a C++ compiler and download (not install) one C++ file. ...