Architectural design decisions for achieving reliable software systems

  • Authors:
  • Atef Mohamed;Mohammad Zulkernine

  • Affiliations:
  • School of Computing, Queen's University, Kingston, Ontario, Canada;School of Computing, Queen's University, Kingston, Ontario, Canada

  • Venue:
  • ISARCS'10 Proceedings of the First international conference on Architecting Critical Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software architectural design decisions are key guidelines to achieve non-functional requirements of software systems in the early stages of software development. These decisions are also important for justifying the modifications of dynamic architectures during software evolution in the operational phase. Incorporating reliability goals in software architectures is important for successful applications in large and safety-critical systems. However, most of the existing software design mechanisms do not consider the architectural reliability (the impact of software architecture on system reliability). As a result, alternative software architectures cannot be compared adequately with respect to software system reliability. In this paper, we extend our previous work on failure propagation analysis to propose a selection framework for incorporating reliability in software architectures. The selection criterion in this framework exploits architectural attributes to appropriately select software architectures based on their reliabilities. We provide algorithms to derive the architectural attributes required by the model and to select the appropriate architecture using a quick and a comprehensive decision approach for minor and major architectural changes, respectively.