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.
- 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 Scholar
- Black, D. and Donovan, J. 2004. SystemC: From the Ground Up. Springer Science+Business Media, New York. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- FZI -- Microelectronic System Design. 2006. KaSCPar. www.fzi.de/downloads/sim/archives/kascpar-documentation.pdf.Google Scholar
- 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 Scholar
- Ghenassia, F., ed. 2005. Transaction-Level Modeling with SystemC, TLM Concepts and Applications for Embedded Systems. Springer, Berlin. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Habibi, A. and Tahar, S. 2006. Design and verification of SystemC transaction-level models. IEEE Trans. VLSI Syst. 14, 1, 57--68. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Muller, W., Ruf, J., and Rosenstiel, W. 2003. SystemC—Methodologies and Applications. Kluwer Academic Publishers, Dordrecht, The Netherlands, 97--126. Google Scholar
Digital Library
- Open SystemC Initiative. 2005. IEEE 1666: SystemC Language Reference Manual. Open SystemC Initiative. http://standards.ieee.org/getieee/1666/download/1666-2005.pdf.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- SyMon: SystemC Model-checking engine technical report. http://khorshid.ece.ut.ac.ir/_rebeca/afra/SyMon.pdf.Google Scholar
- 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 Scholar
Digital Library
- Vardi, M. 2007. Formal techniques for SystemC verification; position paper. In Proceedings of the 44th Design Automation Conference. ACM, New York, 188--192. Google Scholar
Digital Library
- Weiser, M. 1981. Program slicing. In Proceedings of the 5th International Conference on Software Engineering. IEEE, Los Alamitos, CA, 439--449. Google Scholar
Digital Library
Index Terms
Sysfier: Actor-based formal verification of SystemC
Recommendations
Modeling and Verification of Reactive Systems using Rebeca
Actor-based modeling has been successfully applied to the representation of concurrent and distributed systems. Besides having an appropriate and efficient way for modeling these systems, one needs a formal verification approach for ensuring their ...
Modeling and Verification of Reactive Systems using Rebeca
Actor-based modeling has been successfully applied to the representation of concurrent and distributed systems. Besides having an appropriate and efficient way for modeling these systems, one needs a formal verification approach for ensuring their ...
HW/SW co-verification of embedded systems using bounded model checking
GLSVLSI '06: Proceedings of the 16th ACM Great Lakes symposium on VLSIToday, the underlying hardware of embedded systems is often verified successfully. In this context formal verification techniques allow to prove the functional correctness. But in embedded system design the integration of software components becomes ...






Comments