×

Facilitating the design of fault tolerance in transaction level SystemC programs. (English) Zbl 1294.68044

Summary: 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.

MSC:

68M15 Reliability, testing and fault tolerance of networks and computer systems
68M14 Distributed systems

Software:

SPIN; KRATOS; SystemC; LLVM; LusSy
PDFBibTeX XMLCite
Full Text: DOI

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 (1989), Kluwer Academic Publishers: Kluwer Academic Publishers Norwell, MA, USA · Zbl 0900.68088
[6] Harris, I. G., Fault models and test generation for hardware-software covalidation, IEEE Design and Test of Computers, 20, 4, 40-47 (2003)
[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)
[16] Spin language reference
[17] Holzmann, G. J., The model checker SPIN, IEEE Transactions on Software Engineering, 23, 5, 279-295 (1997)
[21] Kulkarni, S. S.; Arora, A., Automating the addition of fault-tolerance, (Formal Techniques in Real-Time and Fault-Tolerant Systems (2000), Springer-Verlag: Springer-Verlag London, UK), 82-93 · Zbl 0986.68584
[23] Ebnenasir, A.; Kulkarni, S. S.; Arora, A., FTSyn: a framework for automatic synthesis of fault-tolerance, International Journal on Software Tools for Technology Transfer, 10, 5, 455-471 (2008)
[25] Getting started with tlm-2.0
[26] Ebnenasir, A.; Kulkarni, S. S., Feasibility of stepwise design of multitolerant programs, ACM Transactions on Software Engineering and Methodology (TOSEM), 21, 1, 1:1-1:49 (2011)
[27] Patel, H. D.; Shukla, S. K., Model-driven validation of SystemC designs, C-Based Design of Heterogeneous Embedded Systems 2008. C-Based Design of Heterogeneous Embedded Systems 2008, EURASIP Journal on Embedded Systems, 4:1-4:14 (2008)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.