A Data-Driven Dependability Assurance Scheme with Applications to Data and Design Diversity

  • Behrooz Parhami
Part of the Dependable Computing and Fault-Tolerant Systems book series (DEPENDABLECOMP, volume 4)


A new scheme for dependability assurance in digital systems that allows highly selective use of redundancy with low additional overhead is introduced. This scheme, which can be described as data-driven, contrasts with and complements the conventional structure-driven and function-driven approaches to dependability procurement for digital systems. The proposed approach is based on attaching a dependability tag (d-tag) to each data object and updating pertinent d-tag values as a computation unfolds. Normal operations on data objects tend to lower d-tag values while comparisons and voting on redundant versions of a result work in the opposite direction. Judicious intermixing of dependability-lowering and dependability-raising operations, driven dynamically by the dependability requirements for various data objects, can lead to a desired overall dependability for computation results. Following an exposition of basic concepts of the proposed method with the assumption of perfect d-tags and operations, various issues in the formulation of a strategy for dealing with erroneous d-tags and imperfect operations are outlined. Applications of the proposed data-driven approach in connection with data and design diversity are presented through simple examples. Some benefits of the proposed scheme for fault tolerance in a class of critical systems are discussed.


Design Diversity Data Object Correctness Probability Condition Evaluator Triple Modular Redundancy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    P.E. Ammann and J.C. Knight, “Data Diversity: An Approach to Software Fault Tolerance”, IEEE Transactions on Computers, Vol. 37, No. 4, pp. 418–425, Apr. 1988.CrossRefGoogle Scholar
  2. [2]
    T. Anderson, P.A. Barrett, D.N. Halliwell and M.R. Moulding, “Tolerating Software Design Faults in a Command and Control System”, in [26], pp. 109–128.Google Scholar
  3. [3]
    A. Avizienis and J.P.J. Kelly, “Fault Tolerance by Design Diversity: Concepts and Experiments”, Computer, Vol. 17, Aug. 1984, pp. 67–80.CrossRefGoogle Scholar
  4. [4]
    A. Avizienis, H. Kopetz and J.-C. Laprie (Editors), The Evolution of Fault-Tolerant Systems (Dependable Computing and Fault-Tolerant Systems, Vol. 1), Springer-Verlag, Wien, 1987.Google Scholar
  5. [5]
    A. Avizienis, M.R.T. Lyu, W. Schutz, K.-S. Tso and U. Voges, “DEDIX 87 -- A Supervisory System for Design Diversity Experiments at UCLA”, in [26], pp. 129–168.Google Scholar
  6. [6]
    P.G. Bishop, “The PODS Diversity Experiment”, in [26], pp. 51–84.Google Scholar
  7. [7]
    S.S. Brilliant, J.C. Knight and N.G.Leveson, “The Consistent Comparison Problem in N-Version Software”, Software Engineering Notes, ACM SIGSOFT, Vol. 12, No. 1, pp. 29–34, Jan. 1987.CrossRefGoogle Scholar
  8. [8]
    B.G. Buchanan and E.H. Shortliffe, Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison-Wesley, 1984 (in particular Chapters 10–12, pp. 209–271).Google Scholar
  9. [9]
    J.R. Dunham, “Experiments in Software Reliability: Life-Critical Applications”, IEEE Transactions on Software Engineering, Vol. SE-12, No. 1, pp. 110–123, Jan. 1986.MathSciNetGoogle Scholar
  10. [10]
    J.L. Gaudiot and C.S. Raghavendra, “Fault Tolerance and Data-Flow Systems”, Proc. of the International Conf. on Distributed Computing Systems, San Francisco, May 1985, pp. 16–23.Google Scholar
  11. [11]
    J.L.A. Hughes, “Error Detection and Correction Techniques for Dataflow Systems”, Proc. of the International Symp. on Fault-Tolerant Computing, Milano, June 1983, pp. 318–321.Google Scholar
  12. [12]
    J.C. Knight and N.G. Leveson, “An Experimental Evaluation of the Assumption of Independence in Multiversion Programming”, IEEE Transactions on Software Engineering, Vol. SE-12, No. 1, pp. 96–109, Jan. 1986.Google Scholar
  13. [13]
    J. Losq, “A Highly Efficient Redundancy Scheme: Self-Purging Redundancy”, IEEE Transactions on Computers, Vol. C-25, No. 6, pp. 569–578, June 1976.CrossRefGoogle Scholar
  14. [14]
    F.P. Mathur and A. Avizienis, “Reliability Analysis and Architecture of a Hybrid-Redundant Digital System: Generalized Triple Modular Redundancy with Self-Repair”, AFIPS Conf. Proc., Vol. 36 (Spring Joint Computer Conf.), AFIPS Press, Montvale, NJ, 1970, pp. 375–383.Google Scholar
  15. [15]
    D.P. Misunas, “Error Detection and Recovery in a Data-Flow Computer”, Proc. of the International Conf. on Parallel Processing, Aug. 1976, pp. 117–122.Google Scholar
  16. [16]
    R.C. Ogus, “The Probability of a Correct Output from a Combinational Circuit”, IEEE Transactions on Computers, Vol. C-24, No. 5, pp. 534–544, May 1975.MathSciNetCrossRefGoogle Scholar
  17. [17]
    B. Parhami, “From Defects to Failures: A View of Dependable Computing”, Computer Architecture News, ACM SIGARCH, Vol. 16, No. 4, pp. 157–168, Sep. 1988.CrossRefGoogle Scholar
  18. [18]
    B. Parhami, “A New Paradigm for the Design of Dependable Systems”, Proc. of the International Symp. on Circuits and Systems, Portland, OR, May 1989, pp. 561–564.Google Scholar
  19. [19]
    B. Parhami, “Voting Schemes for Composite Data Objects and Their Reliability Analyses”, in preparation.Google Scholar
  20. [20]
    W.H. Pierce, “Adaptive Decision Elements to Improve the Reliability of Redundant Systems”, IRE International Convention Record, Mar. 1962, pp. 124–131.Google Scholar
  21. [21]
    B. Randell, “System Structure for Software Fault Tolerance”, IEEE Transactions on Software Engineering, Vol. SE-1, No. 2, pp. 220–232, June 1975.Google Scholar
  22. [22]
    M. Raynal, Networks and Distributed Computation: Concepts, Tools, and Algorithms, MIT Press, 1988.Google Scholar
  23. [23]
    E.H. Shortliffe and B.G. Buchanan, “A Model of Inexact Reasoning in Medicine”, in [23], pp. 233–262.Google Scholar
  24. [24]
    V.P. Srini, “A Fault-Tolerant Dataflow System”, Computer, Vol. 18, pp. 54–68, Mar. 1985.CrossRefGoogle Scholar
  25. [25]
    A.H. Veen, “Dataflow Machine Architecture”, Computing Surveys, Vol. 18, No. 4, pp. 365–396, Dec. 1986.CrossRefGoogle Scholar
  26. [26]
    U. Voges, (Editor), Software Diversity in Computerized Control Systems (Dependable Computing and Fault-Tolerant Systems, Vol. 2), Springer-Verlag, Wien, 1988.Google Scholar
  27. [27]
    U. Voges, “Use of Diversity in Experimental Reactor Safety Systems”, in [26], pp. 29–49.Google Scholar

Copyright information

© Springer-Verlag/Wien 1991

Authors and Affiliations

  • Behrooz Parhami
    • 1
  1. 1.Dept. of Electrical & Computer EngineeringUniversity of CaliforniaSanta BarbaraUSA

Personalised recommendations