Skip to main content

Facilitating the Design of Fault Tolerance in Transaction Level SystemC Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7129))

Abstract

Due to their increasing complexity, today’s SoC (System on Chip) systems are subject to a variety of faults (e.g., soft errors, component crash, etc.), thereby making fault tolerance a highly important property of such systems. However, designing fault tolerance is a complex task in part due to the large scale of integration of SoC systems and different levels of abstraction provided by modern system design languages such as SystemC. Most existing methods enable fault injection and impact analysis as a means for increasing design dependability. Nonetheless, such methods provide little support for designing fault tolerance. To facilitate the design of fault tolerance in SoC systems, this paper propose an approach where fault tolerance is designed at the level of inter-component communication protocols in SystemC Transaction Level (TL) models. The proposed method includes four main steps, namely model extraction, fault modeling, addition of fault tolerance and refinement of synthesized fault tolerance to SystemC code. We demonstrate the proposed approach using a simple SystemC transaction level program that is subject to communication faults. We also provide a roadmap for future research at the intersection of fault tolerance and hardware-software co-design.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Thomas, D.E., Lagnese, E.D., Nestor, J.A., Rajan, J.V., Blackburn, R.L., Walker, R.A.: Algorithmic and Register-Transfer Level Synthesis: The System Architect’s Workbench. Kluwer Academic Publishers, Norwell (1989)

    MATH  Google Scholar 

  2. Chen, Y.-Y., Hsu, C.-H., Leu, K.-L.: SoC-level risk assessment using FMEA approach in system design with SystemC. In: International Symposium on Industrial Embedded Systems, pp. 82–89 (2009)

    Google Scholar 

  3. Open SystemC Initiative (OSCI): Defining and advancing SystemC standard IEEE 1666-2005, http://www.systemc.org/ .

  4. Transaction-Level Modeling (TLM) 2.0 Reference Manual, http://www.systemc.org/downloads/standards/

  5. Fin, A., Fummi, F., Martignano, M., Signoretto, M.: SystemC: A homogenous environment to test embedded systems. In: Proceedings of the Ninth International Symposium on Hardware/Software Codesign, CODES 2001, pp. 17–22 (2001)

    Google Scholar 

  6. Harris, I.G.: Fault models and test generation for hardware-software covalidation. IEEE Design and Test of Computers 20(4), 40–47 (2003)

    Article  Google Scholar 

  7. Kundu, S., Ganai, M., Gupta, R.: Partial order reduction for scalable testing of SystemC TLM designs. In: Proceedings of the 45th Annual Design Automation Conference, pp. 936–941 (2008)

    Google Scholar 

  8. Sen, A.: Mutation operators for concurrent SystemC designs. In: International Workshop on Microprocessor Test and Verification (2000)

    Google Scholar 

  9. Blanc, N., Kroening, D.: Race analysis for SystemC using model checking. ACM Transactions on Design Automation of Electronic Systems 15(3), 21:1–21:32 (2010)

    Article  Google Scholar 

  10. Marquet, K., Moy, M.: PinaVM: A SystemC front-end based on an executable intermediate representation. In: International Conference on Embedded Software (EMSOFT), pp. 79–88 (2010)

    Google Scholar 

  11. Misera, S., Vierhaus, H.T., Sieber, A.: Fault injection techniques and their accelerated simulation in SystemC. In: Proceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools, pp. 587–595 (2007)

    Google Scholar 

  12. Shafik, R.A., Rosinger, P., Al-Hashimi, B.M.: SystemC-based minimum intrusive fault injection technique with improved fault representation. In: Proceedings of the 2008 14th IEEE International On-Line Testing Symposium, pp. 99–104 (2008)

    Google Scholar 

  13. da Silva Farina, A., Prieto, S.S.: On the use of dynamic binary instrumentation to perform faults injection in transaction level models. In: Proceedings of the 2009 Fourth International Conference on Dependability of Computer Systems, pp. 237–244 (2009)

    Google Scholar 

  14. Perez, J., Azkarate-askasua, M., Perez, A.: Codesign and simulated fault injection of safety-critical embedded systems using SystemC. In: Proceedings of the 2010 European Dependable Computing Conference, pp. 221–229 (2010)

    Google Scholar 

  15. Giovanni, B., Bolchini, C., Miele, A.: Multi-level fault modeling for transaction-level specifications. In: Proceedings of the 19th ACM Great Lakes Symposium on VLSI, pp. 87–92 (2009)

    Google Scholar 

  16. Hatcliff, J., Dwyer, M.B., Zheng, H.: Slicing software for model construction. Higher-Order and Symbolic Computation 13(4), 315–353 (2000)

    Article  MATH  Google Scholar 

  17. Ball, T., Rajamani, S.K.: Bebop: A symbolic model checker for Boolean programs. In: 7th International Workshop on SPIN Model Checking and Software Verification, pp. 113–130 (2000)

    Google Scholar 

  18. Ball, T., Majumdar, R., Millstein, T.D., Rajamani, S.K.: Automatic predicate abstraction of C programs. ACM SIGPLAN Notices 36(5), 203–213 (2001)

    Article  Google Scholar 

  19. Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Pasareanu, C.S., Robby, Zheng, H.: Bandera: Extracting finite-state models from Java source code. In: International Conference on Software Engineering (ICSE), pp. 439–448 (2000)

    Google Scholar 

  20. Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  Google Scholar 

  21. Niemann, B., Haubelt, C.: Formalizing TLM with Communicating Stat Machines. In: Proceedings of Forum on Specification and Design Languages 2006 (FDL 2006), pp. 285–292 (2006)

    Google Scholar 

  22. Spin language reference, http://spinroot.com/spin/Man/promela.html/

  23. Traulsen, C., Cornet, J., Moy, M., Maraninchi, F.: A SystemC/TLM semantics in Promela and its possible applications. In: SPIN Workshop, pp. 204–222 (2007)

    Google Scholar 

  24. Cimatti, A., Griggio, A., Micheli, A., Narasamdya, I., Roveri, M.: kratos – A Software Model Checker for SystemC. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 310–316. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  25. Campana, D., Cimatti, A., Narasamdya, I., Roveri, M.: An analytic evaluation of systemc encodings in promela. In: International SPIN Workshop on Model Checking Software (SPIN), pp. 90–107 (2011)

    Google Scholar 

  26. Ebnenasir, A.: UPC-SPIN: A Framework for the Model Checking of UPC Programs. In: Fifth Partitioned Global Address Space Conference, PGAS (to appear, 2011)

    Google Scholar 

  27. Ebnenasir, A.: Automatic Synthesis of Fault Tolerance. PhD thesis, Michigan State University (2005)

    Google Scholar 

  28. Bonakdarpour, B., Kulkarni, S.S.: Exploiting symbolic techniques in automated synthesis of distributed programs. In: EEE International Conference on Distributed Computing Systems(ICDCS), pp. 3–10 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ebnenasir, A., Hajisheykhi, R., Kulkarni, S.S. (2012). Facilitating the Design of Fault Tolerance in Transaction Level SystemC Programs. In: Bononi, L., Datta, A.K., Devismes, S., Misra, A. (eds) Distributed Computing and Networking. ICDCN 2012. Lecture Notes in Computer Science, vol 7129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25959-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25959-3_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25958-6

  • Online ISBN: 978-3-642-25959-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics