Abstract
The semantics of modelling languages are not always specified in a precise and formal way, and their rather complex underlying models make it a non-trivial exercise to reuse them in newly developed tools. We report on experiments with a virtual machine-based approach for state space generation. The virtual machine’s (VM) byte-code language is straightforwardly implementable, facilitates reuse and makes it an adequate target for translation of higher-level languages like the SPIN model checker’s PROMELA, or even C. As added value, it provides efficiently executable operational semantics for modelling languages. Several tools have been built on top of the VM implementation we developed, to evaluate the benefits of the proposed approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Barnat, J., Brim, L., Černá, I., Šimeček, P.: DiVinE the distributed verification environment. In: Leucker, M., van de Pol, J. (eds.) 4th International Workshop on Parallel and Distributed Methods in verifiCation (PDMC 2005), Lisbon, Portuga (July 2005)
Bevier, W.: Towards an operational semantics of PROMELA in ACL2. In: Proceedings of the 3rd International SPIN Workshop (April 1997)
Bolognesi, T., Brinksma, E.: Introduction to the ISO specification language LOTOS. In: van Eijk, P.H.J., Vissers, C.A., Diaz, M. (eds.) The Formal Description Technique LOTOS, pp. 23–73. Elsevier Science Publishers, North-Holland (1989)
Brim, L.: Distributed verification: Exploring the power of raw computing power. In: Brim, L., Haverkort, B., Leucker, M., van de Pol, J. (eds.) FMICS 2006 and PDMC 2006. LNCS, vol. 4346, pp. 23–34. Springer, Heidelberg (2006)
de Villiers, P., Visser, W.: ESML—a validation language for concurrent systems. In: Bishop, J. (ed.) 7-th Southern African Computer Symposium, pp. 59–64 (July 1992)
Dill, D., Drexler, A., Hu, A., Yang, C.: Protocol verification as a hardware design aid. In: ICCD 1992: Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors, Washington, DC, USA, pp. 522–525, IEEE Computer Society (1992)
Garavel, H.: OPEN/CAESAR: An open software architecture for verification, simulation, and testing. In: LNCS, vol. 1384, pp. 68–84 (1998)
Garavel, H., Lang, F., Mateescu, R.: An overview of CADP 2001. EASST Newsletter 4, 13–24 (2002)
Geldenhuys, J.: Efficiency issues in the design of a model checker. Msc. thesis, University of Stellenbosch, South Africa (November 1999)
Hammer, M., Weber, M.: To Store or Not To Store reloaded: Reclaiming memory on demand. In: Brim, L., Haverkort, B., Leucker, M., van de Pol, J. (eds.) FMICS 2006 and PDMC 2006. LNCS, vol. 4346, pp. 51–66. Springer, Heidelberg (2007)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Holzmann, G.J.: The engineering of a model checker: the gnu i-protocol case study revisited. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) Theoretical and Practical Aspects of SPIN Model Checking. LNCS, vol. 1680, Springer, Heidelberg (1999)
Holzmann, G.J., Natarajan, V.: Outline for an operational-semantics definition of PROMELA. Technical report, Bell Laboratories (July 1996)
Milner, R.: The polyadic π-calculus: a tutorial. Technical Report ECS–LFCS–91–180, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, UK, Oct. 1993. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (ed.): Logic and Algebra of Specification, Springer, Heidelberg (1993)
Qian, Z.: A formal specification of java virtual machine instructions for objects, methods and subrountines. Formal Syntax and Semantics of Java, 271–312 (1999)
Robby, Dwyer, M.B., Hatcliff, J.: Bogor: an extensible and highly-modular software model checking framework. SIGSOFT Softw. Eng. Notes 28(5), 267–276 (2003)
Rosien, M.: Design and implementation of a systematic state explorer. Msc. thesis, University of Twente, The Netherlands (March 2001)
Schlich, B., Kowalewski, S.: Model checking C source code for embedded systems. In: Proceedings of the IEEE/NASA Workshop on Leveraging Applications of Formal Methods, Verification, and Validation (ISoLA 2005) (September 2005)
Schlich, B., Rohrbach, M., Weber, M., Kowalewski, S.: Model checking software for microcontrollers. Technical Report AIB-2006-11, RWTH Aachen (August 2006)
Schürmans, S.: Ein Compiler und eine Virtuelle Maschine zur Zustandsraumgenerierung. Diplomarbeit, RWTH Aachen University (October 2005)
Veldema, R.: Personal communication on the Tapir programming language (2006), http://www2.informatik.uni-erlangen.de/Forschung/Projekte/Tapir/
Weise, C.: An incremental formal semantics for PROMELA. In: Proceedings of the 3rd International SPIN Workshop (April 1997)
Wibling, O., Parrow, J., Pears, A.: Automatized verification of ad hoc routing protocols. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 343–358. Springer, Heidelberg (2004)
Wirth, N.: Pascal-s: A subset and its implementation. In: Barron, D.W. (ed.) Pascal - The Language and its Implementation, pp. 199–259. John Wiley, New York (1981)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Weber, M. (2007). An Embeddable Virtual Machine for State Space Generation. In: Bošnački, D., Edelkamp, S. (eds) Model Checking Software. SPIN 2007. Lecture Notes in Computer Science, vol 4595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73370-6_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-73370-6_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73369-0
Online ISBN: 978-3-540-73370-6
eBook Packages: Computer ScienceComputer Science (R0)