Skip to main content
Top

2017 | OriginalPaper | Chapter

Formal Verification of SystemC-based Cyber Components

Authors : Daniel Große, Hoang M. Le, Rolf Drechsler

Published in: Industrial Internet of Things

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Cyber-Physical Systems (CPS) integrate physical and cyber components, where the latter are responsible for the computation part. Due to their steadily increasing complexity, these cyber components have to be modeled at high level of abstraction when creating a new CPS. Therefore, the Electronic System Level (ESL) emerged and a widely accepted ESL design language is SystemC. The main driver for abstraction in SystemC is Transaction Level Modeling (TLM) which allows describing complex communication without all the details. Since the SystemC TLM models are used for early software development and as reference for hardware implementation their correct functional behavior is crucial. Admittedly, the best possible verification quality can be achieved with formal approaches. However, formal verification of TLM models is a hard task. Existing methods basically consider local properties or have extremely high run-time. In contrast, the proposed approach can efficiently verify true TLM properties, for instance the effect of a transaction can be formally checked which has not been possible before. Our approach transforms the SystemC model to C, embeds the TLM property in form of assertions into the C model and finally uses a novel induction to check the validity of the property. The induction method is essentially a lifting of inductive bounded model checking to C. In experiments we show the efficiency of the approach.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
2
In the considered TLM models there are no clocks. We only use the clock expression syntax to define sampling points.
 
3
C model checkers typically support an assumption concept, i.e. assertions are checked for all execution paths of the program that satisfy the assumptions.
 
4
Our benchmarks can be found on the SCIVER Website: www.​systemc-verification.​org/​sciver.
 
5
Their experiments were done on a 2 GHz AMD Opteron system with 4 GB RAM running Linux.
 
Literature
1.
go back to reference Große D, Le HM, Drechsler R (2010) Proving transaction and system-level properties of untimed SystemC TLM designs. In: ACM and IEEE international conference on formal methods and models for codesign, pp 113–122 Große D, Le HM, Drechsler R (2010) Proving transaction and system-level properties of untimed SystemC TLM designs. In: ACM and IEEE international conference on formal methods and models for codesign, pp 113–122
2.
go back to reference Bailey B, Martin G, Piziali A (2007) ESL design and verification: a prescription for electronic system level methodology. Morgan Kaufmann, Amsterdam Bailey B, Martin G, Piziali A (2007) ESL design and verification: a prescription for electronic system level methodology. Morgan Kaufmann, Amsterdam
3.
go back to reference IEEE Standard for Standard SystemC Language Reference Manual (2012) IEEE Std. 1666 IEEE Standard for Standard SystemC Language Reference Manual (2012) IEEE Std. 1666
4.
go back to reference Pasricha S (2002) Transaction level modeling of SoC with SystemC 2.0. In: SNUG Pasricha S (2002) Transaction level modeling of SoC with SystemC 2.0. In: SNUG
5.
go back to reference Cai L, Gajski D (2003) Transaction level modeling: an overview. In: IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, pp 19–24 Cai L, Gajski D (2003) Transaction level modeling: an overview. In: IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, pp 19–24
6.
go back to reference Ghenassia F (2006) Transaction-level modeling with SystemC: TLM concepts and applications for embedded systems. Springer, US Ghenassia F (2006) Transaction-level modeling with SystemC: TLM concepts and applications for embedded systems. Springer, US
7.
go back to reference Vardi MY (2007) Formal techniques for SystemC verification. In: Design Automation Conference, pp 188–192 Vardi MY (2007) Formal techniques for SystemC verification. In: Design Automation Conference, pp 188–192
8.
go back to reference Dahan A, Geist D, Gluhovsky L, Pidan D, Shapir G, Wolfsthal Y, Benalycherif L, Kamdem R, Lahbib Y (2005) Combining system level modeling with assertion based verification. In: ISQED, pp 310–315 Dahan A, Geist D, Gluhovsky L, Pidan D, Shapir G, Wolfsthal Y, Benalycherif L, Kamdem R, Lahbib Y (2005) Combining system level modeling with assertion based verification. In: ISQED, pp 310–315
9.
go back to reference Ecker W, Esen V, Hull M, Steininger T, Velten M (2006) Requirements and concepts for transaction level assertions. In: International conference on computer design, pp 286–293 Ecker W, Esen V, Hull M, Steininger T, Velten M (2006) Requirements and concepts for transaction level assertions. In: International conference on computer design, pp 286–293
10.
go back to reference Bombieri N, Fummi F, Pravadelli G (2007) Incremental ABV for functional validation of TL-to-RTL design refinement. In: Design, automation and test in Europe, pp 882–887 Bombieri N, Fummi F, Pravadelli G (2007) Incremental ABV for functional validation of TL-to-RTL design refinement. In: Design, automation and test in Europe, pp 882–887
11.
go back to reference Ferro L, Pierre L (2009) ISIS: runtime verification of TLM platforms. In: Forum on specification and design languages, pp 1–6 Ferro L, Pierre L (2009) ISIS: runtime verification of TLM platforms. In: Forum on specification and design languages, pp 1–6
12.
go back to reference Tabakov D, Vardi MY (2010) Monitoring temporal SystemC properties. In: ACM and IEEE international conference on formal methods and models for codesign, pp 123–132 Tabakov D, Vardi MY (2010) Monitoring temporal SystemC properties. In: ACM and IEEE international conference on formal methods and models for codesign, pp 123–132
13.
go back to reference Ferro L, Pierre L, Amor ZBH, Lachaize J, Lefftz V (2011) Runtime verification of typical requirements for a space critical SoC platform. In: FMICS, pp 21–36 Ferro L, Pierre L, Amor ZBH, Lachaize J, Lefftz V (2011) Runtime verification of typical requirements for a space critical SoC platform. In: FMICS, pp 21–36
14.
go back to reference Cimatti A, Narasamdya I, Roveri M (2011) Boosting lazy abstraction for SystemC with partial order reduction. In: Tools and algorithms for the construction and analysis of systems, pp 341–356 Cimatti A, Narasamdya I, Roveri M (2011) Boosting lazy abstraction for SystemC with partial order reduction. In: Tools and algorithms for the construction and analysis of systems, pp 341–356
15.
go back to reference Habibi A, Tahar S (2005) Design for verification of SystemC transaction level models. In: Design, automation and test in Europe, pp 560–565 Habibi A, Tahar S (2005) Design for verification of SystemC transaction level models. In: Design, automation and test in Europe, pp 560–565
16.
go back to reference Moy M, Maraninchi F, Maillet-Contoz L (2006) LusSy: an open tool for the analysis of systems-on-a-chip at the transaction level. In: Design automation for embedded systems, pp 73–104 Moy M, Maraninchi F, Maillet-Contoz L (2006) LusSy: an open tool for the analysis of systems-on-a-chip at the transaction level. In: Design automation for embedded systems, pp 73–104
17.
go back to reference Karlsson D, Eles P, Peng Z (2006) Formal verification of SystemC designs using a petri-net based representation. In: Design, automation and test in Europe, pp 1228–1233 Karlsson D, Eles P, Peng Z (2006) Formal verification of SystemC designs using a petri-net based representation. In: Design, automation and test in Europe, pp 1228–1233
18.
go back to reference Niemann B, Haubelt C (2006) Formalizing TLM with communicating state machines. In: Forum on specification and design languages, pp 285–293 Niemann B, Haubelt C (2006) Formalizing TLM with communicating state machines. In: Forum on specification and design languages, pp 285–293
19.
go back to reference Traulsen C, Cornet J, Moy M, Maraninchi F (2007) A SystemC/TLM semantics in Promela and its possible applications. In: SPIN, pp 204–222 Traulsen C, Cornet J, Moy M, Maraninchi F (2007) A SystemC/TLM semantics in Promela and its possible applications. In: SPIN, pp 204–222
20.
go back to reference Helmstetter C, Ponsini O (2008) A comparison of two SystemC/TLM semantics for formal verification. In: ACM and IEEE international conference on formal methods and models for codesign, pp 59–68 Helmstetter C, Ponsini O (2008) A comparison of two SystemC/TLM semantics for formal verification. In: ACM and IEEE international conference on formal methods and models for codesign, pp 59–68
21.
go back to reference Herber P, Fellmuth J, Glesner S (2008) Model checking SystemC designs using timed automata. In: IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, pp 131–136 Herber P, Fellmuth J, Glesner S (2008) Model checking SystemC designs using timed automata. In: IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis, pp 131–136
22.
go back to reference Kundu S, Ganai M, Gupta R (2008) Partial order reduction for scalable testing of SystemC TLM designs. In: Design automation conference, pp 936–941 Kundu S, Ganai M, Gupta R (2008) Partial order reduction for scalable testing of SystemC TLM designs. In: Design automation conference, pp 936–941
23.
go back to reference Blanc N, Kroening D (2008) Race analysis for SystemC using model checking. In: International conference on CAD, pp 356–363 Blanc N, Kroening D (2008) Race analysis for SystemC using model checking. In: International conference on CAD, pp 356–363
24.
go back to reference Cimatti A, Micheli A, Narasamdya I, Roveri M (2010) Verifying SystemC: a software model checking approach. In: International conference on formal methods in CAD, pp 51–60 Cimatti A, Micheli A, Narasamdya I, Roveri M (2010) Verifying SystemC: a software model checking approach. In: International conference on formal methods in CAD, pp 51–60
25.
go back to reference Tabakov D, Vardi M, Kamhi G, Singerman E (2008) A temporal language for SystemC. In: International conference on formal methods in CAD, pp 1–9 Tabakov D, Vardi M, Kamhi G, Singerman E (2008) A temporal language for SystemC. In: International conference on formal methods in CAD, pp 1–9
27.
go back to reference Chou C-N, Ho Y-S, Hsieh C, Huang C-Y (2012) Symbolic model checking on SystemC designs. In: Design automation conference, pp 327–333 Chou C-N, Ho Y-S, Hsieh C, Huang C-Y (2012) Symbolic model checking on SystemC designs. In: Design automation conference, pp 327–333
28.
go back to reference Le HM, Große D, Herdt V, Drechsler R (2013) Verifying SystemC using an intermediate verification language and symbolic simulation. In: Design automation conference, pp 116:1–116:6 Le HM, Große D, Herdt V, Drechsler R (2013) Verifying SystemC using an intermediate verification language and symbolic simulation. In: Design automation conference, pp 116:1–116:6
29.
go back to reference Herdt V, Le HM, Drechsler R (2015) Verifying SystemC using stateful symbolic simulation. In: Design automation conference, pp 49:1–49:6 Herdt V, Le HM, Drechsler R (2015) Verifying SystemC using stateful symbolic simulation. In: Design automation conference, pp 49:1–49:6
30.
go back to reference Biere A, Cimatti A, Clarke EM, Zhu Y (1999) Symbolic model checking without BDDs. In: Tools and algorithms for the construction and analysis of systems, pp 193–207 Biere A, Cimatti A, Clarke EM, Zhu Y (1999) Symbolic model checking without BDDs. In: Tools and algorithms for the construction and analysis of systems, pp 193–207
31.
go back to reference Sheeran M, Singh S, Stålmarck G (2000) Checking safety properties using induction and a SAT-solver. In: International conference on formal methods in CAD, pp 108–125 Sheeran M, Singh S, Stålmarck G (2000) Checking safety properties using induction and a SAT-solver. In: International conference on formal methods in CAD, pp 108–125
32.
go back to reference Bjesse P, Claessen K (2000) SAT-based verification without state space traversal. In: International conference on formal methods in CAD, pp 372–389 Bjesse P, Claessen K (2000) SAT-based verification without state space traversal. In: International conference on formal methods in CAD, pp 372–389
33.
go back to reference Clarke EM, Kroening D, Lerda F (2004) A tool for checking ANSI-C programs. In: Tools and algorithms for the construction and analysis of systems, pp 168–176 Clarke EM, Kroening D, Lerda F (2004) A tool for checking ANSI-C programs. In: Tools and algorithms for the construction and analysis of systems, pp 168–176
34.
go back to reference Brummayer R, Biere A (2009) Boolector: an efficient SMT solver for bit-vectors and arrays. In: Tools and algorithms for the construction and analysis of systems, pp 174–177 Brummayer R, Biere A (2009) Boolector: an efficient SMT solver for bit-vectors and arrays. In: Tools and algorithms for the construction and analysis of systems, pp 174–177
Metadata
Title
Formal Verification of SystemC-based Cyber Components
Authors
Daniel Große
Hoang M. Le
Rolf Drechsler
Copyright Year
2017
DOI
https://doi.org/10.1007/978-3-319-42559-7_6

Premium Partners