System Structure and Dependability

  • Peter Alan Lee
  • Thomas Anderson
Part of the Dependable Computing and Fault-Tolerant Systems book series (DEPENDABLECOMP, volume 3)


Most computing systems are extremely complex, as is evidenced by the intricacy of their hardware and software implementations. This complexity is to some extent a consequence of the many and various requirements which are routinely imposed on these systems: requirements for general purpose facilities, and at the same time for highly specialized facilities; requirements to provide service to numerous users with diverse demands, and to provide this service simultaneously (or seemingly so); requirements for extremely sophisticated facilities, and for simple and convenient access to those facilities; requirements for prompt and timely service, and for efficient, economical and reliable operation. It can be persuasively argued that modern computing systems constitute the most complex artifacts ever constructed. Given the complexity of these systems, and accepting that their design and construction are susceptible to the inherent fallibility of those who design and construct, it would be surprising indeed if a modern computing system provided its intended service with perfect dependability.


Internal State System Structure Fault Tolerance Corrective Action System Failure 
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.
    O.-J. Dahl, E.W. Dijkstra, and C.A.R. Hoare, Structured Programming, Academic Press, London (1972).MATHGoogle Scholar
  2. 2.
    I. Sommerville, Software Engineering ( Third Edition ), Addison-Wesley, Wokingham (1989).MATHGoogle Scholar
  3. 3.
    D.L. Parnas, “On The Criteria to be Used in Decomposing Systems Into Modules,” Communications of the ACM 15 (12), pp. 1053–1058 (December 1972).CrossRefGoogle Scholar
  4. 4.
    E.W. Dijkstra, A Discipline of Programming, Prentice-Hall, Englewood Cliffs (NJ) (1976).MATHGoogle Scholar
  5. 5.
    B. Meyer, Object-Oriented Software Construction, Prentice-Hall (1988).Google Scholar
  6. 6.
    A. Goldberg and D. Robson, Smalltalk-80; The Language and its Implementation, Addison-Wesley, Reading, Massachusetts (1983).Google Scholar
  7. 7.
    B.J. Cox, Object Oriented Programming, Addison-Wesley, Reading, Massachusetts (1986).Google Scholar
  8. 8.
    B. Stroustrup, The C+ + Programming Language, Addison-Wesley, Reading, Massachusetts (1986).Google Scholar
  9. 9.
    A. de Morgan, A Budget of Paradoxes, Longmans Green, London (1872).Google Scholar
  10. 10.
    T. Anderson, P.A. Lee, and S.K. Shrivastava, “A Model of Recoverability in Multilevel Systems,” IEEE Transactions on Software Engineering SE-4 (6), pp. 486–494 (November 1978).Google Scholar
  11. 11.
    E. Best, “Atomicity of Activities,” pp. 225–250 in Lecture Notes in Computer Science 84, (ed. W. Brauer ), Springer-Verlag, Berlin (1980).Google Scholar
  12. 12.
    B. Lampson, “Atomic Transactions,” pp. 246–265 in Distributed Systems - Architecture and Implementation, Lecture Notes in Computer Science 105, (ed. B. Lampson et al.), Springer-Verlag, Berlin (1981).Google Scholar
  13. 13.
    A.Z. Spector et al., “Distributed Transactions for Reliable Systems,” IEEE Transactions on Software Engineering SE-11 (6), pp. 520–530 (June 1985).Google Scholar
  14. 14.
    L. Svobodova, “Attaining Resilience in Distributed Systems,” pp. 98–124 in Dependability of Resilient Computers, (ed. T. Anderson ), BSP Professional Books, Oxford (1989).Google Scholar
  15. 15.
    J.N. Gray, “Notes on Data Base Operating Systems,” pp. 393–481 in Lecture Notes in Computer Science 60, (ed. R. Bayer, R.M. Graham and G. Seegmuller ), Springer-Verlag, Berlin (1978).Google Scholar
  16. 16.
    P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA (1987).Google Scholar
  17. 17.
    R.E. Barlow and F. Proschan, Mathematical Theory of Reliability, Wiley, New York (1965).MATHGoogle Scholar
  18. 18.
    G.J. Myers, Software Reliability: Principles and Practices, Wiley, New York (1976).Google Scholar
  19. 19.
    P. Naur, “Software Reliability,” pp. 243–251 in State of the Art Report on Software Reliability, Infotech, Maidenhead (1977).Google Scholar
  20. 20.
    T. Gilb, Software Metrics, Winthrop, Cambridge (MA ) (1977).Google Scholar
  21. 21.
    B. Randell, P.A. Lee, and P.C. Treleaven, “Reliability Issues in Computing System Design,” Computing Surveys 10 (2), pp. 123–165 (June 1978).CrossRefMATHGoogle Scholar
  22. 22.
    Digest of Papers FTCS-12, IEEE (1982).Google Scholar
  23. 23.
    J.C. Laprie, “Dependability: A Unifying Concept For Reliable Computing and Fault Tolerance,” pp. 1–28 in Dependability of Resilient Computers, (ed. T. Anderson ), BSP Professional Books, Oxford (1989).Google Scholar
  24. 24.
    T. Anderson (ed.), Safe and Secure Computing Systems, Blackwell Scientific, Oxford (1989).Google Scholar
  25. 25.
    R.E. Barlow and F. Proschan, Statistical Theory of Reliability and Life Testing, Holt Rinehart and Winston, New York (1975).MATHGoogle Scholar
  26. 26.
    J.C. Laprie, “Dependability Evaluation: Hardware and Software,” pp. 44–67 in Dependability of Resilient Computers, (ed. T. Anderson ), BSP Professional Books, Oxford (1989).Google Scholar
  27. 27.
    C.B. Jones, Systematic Software Development Using VDM, Prentice-Hall, London (1986).MATHGoogle Scholar
  28. 28.
    I. Hayes (ed.), Specification Case Studies, Prentice-Hall, London (1987).Google Scholar
  29. 29.
    J. Gall, Systemantics: How Systems Work and Especially How They Fail, Pocket Books, New York (1978).Google Scholar
  30. 30.
    Federal Aviation Administration, “System Design Analysis,” Advisory Circular AC 25.1309–1, US Dept. of Transportation (1982).Google Scholar
  31. 31.
    A. Avizienis, “Fault-Tolerant Systems,” IEEE Transactions on Computers C-25 (12), pp. 1304–1312 (December 1976).Google Scholar
  32. 32.
    P. Ezhilchelvan and S.K. Shrivastava, “A Classification of Faults in Systems,” Technical Report, University of Newcastle upon Tyne (1990).Google Scholar
  33. 33.
    T. Anderson and R. Kerr, “Recovery Blocks in Action: A System Supporting High Reliability,” Proceedings of 2nd International Conference on Software Engineering, San Francisco (CA), pp. 447–457 (October 1976).Google Scholar
  34. 34.
    L.A. Belady and M.M. Lehman, “A Model of Large Program Development,” IBM Systems Journal 15 (3), pp. 225–252 (1976).CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag/Wien 1990

Authors and Affiliations

  • Peter Alan Lee
    • 1
  • Thomas Anderson
    • 1
  1. 1.Computing LaboratoryUniversity of Newcastle upon TyneUK

Personalised recommendations