[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Facilitating the design of fault tolerance in transaction level SystemC programs

Published: 01 July 2013 Publication History

Abstract

Due to their increasing complexity, today's SoC (system on chip) systems are subject to a variety of faults (e.g., single-event upset, 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 proposes an approach for designing fault-tolerant inter-component communication protocols in SystemC transaction level modeling (TLM) programs. The proposed method includes four main steps, namely model extraction, fault modeling, addition of fault tolerance and refinement of fault tolerance to SystemC code. We demonstrate the proposed approach using a simple SystemC transaction level program that is subject to communication faults. Moreover, we illustrate how fault tolerance can be added to SystemC programs that use the base protocol of the TLM interoperability layer. We also illustrate how fault tolerance functionalities can be partitioned to software and hardware components. Finally, we put forward a roadmap for future research at the intersection of fault tolerance and hardware-software co-design.

References

[1]
Thomas, D.E., Lagnese, E.D., Nestor, J.A., Rajan, J.V., Blackburn, R.L. and Walker, R.A., Algorithmic and Register-Transfer Level Synthesis: The System Architect's Workbench. 1989. Kluwer Academic Publishers, Norwell, MA, USA.
[2]
Y.-Y. Chen, C.-H. Hsu, K.-L. Leu, SoC-level risk assessment using FMEA approach in system design with SystemC, in: International Symposium on Industrial Embedded Systems, 2009, pp. 82-89.
[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]
A. Fin, F. Fummi, M. Martignano, M. Signoretto, SystemC: A homogenous environment to test embedded systems, in: Proceedings of the Ninth International Symposium on Hardware/Software Codesign, CODES'01, 2001, pp. 17-22.
[6]
Harris, I.G., Fault models and test generation for hardware-software covalidation. IEEE Design and Test of Computers. v20 i4. 40-47.
[7]
S. Kundu, M. Ganai, R. Gupta, Partial order reduction for scalable testing of SystemC TLM designs, in: Proceedings of the 45th Annual Design Automation Conference, Design Automation Conference, 2008, pp. 936-941.
[8]
A. Sen, Mutation operators for concurrent SystemC designs, in: International Workshop on Microprocessor Test and Verification, 2000.
[9]
Blanc, N. and Kroening, D., Race analysis for SystemC using model checking. ACM Transactions on Design Automation of Electronic Systems. v15 i3. 21:1-21:32.
[10]
K. Marquet, M. Moy, PinaVM: A SystemC front-end based on an executable intermediate representation, in: International Conference on Embedded software (EMSOFT), 2010, pp. 79-88.
[11]
S. Misera, H.T. Vierhaus, A. Sieber, Fault injection techniques and their accelerated simulation in SystemC, in: Proceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools, 2007, pp. 587-595.
[12]
R.A. Shafik, P. Rosinger, B.M. Al-Hashimi, SystemC-based minimum intrusive fault injection technique with improved fault representation, in: Proceedings of the 2008 14th IEEE International On-Line Testing Symposium, 2008, pp. 99-104.
[13]
A. da Silva Farina, S.S. Prieto, 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, 2009, pp. 237-244.
[14]
J. Perez, M. Azkarate-askasua, A. Perez, Codesign and simulated fault injection of safety-critical embedded systems using SystemC, in: Proceedings of the 2010 European Dependable Computing Conference, 2010, pp. 221-229.
[15]
B. Giovanni, C. Bolchini, A. Miele, Multi-level fault modeling for transaction-level specifications, in: Proceedings of the 19th ACM Great Lakes Symposium on VLSI, 2009, pp. 87-92.
[16]
http://spinroot.com/spin/Man/promela.html/
[17]
Holzmann, G.J., The model checker SPIN. IEEE Transactions on Software Engineering. v23 i5. 279-295.
[18]
C. Traulsen, J. Cornet, M. Moy, F. Maraninchi, A SystemC/TLM semantics in Promela and its possible applications, in: SPIN Workshop, 2007, pp. 204-222.
[19]
K. Marquet, B. Jeannet, M. Moy, Efficient Encoding of SystemC/TLM in Promela, Tech. Rep. TR-2010-7, Verimag, France (2010).
[20]
D. Campana, A. Cimatti, I. Narasamdya, M. Roveri, An analytic evaluation of systemc encodings in Promela, in: International SPIN Workshop on Model Checking Software (SPIN), 2011, pp. 90-107.
[21]
Kulkarni, S.S. and Arora, A., Automating the addition of fault-tolerance. In: Formal Techniques in Real-Time and Fault-Tolerant Systems, Springer-Verlag, London, UK. pp. 82-93.
[22]
A. Ebnenasir, Automatic synthesis of fault tolerance, Ph.D. Thesis, Michigan State University, 2005.
[23]
Ebnenasir, A., Kulkarni, S.S. and Arora, A., FTSyn: a framework for automatic synthesis of fault-tolerance. International Journal on Software Tools for Technology Transfer. v10 i5. 455-471.
[24]
B. Niemann, C. Haubelt, Formalizing TLM with communicating stat machines, in: Proceedings of Forum on Specification and Design Languages 2006, FDL 2006, 2006, pp. 285-292.
[25]
http://www.doulos.com/knowhow/systemc/tlm2/
[26]
Ebnenasir, A. and Kulkarni, S.S., Feasibility of stepwise design of multitolerant programs. ACM Transactions on Software Engineering and Methodology (TOSEM). v21 i1. 1:1-1:49.
[27]
Patel, H.D. and Shukla, S.K., Model-driven validation of SystemC designs. EURASIP Journal on Embedded Systems. 4:1-4:14.
[28]
D. Kroening, N. Sharygina, Formal verification of systemc by automatic hardware/software partitioning, in: ACM & IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE), 2005, pp. 101-110.
[29]
M. Moy, F. Maraninchi, L. Maillet-Contoz, Lussy: A toolbox for the analysis of systems-on-a-chip at the transactional level, in: International Conference on Application of Concurrency to System Design (ACSD), 2005, pp. 26-35.
[30]
C. Lattner, V.S. Adve, LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation, in: IEEE/ACM International Symposium on Code Generation and Optimization (CGO), 2004, pp. 75-88.
[31]
A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, M. Roveri, KRATOS: A software model checker for SystemC, in: Proceedings of the 23rd International Conference on Computer Aided Verification (CAV), 2011, pp. 310-316.
[32]
A. Ebnenasir, UPC-SPIN: A Framework for the Model Checking of UPC Programs, in: Fifth Partitioned Global Address Space Conference (PGAS), 2011.
[33]
B. Bonakdarpour, S.S. Kulkarni, Exploiting symbolic techniques in automated synthesis of distributed programs, in: EEE International Conference on Distributed Computing Systems(ICDCS), 2007, pp. 3-10.

Cited By

View all
  • (2014)Runtime instrumentation of SystemC/TLM2 interfaces for fault tolerance requirements verification in software cosimulationModelling and Simulation in Engineering10.1155/2014/1050512014(42-42)Online publication date: 1-Jan-2014
  • (2013)Modeling and Analyzing Timing Faults in Transaction Level SystemC Programs15th International Symposium on Stabilization, Safety, and Security of Distributed Systems - Volume 825510.5555/2718693.2718718(344-347)Online publication date: 13-Nov-2013
  • (2013)Modeling and analyzing timing faults in transaction level SystemC programsProceedings of the Sixth International Workshop on Network on Chip Architectures10.1145/2536522.2536533(65-68)Online publication date: 8-Dec-2013

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Theoretical Computer Science
Theoretical Computer Science  Volume 496, Issue
July, 2013
149 pages

Publisher

Elsevier Science Publishers Ltd.

United Kingdom

Publication History

Published: 01 July 2013

Author Tags

  1. Fault tolerance
  2. SystemC
  3. Transaction level modeling

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Runtime instrumentation of SystemC/TLM2 interfaces for fault tolerance requirements verification in software cosimulationModelling and Simulation in Engineering10.1155/2014/1050512014(42-42)Online publication date: 1-Jan-2014
  • (2013)Modeling and Analyzing Timing Faults in Transaction Level SystemC Programs15th International Symposium on Stabilization, Safety, and Security of Distributed Systems - Volume 825510.5555/2718693.2718718(344-347)Online publication date: 13-Nov-2013
  • (2013)Modeling and analyzing timing faults in transaction level SystemC programsProceedings of the Sixth International Workshop on Network on Chip Architectures10.1145/2536522.2536533(65-68)Online publication date: 8-Dec-2013

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media