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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abriel, J.-R.: The B-book. Cambridge University Press, Cambridge (1996)
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)
Avizienis, A., Laprie, J.-C., Randell, B.: Fundamental Concepts of Dependability, CSTR: 739, Department of Computing Science, University of Newcastle (2001)
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)
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)
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)
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)
Burns, A., Lister, A.M.: A framework for building dependable systems. The Computer Journal 34(2), 73–181 (1991)
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
Buskens. R, Siddiqui A., et al.: Aurora Management Workbench. Bell laboratories (2003), http://www.bell-labs.com/project/aurora
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)
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)
Chung, L., Nixon, B.A., et al.: Non-functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)
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)
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)
Cysneiros, L.M., Leite, J.C.S.P.: Non-Functional Requirements: From Elicitation to Conceptual Model. IEEE Transactions on Software Engineering (May 2004)
D’Souza, D., Wills, A.C.: Objects, components, and frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)
D1.1 - Requirement specification V2, TIRAN Project Deliverable, confidential (October 1999)
D2.1 and D2.2: Updated Investigation, evaluation, and selection, DepAuDE Deliverable (2002)
D7.9 – Project Final Report, TIRAN Project Deliverable, confidential (October 2000)
D8.6: Final Report, DepAuDE Deliverable (2003)
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)
Deconinck, G., De Florio, V., et al.: The EFTOS approach to dependability in embedded supercomputing. IEEE Transactions on Reliability 51, 76–90 (2002)
DepAuDE project website (April 22, 2004), http://www.depaude.org/
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)
European Dependability Initiative: Inventory of EC Funded Projects in the area of Dependability, Issue 2.2, 11 (January 2000)
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)
Fidge, C.J., Lister, A.M.: A disciplined approach to real-time systems design. Information and Software Technology 34(9), 603–610 (1992)
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)
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)
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)
HOOD Reference Manual, Issue 4 (1995), Available at ftp://ftp.estec.esa.nl/pub/wm/wme/HOOD/HRM4.tar.gz
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)
Jürgens, J.: Secure Systems Development with UML. Springer, Heidelberg (2004) (to be published)
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)
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)
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)
Lee, P.A., Anderson, T.: Fault Tolerance - Principles and Practice, 2nd edn. Dependable Computing and Fault-Tolerant Systems. Springer, Heidelberg (1990)
MAFTIA project website, http://www.newcastle.research.ec.org/maftia/
Mustafiz, S.: Addressing Fault Tolerance in Software Development: A Comparative Study., M.Sc. Thesis, School of Computer Science, McGill University (June 2004)
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)
Pullum, L.L.: Software Fault Tolerance Techniques and Implementation. Artech House, Inc., Boston (2001)
Randell, B., Laprie, J.-C., et al.: ESPRIT Basic Research Series: Predictably Dependable Computing Systems. Springer, Heidelberg (1995)
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)
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)
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)
UML Revision Task Force. OMG UML Specification v. 1.5. OMG Document ad/03-03-01 (2003), Available at http://www.uml.org
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)
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)
Verentziotis, E., Varvarigou, T., et al.: Fault tolerant supercomputing: a software approach. International Journal of Computer Research 10(3), 401–413 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)