Skip to main content

Symbolic Model Checking and Simulation with Temporal Assertions

  • Chapter
Advances in Design and Specification Languages for SoCs

Abstract

Assuring correctness of digital designs is one of the major tasks in the system design flow. In the last decade, traditional functional verification techniques like simulation with test benches and monitors have been augmented with formal techniques. Formal techniques can be divided into equivalence and property checking. Equivalence checking tools at the gate level are now part of most design flows. However, property checking is still subject to intensive research efforts due to the omnipresent state explosion problem.

Property checking is performed in two steps. First, a set of property specifications has to be written in an appropriate formalism. The system model is then checked against these properties. A property checking tool then either reports the absence of defects on the explored paths or generates a counter example trace.

In this work we show that formal property specifications can be reused in all phases of the verification process, including both functional and formal approaches. The properties provide the link between these usually rivaling techniques. First, we discuss current formalisms for specifying temporal properties. Then we present two automata based techniques for checking temporal properties given in the standardized Property Specification Language (PSL). The first approach checks the properties during SystemC simulation, whereas the second approach performs fully formal property checking of the temporal properties against a transition system employing a unique checking algorithm.

The results described in this article have been achieved in the course of the DFG project GRASP within the DFG Priority Programme 1064.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

  • Accellera Organization (2004). Property Specification Language (PSL), version 1.1. www.eda.org/vfv.

    Google Scholar 

  • Biere, Armin, Cimatti, Alessandro, Clarke, Edmund M., Strichman, Ofer, and Zhu, Yunshan (2003). Bounded model checking. In Zelkowitz, Marvin, editor, Highly Dependable Software, volume 58 of Advances in Computers. Academic Press.

    Google Scholar 

  • Clarke, Edmund M., Grumberg, Orna, and Peled, Doron E. (1999). Model Checking. The MIT Press.

    Google Scholar 

  • Coelho, Claudionor Nunes Jr. and Foster, Harry D. (2004). Asserstion-based verification. In Drechsler, Rolf, editor, Advanced Formal Verification, pages 167–204. Kluwer Academic Publishers, Dordrecht, The Netherlands.

    Google Scholar 

  • Damm, Werner and Harel, David (2001). LSCs: Breathing life into message sequence charts. Journal on Formal Methods in System Design, 19(1):45–80.

    Article  Google Scholar 

  • Dwyer, Matthew B., Avrunin, George S., and Corbett, James C. (1999). Patterns in property specifications for finite-state verification. In 21. International Conference on Software Engineering, pages 411–420. ACM Press.

    Google Scholar 

  • Emerson, E. Allen, Mok, Aloysius K., Sistla, A. Prasad, and Srinivasan, Jai (1991). Quantitative temporal reasoning. In Clarke, Edmund M. and Kurshan, Robert P., editors, Computer Aided Verification, 2nd International Workshop, volume 531 of Lecture Notes in Computer Science, pages 136–145. Springer.

    Google Scholar 

  • Flake, Stephan, Müller, Wolfgang, and Ruf, Jürgen (2002). Structured english for model checking specification. In Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, 3. GI/ITG/GMM Workshop, pages 99–108. VDE Verlag.

    Google Scholar 

  • Flake, Stephan, Müller, Wolfgang, Pape, Ulrich, and Ruf, Jürgen (2004). Specification and Formal Verification of Temporal Properties of Production Automation Systems. In: Ehrig, Harmut et al., editors, Integration of Sofware Techniques for Applications in Engineering, Volume 3147 of Lecture Notes in Computer Science, pages 206–226. Springer Verlag.

    Google Scholar 

  • Grötker, Thorsten, Liao, Stan, Martin, Grant, and Swan, Stuart (2002). System Design with SystemC. Kluwer Academic Publishers.

    Google Scholar 

  • ISO/IEC (2003). Programming Languages — C++. Number 14882:2003 in JTC1/SC22 — Programming languages, their environment and system software interfaces. International Organization for Standardization, 2. edition.

    Google Scholar 

  • Iwashita, Hiroaki and Nakata, Tsuneo (1997). Forward model checking techniques oriented to buggy designs. In Proceedings of the 1997 IEEE/ACM International Conference on CAD, pages 400–4004. ACM and IEEE Computer Society Press.

    Google Scholar 

  • Klose, Jochen, Kropf, Thomas, and Ruf, Jürgen (2002). A visual approach to validating system level designs. In 15th International Symposium on Systems Synthesis, pages 186–191. ACM Press.

    Google Scholar 

  • Krebs, Andreas and Ruf, Jürgen (2003). Optimized temporal logic compilation. Journal of Universal Computer Science, Special Issue on Tools for System Design and Verification, 9(2):120–137.

    Google Scholar 

  • Object Management Group (OMG) (2003). Unified Modeling Language (UML), Version 1.5. www.omg.org. Document formal/03-03-01.

    Google Scholar 

  • Ruf, Jürgen, Hoffmann, Dirk W., Kropf, Thomas, and Rosenstiel, Wolfgang (2001). Simulation-guided property checking based on a multi-valued AR-automata. In Nebel, Wolfgang and Jerraya, Ahmed, editors, Design, Automation and Test in Europe, DATE 2001, pages 742–748. IEEE Press.

    Google Scholar 

  • Ruf, Jürgen and Kropf, Thomas (1999). Modeling and checking networks of communicating real-time process. In Pierre, Laurence and Kropf, Thomas, editors, Correct Hardware Design and Verification Methods, volume 1703 of Lecture Notes in Computer Science, pages 256–279. Springer.

    Google Scholar 

  • Ruf, Jürgen and Kropf, Thomas (2003). Symbolic verification and analysis of discrete timed systems. Journal on Formal Methods in System Design, 23(1):67–108.

    Article  Google Scholar 

  • Ruf, Jürgen, Peranandam, Prakash M., Kropf, Thomas, and Rosenstiel, Wolfgang (2003). Bounded property checking with symbolic simulation. In Forum on Specification and Design Languages.

    Google Scholar 

  • Ruf, Jürgen, Weiss, Roland J., Kropf, Thomas, and Rosenstiel, Wolfgang (2004). Modeling and formal verification of production automation systems. In Ehrig, Hartmut et al., editors, Integration of Software Specification Techniques for Applications in Engineering, volume 3147 of Lecture Notes in Computer Science, pages 541–566. Springer Verlag.

    Google Scholar 

  • VA Software Corporation and Open SystemC Initiative (2004). Open SystemC Initiative. www.systemc.org.

    Google Scholar 

  • Vardi, Moshe Y. (2001). Branching vs. linear time: Final showdown. In European Joint Conferences on Theory and Practice of Software (ETAPS 2001). Invited paper.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer

About this chapter

Cite this chapter

Weiss, R.J., Ruf, J., Kropf, T., Rosenstiel, W. (2005). Symbolic Model Checking and Simulation with Temporal Assertions. In: Boulet, P. (eds) Advances in Design and Specification Languages for SoCs. Springer, Boston, MA. https://doi.org/10.1007/0-387-26151-6_20

Download citation

  • DOI: https://doi.org/10.1007/0-387-26151-6_20

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-387-26149-2

  • Online ISBN: 978-0-387-26151-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics