Skip to main content

Model Checking PSL Using HOL and SMV

  • Conference paper
Hardware and Software, Verification and Testing (HVC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4383))

Included in the following conference series:

Abstract

In our previous work, we formally validated the correctness of a translation from a subset of Accellera’s Property Specification Language (PSL) to linear temporal logic (LTL) using the HOL theorem prover. We also built an interface from HOL to the SMV model checker based on a formal translation of LTL to ω-automata. In the present paper, we describe how this work has been extended and combined to produce a model checking infrastructure for a significant subset of PSL that works by translating model checking problems to equivalent checks for the existence of fair paths through a Kripke structure specified in higher order logic. This translation is done by theorem proving in HOL, so it is proven to be correct. The existence check is carried out using the interface from HOL to SMV. Moreover, we have applied our infrastructure to implement a tool for validating the soundness of a separate PSL model checker.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Accellera. Property specification language reference manual, version 1.1 (June 2004), http://www.eda.org

  2. Armoni, R., et al.: Resets vs. aborts in linear temporal logic. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 65–80. Springer, Heidelberg (2003)

    Google Scholar 

  3. Beer, I., et al.: The temporal logic Sugar. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 363–367. Springer, Heidelberg (2001)

    Google Scholar 

  4. Beer, I., et al.: RuleBase: Model checking at IBM. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 480–483. Springer, Heidelberg (1997)

    Google Scholar 

  5. Burch, J., et al.: Symbolic model checking: 1020 states and beyond. In: Symposium on Logic in Computer Science (LICS), Washington, D.C., June 1990, pp. 1–33. IEEE Computer Society Press, Los Alamitos (1990)

    Google Scholar 

  6. Bustan, D., Fisman, D., Havlicek, J.: Automata construction for PSL. Technical Report MCS05- 04, The Weizmann Institute of Science, Israel (2005)

    Google Scholar 

  7. Büchi, J.: On a decision method in restricted second order arithmetic. In: Nagel, E. (ed.) International Congress on Logic, Methodology and Philosophy of Science, pp. 1–12. Stanford University Press, Stanford (1960)

    Google Scholar 

  8. Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5, 56–68 (1940)

    Article  MATH  MathSciNet  Google Scholar 

  9. Daniele, M., Giunchiglia, F., Vardi, M.: Improved automata generation for linear temporal logic. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. DeepChip survey on assertions (June 2004), http://www.deepchip.com/items/dvcon04-06.html

  11. Emerson, E., Clarke, E.: Using branching-time temporal logic to synthesize synchronization skeletons. Science of Computer Programming 2(3), 241–266 (1982)

    Article  MATH  Google Scholar 

  12. Gastin, P., Oddoux, D.: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001)

    Google Scholar 

  13. Gerth, R., et al.: Simple on-the-fly automatic verification of linear temporal logic. In: Symposium on Protocol Specification, Testing, and Verification (PSTV), Warsaw, June 1995, North-Holland, Amsterdam (1995)

    Google Scholar 

  14. Gordon, M.: HOL: A machine oriented formulation of higher order logic. Tech. Rep. 68, Computer Laboratory, University of Cambridge (May 1985)

    Google Scholar 

  15. Gordon, M.: PSL semantics in higher order logic. In: Workshop on Designing Correct Circuits (DCC), Barcelona, Spain (2004)

    Google Scholar 

  16. Gordon, M., Melham, T.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  17. Havlicek, J., Fisman, D., Eisner, C.: Basic results on the semantics of Accellera PSL 1.1 foundation language. Technical Report 2004.02, Accellera (2004)

    Google Scholar 

  18. Kleene, S.: Representation of events in nerve nets and finite automata. In: Shannon, C., McCarthy, J. (eds.) Automata Studies, pp. 3–41. Princeton University Press, Princeton (1956)

    Google Scholar 

  19. McMillan, K.: Symbolic Model Checking. Kluwer, Norwell (1993)

    MATH  Google Scholar 

  20. Pnueli, A.: The temporal logic of programs. In: Symposium on Foundations of Computer Science (FOCS), vol. 18, New York, vol. 18, pp. 46–57. IEEE Computer Society Press, Los Alamitos (1977)

    Google Scholar 

  21. Pnueli, A., Zaks, A.: PSL model checking and run-time verification via testers. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 573–586. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Schneider, K.: Improving automata generation for linear temporal logic by considering the automata hierarchy. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 39–54. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. Schneider, K.: Verification of Reactive Systems – Formal Methods and Algorithms. In: Texts in Theoretical Computer Science. EATCS Series, Springer, Heidelberg (2003)

    Google Scholar 

  24. Schneider, K., Hoffmann, D.: A HOL conversion for translating linear time temporal logic to omega-automata. In: Bertot, Y., et al. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 255–272. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  25. Tuerk, T.: A hierarchy for Accellera’s property specification language. Master’s thesis, University of Kaiserslautern, Department of Computer Science (2005)

    Google Scholar 

  26. Tuerk, T., Schneider, K.: From PSL to LTL: A formal validation in HOL. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 342–357. Springer, Heidelberg (2005)

    Google Scholar 

  27. Vardi, M.: Branching vs. linear time: Final showdown. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 1–22. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  28. Wolper, P.: Temporal logic can be more expressive. In: Symposium on Foundations of Computer Science (FOCS), New York, pp. 340–348. IEEE Computer Society Press, Los Alamitos (1981)

    Google Scholar 

  29. Wolper, P.: Temporal logic can be more expressive. Information and Control 56(1-2), 72–99 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  30. Wolper, P., Vardi, M., Sistla, A.: Reasoning about infinite computations paths. In: Symposium on Foundations of Computer Science (FOCS), New York, pp. 185–194. IEEE Computer Society Press, Los Alamitos (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eyal Bin Avi Ziv Shmuel Ur

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Tuerk, T., Schneider, K., Gordon, M. (2007). Model Checking PSL Using HOL and SMV. In: Bin, E., Ziv, A., Ur, S. (eds) Hardware and Software, Verification and Testing. HVC 2006. Lecture Notes in Computer Science, vol 4383. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70889-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70889-6_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70888-9

  • Online ISBN: 978-3-540-70889-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics