6533b857fe1ef96bd12b3c92
RESEARCH PRODUCT
Modelling Without a Modelling Language
Antti ValmariVesa Lappalainensubject
mallintaminenexplicit state spacesProgramming languageComputer scienceimplementation issuesC++ (ohjelmointikieli)020207 software engineering02 engineering and technologymodelling languagescomputer.software_genreohjelmointikieletPromela020204 information systems0202 electrical engineering electronic engineering information engineeringGuard (computer science)CompilercomputerImplementationcomputer.programming_languagedescription
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. peerReviewed
year | journal | country | edition | language |
---|---|---|---|---|
2018-01-01 |