A Graphical Approach to Component-Based and Extensible Model Checking Platforms

  • Michael Westergaard
  • Lars Michael Kristensen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6900)


Model checking is applied for verification of concurrent systems by users having different skills and background. This ranges from researchers with detailed knowledge of the inner workings of the tools to engineers that are mostly interested in applying the technology as a black-box. This paper proposes JoSEL, a graphical language for specification of executable model checking jobs. JoSEL makes it possible to work at different levels of abstraction when interacting with the underlying components of a model checking tool and thereby supports the different kinds of users in a uniform manner. A verification job in JoSEL consists of tasks, ports, and connections describing the models to verify, the behavioural properties to checked, and the model checking techniques to apply. A job can then be mapped onto components of an underlying model checking tool for execution. We introduce the syntax of JoSEL, define its semantics, and show how JoSEL has been used as a basis for the user interface of the ASAP model checking platform.


Model Check Hash Function Output Port Input Port Linear Temporal Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press (2008)Google Scholar
  2. 2.
    CPN Tools webpage,
  3. 3.
    De Remer, F., Kron, H.: Programming-in-the large versus programming-in-the-small. SIGPLAN Not. 10, 114–121 (1975)CrossRefGoogle Scholar
  4. 4.
    Dillinger, P.C., Manolios, P.: Fast and Accurate Bitstate Verification for SPIN. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 57–75. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Dwyer, M.B., Hatcliff, J., Hoosier, M., Robby: Building Your Own Software Model Checker Using the Bogor Extensible Model Checking Framework. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 148–152. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Evangelista, S.: Dynamic Delayed Duplicate Detection for External Memory Model Checking. In: Havelund, K., Majumdar, R. (eds.) SPIN 2008. LNCS, vol. 5156, pp. 77–94. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Evangelista, S., Westergaard, M., Kristensen, L.M.: The ComBack Method Revisited: Caching Strategies and Extension with Delayed Duplicate Detection. Transactions on Petri Nets and Other Models of Concurrency 3, 189–215 (2009)CrossRefGoogle Scholar
  8. 8.
    Garavel, H., Lang, F.: SVL: A Scripting Language for Compositional Verification. In: Proc. of FORTE. IFIP Conference Proceedings, vol. 197, pp. 377–394. Kluwer (2001)Google Scholar
  9. 9.
    Holzmann, G.J.: An Analysis of Bitstate Hashing. Formal Methods in System Design 13, 289–307 (1998)CrossRefGoogle Scholar
  10. 10.
    Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley (2003)Google Scholar
  11. 11.
    Kristensen, L.M., Mailund, T.: A Generalised Sweep-Line Method for Safety Properties. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 549–567. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Margaria, T., Nagel, R., Steffen, B.: Remote Integration and Coordination of Verification Tools in JEIT. In: Proc. of ECBS, pp. 431–436. IEEE Comp. Soc. Press (2005)Google Scholar
  13. 13.
    Morse, K.L., Lightner, M., Little, R., Lutz, B., Scrudder, R.: Enabling Simulation Interoperability. Computer 39(1), 115–117 (2006)CrossRefGoogle Scholar
  14. 14.
    OASIS WSBPEL TC. Web Services Business Process Execution Language Version 2.0,
  15. 15.
    Shankar, N.: Combining Theorem Proving and Model Checking through Symbolic Analysis. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 1–16. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  16. 16.
    Vardi, M., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: Proc. of IEEE Symposium on Logic in Computer Science, pp. 322–331 (1986)Google Scholar
  17. 17.
    Vittorini, V., Iacono, M., Mazzocca, N., Franceschinis, G.: The OsMoSys Approach to Multi-formalism Modeling of Systems. Software and Systems Modeling 3(1), 69–81 (2004)Google Scholar
  18. 18.
    Westergaard, M., Evangelista, S., Kristensen, L.M.: ASAP: An Extensible Platform for State Space Analysis. In: Franceschinis, G., Wolf, K. (eds.) PETRI NETS 2009. LNCS, vol. 5606, pp. 303–312. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Wolper, P., Leroy, D.: Reliable Hashing without Collision Detection. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 59–70. Springer, Heidelberg (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Michael Westergaard
    • 1
  • Lars Michael Kristensen
    • 2
  1. 1.Department of Mathematics and Computer ScienceEindhoven University of TechnologyThe Netherlands
  2. 2.Department of Computer EngineeringBergen University CollegeNorway

Personalised recommendations