Skip to main content

A Survey of Software Development Approaches Addressing Dependability

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3409))

Abstract

Current mainstream software engineering methods rarely consider dependability issues in the requirements engineering and analysis stage. If at all, they only address it much later in the development cycle. Concurrent, distributed, or heterogeneous applications, however, are often deployed in increasingly complex environments. Such systems, to be dependable and to provide highly available services, have to be able to cope with abnormal situations or failures of underlying components. This paper presents an overview of the software development approaches that address dependability requirements and other non-functional requirements like timeliness, adaptability and quality of service. Software development methods, frameworks, middleware, and other proposed approaches that integrate the concern of fault tolerance into the early software development stages have been studied. The paper concludes with a comparison of the various approaches based on several criteria.

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. Abriel, J.-R.: The B-book. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  2. Avizienis, A., Laprie, J.-C., et al.: Dependability of computer systems: Fundamental concepts, erminology, and examples. In: Proc. 3rd IEEE Information Survivability Workshop (ISW-2000), Boston, Massachusetts, USA, October 24-26, pp. 7–12 (2000)

    Google Scholar 

  3. Avizienis, A., Laprie, J.-C., Randell, B.: Fundamental Concepts of Dependability, CSTR: 739, Department of Computing Science, University of Newcastle (2001)

    Google Scholar 

  4. Bagchi, S., Whisnant, K., et al.: Error Detection and Recovery in Chameleon., Center for eliable and High-Performance Computing, Coordinated Science Laboratory, University f Illinois at Urbana-Champaign (November 1998) (presentation)

    Google Scholar 

  5. Barrett, P.A.: Delta-4: An open architecture for dependable systems. In: IEE Colloquium on Safety Critical Distributed Systems, pp. 2/1–2/7 (1993)

    Google Scholar 

  6. Bondavalli, A., Cin, M.D., et al.: Dependability Analysis in the Early Phases of UML ased System Design. International Journal of Computer Systems - Science & Engineering 16(5), 265–275 (2001)

    Google Scholar 

  7. Burns, A., Lister, A.M., McDermid: TARDIS: an architectural framework for timely and reliable distributed information systems. In: Proc. Sixth Australian Software Engineering Conf., Sydney, Australia, July, pp. 1–15 (1991)

    Google Scholar 

  8. Burns, A., Lister, A.M.: A framework for building dependable systems. The Computer Journal 34(2), 73–181 (1991)

    Article  Google Scholar 

  9. Burns, A., Wellings, A.: HRT-HOOD: a structured design method for hard real-time Ada systems. Elsevier Science BV, Amsterdam (1995) ISBN 0-444-82164-3

    Google Scholar 

  10. Buskens. R, Siddiqui A., et al.: Aurora Management Workbench. Bell laboratories (2003), http://www.bell-labs.com/project/aurora

  11. Carnot, M., DaSilva, C., et al.: Error-free software development for critical systems using the B-Methodology. In: Proc. of 3rd International Symposium on Software Reliability Engineering, October, pp. 274–281 (1992)

    Google Scholar 

  12. Chin, M.D.: Extending UML towards a useful OO-language for modeling dependability features. In: the Ninth IEEE Workshop on Object-Oriented Dependable Real-Time Systems (October 2003)

    Google Scholar 

  13. Chung, L., Nixon, B.A., et al.: Non-functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)

    MATH  Google Scholar 

  14. Cukier, M., Ren, J., et al.: AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects. In: Proceedings of the 17th IEEE Symposium on Reliable Distributed Systems (SRDS 1998), Indiana, SA, October 20-23, pp. 245–253 (1998)

    Google Scholar 

  15. Cysneiros, L.M., Leite, J.C.S.P., et al.: A Framework for Integrating Non-Functional Requirements into Conceptual Models. Requirements Engineering Journal 6(2), 97–115 (2001)

    Article  MATH  Google Scholar 

  16. Cysneiros, L.M., Leite, J.C.S.P.: Non-Functional Requirements: From Elicitation to Conceptual Model. IEEE Transactions on Software Engineering (May 2004)

    Google Scholar 

  17. D’Souza, D., Wills, A.C.: Objects, components, and frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)

    Google Scholar 

  18. D1.1 - Requirement specification V2, TIRAN Project Deliverable, confidential (October 1999)

    Google Scholar 

  19. D2.1 and D2.2: Updated Investigation, evaluation, and selection, DepAuDE Deliverable (2002)

    Google Scholar 

  20. D7.9 – Project Final Report, TIRAN Project Deliverable, confidential (October 2000)

    Google Scholar 

  21. D8.6: Final Report, DepAuDE Deliverable (2003)

    Google Scholar 

  22. Darimont, R., Delor, E., et al.: GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering. In: Proc of. ICSE 1998 - 20th Intl. Conf. on Software Engineering, Kyoto, April, vol. 2, pp. 58–62 (1998)

    Google Scholar 

  23. Deconinck, G., De Florio, V., et al.: The EFTOS approach to dependability in embedded supercomputing. IEEE Transactions on Reliability 51, 76–90 (2002)

    Article  Google Scholar 

  24. DepAuDE project website (April 22, 2004), http://www.depaude.org/

  25. Dondossola, G., Botti, O.: System fault tolerance specification: proposal of a method combining semi-formal and formal approaches. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 82–96. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. European Dependability Initiative: Inventory of EC Funded Projects in the area of Dependability, Issue 2.2, 11 (January 2000)

    Google Scholar 

  27. Fabre, J.-C., Pérennou, T.: A Metaobject Architecture for Fault Tolerant Distributed Systems: The FRIENDS Approach. IEEE Trans. on Computers, 78–95 (January 1998)

    Google Scholar 

  28. Fidge, C.J., Lister, A.M.: A disciplined approach to real-time systems design. Information and Software Technology 34(9), 603–610 (1992)

    Article  Google Scholar 

  29. Fidge, C.J., Lister, A.M.: The challenges of non-functional computing requirements. In: Seventh Australian Software Engineering Conference (ASWEC 1993), Sydney, September, pp. 77–84 (1993)

    Google Scholar 

  30. Gokhale, A., Natarajan, B., et al.: DOORS: Towards high-performance fault-tolerant CORBA. In: Proc. 2nd Intl. Symp. Distributed Objects and Applications (DOA 2000) (September 2000)

    Google Scholar 

  31. de Guerra, P.A.C., Rubira, C., et al.: Fault-Tolerant Software Architecture for Component- Based Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677, pp. 129–149. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  32. HOOD Reference Manual, Issue 4 (1995), Available at ftp://ftp.estec.esa.nl/pub/wm/wme/HOOD/HRM4.tar.gz

  33. Jürgens, J.: Developing safety-critical systems with UML. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 360–372. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  34. Jürgens, J.: Secure Systems Development with UML. Springer, Heidelberg (2004) (to be published)

    Google Scholar 

  35. Kabous, L., Nebel, W.: Modeling Hard Real Time Systems with UML The OOHARTS Approach. In: France, R.B., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 339–355. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  36. Kienzle, J.: Software fault tolerance: An overview. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 45–67. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  37. Kim, K.H.: ROAFTS: A Middleware Architecture for Real-time Object-oriented Adaptive Fault Tolerance Support. In: Proc. of IEEE CS 1998 HASE Symp., Washington, D.C, November, pp. 50–57 (1998)

    Google Scholar 

  38. Lee, P.A., Anderson, T.: Fault Tolerance - Principles and Practice, 2nd edn. Dependable Computing and Fault-Tolerant Systems. Springer, Heidelberg (1990)

    MATH  Google Scholar 

  39. MAFTIA project website, http://www.newcastle.research.ec.org/maftia/

  40. Mustafiz, S.: Addressing Fault Tolerance in Software Development: A Comparative Study., M.Sc. Thesis, School of Computer Science, McGill University (June 2004)

    Google Scholar 

  41. Powell, D., Arlat, J., et al.: GUARDS: A generic upgradable architecture for real-time dependable systems. IEEE Trans. Parallel and Distributed Syst. 10, 580–597 (1999)

    Article  Google Scholar 

  42. Pullum, L.L.: Software Fault Tolerance Techniques and Implementation. Artech House, Inc., Boston (2001)

    MATH  Google Scholar 

  43. Randell, B., Laprie, J.-C., et al.: ESPRIT Basic Research Series: Predictably Dependable Computing Systems. Springer, Heidelberg (1995)

    Google Scholar 

  44. Randell, B., Xu, J.: The Evolution of the Recovery Block Concept. In: Lyu, M.R. (ed.) Software Fault Tolerance, Ch. 1, pp. 1–21. John Wiley & Sons, Chichester (1995)

    Google Scholar 

  45. Rubira, C.M.F., de Lemos, R., et al.: Exception handling in the development of dependable component-based systems. In: Software – Practice and Experience (2004) (to appear)

    Google Scholar 

  46. Tirtea, R., Deconinck, G.: A Survey of Middleware and its Support for Fault Tolerance. In: Proc. 6th Int. Conf. Engineering of Modern Electric Systems (EMES 2001), Felix-Spa, Romania, May 24-26, p. 6 (2001)

    Google Scholar 

  47. UML Revision Task Force. OMG UML Specification v. 1.5. OMG Document ad/03-03-01 (2003), Available at http://www.uml.org

  48. van Lamsweerde, A.: Building Formal Requirements Models for Reliable Software. In: Strohmeier, A., Craeynest, D. (eds.) Ada-Europe 2001. LNCS, vol. 2043, p. 1. Springer, Heidelberg (2001)

    Google Scholar 

  49. van Lamsweerde, A.: From System Goals to Software Architecture. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  50. Verentziotis, E., Varvarigou, T., et al.: Fault tolerant supercomputing: a software approach. International Journal of Computer Research 10(3), 401–413 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mustafiz, S., Kienzle, J. (2005). A Survey of Software Development Approaches Addressing Dependability. In: Guelfi, N., Reggio, G., Romanovsky, A. (eds) Scientific Engineering of Distributed Java Applications. FIDJI 2004. Lecture Notes in Computer Science, vol 3409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31869-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31869-9_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25053-1

  • Online ISBN: 978-3-540-31869-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics