skip to main content
research-article

Sysfier: Actor-based formal verification of SystemC

Published:07 January 2011Publication History
Skip Abstract Section

Abstract

SystemC is a system-level modeling language that can be used effectively for hardware/software co-design. Since a major goal of SystemC is to enable verification at higher levels of abstraction, the tendency is now directing to introducing formal verification approaches for SystemC. In this article, we propose an approach for formal verification of SystemC designs, and provide the semantics of SystemC using Labeled Transition Systems (LTS) for this purpose. An actor-based language, Rebeca, is used as an intermediate language. SystemC designs are mapped to Rebeca models and then Rebeca verification toolset is used to verify LTL and CTL properties. To tackle the state-space explosion, Rebeca model checkers offer some reduction policies that make them appropriate for SystemC verification. The approach also benefits from the modular verification and program slicing techniques applied on Rebeca models. To show the applicability of our approach, we verified a single-cycle MIPS design and two hardware/software co-designs. The results show that our approach can effectively be used both in hardware and hardware/software co-verification.

References

  1. Behjati, R., Sabouri, H., Razavi, N., and Sirjani, M. 2008. An effective approach for model checking SystemC designs. In Proceedings of the 8th International Conference on Application of Concurrency to System Design. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  2. Black, D. and Donovan, J. 2004. SystemC: From the Ground Up. Springer Science+Business Media, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chaki, S., Clarke, E., Groce, A., Jha, S., and Veith, H. 2003. Modular verification of software components in C. In Proceedings of the 25th International Conference on Software Engineering. IEEE, Los Alamitos, CA, 385--395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cortes, L. A., Eles, P., and Peng, Z. 2000. Verification of embedded systems using a petri net based representation. In Proceedings 13th International Symposium on System Synthesis. IEEE, Los Alamitos, CA, 149--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Drechsler, R. and Grosse, D. 2002. Reachability analysis for formal verification of SystemC. In Proceedings of the Euromicro Symposium on Digital Systems Design. IEEE, Los Alamitos, CA, 337--340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Emerson, E. 1990. Temporal and modal logic. In J. van Leeuwen, ed., Handbook of Theoretical Computer Science (vol. B): Formal Models and Semantics. MIT Press, Cambridge, MA, 995--1072. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. FZI -- Microelectronic System Design. 2006. KaSCPar. www.fzi.de/downloads/sim/archives/kascpar-documentation.pdf.Google ScholarGoogle Scholar
  8. Gawanmeh, A., Habibi, A., and Tahar, S. 2004. Enabling SystemC verification using abstract state machines. In Proceedings of Forum on Specification and Design Languages, 19--22.Google ScholarGoogle Scholar
  9. Ghenassia, F., ed. 2005. Transaction-Level Modeling with SystemC, TLM Concepts and Applications for Embedded Systems. Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Grosse, D. and Drechsler, R. 2003. Formal verification of LTL formulas for SystemC designs. In Proceedings of the International Symposium on Circuits and Systems. IEEE, Los Alamitos, CA, 245--248.Google ScholarGoogle Scholar
  11. Habibi, A. and Tahar, S. 2005. On the transformation of SystemC to ASML using abstract interpretation. Electr. Notes Theor. Comput. Sci. 131, 39--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Habibi, A. and Tahar, S. 2006. Design and verification of SystemC transaction-level models. IEEE Trans. VLSI Syst. 14, 1, 57--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hojjat, H., Mousavi, M. R., and Sirjani, M. 2008. Process algebraic verification of SystemC codes. In Proceed of the 8th International Conference on Application of Concurrency to System Design. IEEE, Los Alamitos, CA.Google ScholarGoogle Scholar
  14. Jaghoori, M., Movaghar, A., and Sirjani, M. 2006. Modere: The model-checking engine of Rebeca. In Proceedings of the Symposium on Applied Computing—Software Verification Track. ACM, New York, 1810--1815. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jaghoori, M., Sirjani, M., Mousavi, M., and Movaghar, A. 2005. Efficient symmetry reduction for an actor-based model. In Proceedings of the 2nd International Conference on Distributed Computing and Internet Technology. Springer-Verlag, Berlin, 494--507. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jaghoori, M., Sirjani, M., Mousavi, M., and Movaghar, A. 2007. Symmetry and partial order reduction techniques in model checking Rebeca. Tech. rep. SEN-R0704.Google ScholarGoogle Scholar
  17. Kroening, D. and Sharygina, N. 2005. Formal verification of SystemC by automatic hardware/software partitioning. In Proceedings of Formal Methods and Models for Co-Design. IEEE, Los Alamitos, CA, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Kundu, S., Ganai, M., and Gupta, R. 2008. Partial order reduction for scalable testing of systemC TLM designs. In Proceedings of the 45th Annual Design Automation Conference. ACM, New York, 936--941. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Moy, M., Maraninchi, F., and Maillet-Contoz, L. 2006. LusSy: An open tool for the analysis of Systems-on-a-Chip at the transaction level. Des. Autom. Embedded Syst. 10, 2-3, 73--104.Google ScholarGoogle Scholar
  20. Mueller, W., Ruf, J., Hoffmann, D., Gerlach, J., Kropf, T., and Rosenstiehl, W. 2001. The simulation semantics of systemC. In Proceedings of the Design, Automation, and Test in Europe. IEEE, Los Alamitos, CA, 64--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Muller, W., Ruf, J., and Rosenstiel, W. 2003. SystemC—Methodologies and Applications. Kluwer Academic Publishers, Dordrecht, The Netherlands, 97--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Open SystemC Initiative. 2005. IEEE 1666: SystemC Language Reference Manual. Open SystemC Initiative. http://standards.ieee.org/getieee/1666/download/1666-2005.pdf.Google ScholarGoogle Scholar
  23. Patel, H. D. and Shukla, S. K. 2007. Model-driven validation of systemC designs. In Proceedings of the 44th Annual Conference on Design Automation. ACM, New York, 29--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Pnueli, A. 1979. The temporal semantics of concurrent programs. In Proceedings of the International Symposium on Semantics of Concurrent Computation. Springer-Verlag, Berlin, 1--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Razavi, N. and Sirjani, M. 2006. Using Reo for formal specification and verification of system designs. In Proceedings of Formal Methods and Models for Codesign. IEEE, Los Alamitos, CA, 113--122.Google ScholarGoogle Scholar
  26. Razavi, N. and Sirjani, M. 2007. Compositional semantics of system-level designs written in SystemC. In Proceedings of the International Symposium on Fundamentals of Software Engineering. Springer-Verlag, Berlin, 113--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Sabouri, H. and Sirjani, M. 2008. Slicing-based reductions for Rebeca. In Proceedings of the 5th International Workshop on Formal Aspect of Component Software. Elsevier, Cambridge, MA.Google ScholarGoogle Scholar
  28. Salem, A. 2003. Formal semantics of synchronous systemc. In Proceedings of the Conference on Design, Automation and Test in Europe. IEEE, Los Alamitos, CA, 10376. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Savoiu, N., Shukla, S., and Gupta, R. 2005. Improving systemC simulation through petri net reductions. In Proceedings of the 2nd International Conference on Formal Methods and Models for Co-Design. IEEE, Los Alamitos, CA, 131--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Sirjani, M., de Boer, F. S., and Movaghar, A. 2005. Modular verification of a component-based actor language. J. Universal Comput. Sci. 11, 10, 1695--1717.Google ScholarGoogle Scholar
  31. Sirjani, M., Movaghar, A., Shali, A., and de Boer, F. 2004. Modeling and verification of reactive systems using Rebeca. Fundamenta Informaticae 63, 4, 385--410. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Sirjani, M., Movaghar, A., Shali, A., and de Boer, F. S. 2005. Model checking, automated abstraction, and compositional verification of Rebeca models. J. Universal Comput. Sci. 11, 6, 1054--1082.Google ScholarGoogle Scholar
  33. Somenzi, F. and Bloem, R. 2000. Efficient büchi automata from ltl formulae. In Proceedings of the 12th International Conference on Computer-Aided Verification (CAV '00). Springer-Verlag, Berlin, 248--263. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. SyMon: SystemC Model-checking engine technical report. http://khorshid.ece.ut.ac.ir/_rebeca/afra/SyMon.pdf.Google ScholarGoogle Scholar
  35. Traulsen, C., Cornet, J., Moy, M., and Maraninchi, F. 2007. A SystemC/TLM semantics in Promela and its possible applications. In Proceedings of the 14th Workshop on Model Checking Software SPIN. Springer-Verlag, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vardi, M. 2007. Formal techniques for SystemC verification; position paper. In Proceedings of the 44th Design Automation Conference. ACM, New York, 188--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Weiser, M. 1981. Program slicing. In Proceedings of the 5th International Conference on Software Engineering. IEEE, Los Alamitos, CA, 439--449. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sysfier: Actor-based formal verification of SystemC

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!