TY - GEN
T1 - Architectural design decisions for achieving reliable software systems
AU - Mohamed, Atef
AU - Zulkernine, Mohammad
N1 - Part of the Lecture Notes in Computer Science book series (LNCS, volume 6150) 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.
PY - 2010
Y1 - 2010
N2 - 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.
AB - 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.
KW - Software architecture
KW - and architectural reliability
KW - architectural design decisions
KW - architectural service routes
UR - https://www.scopus.com/pages/publications/77954636927
U2 - 10.1007/978-3-642-13556-9_2
DO - 10.1007/978-3-642-13556-9_2
M3 - Conference article
SN - 3642135552
SN - 9783642135552
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 19
EP - 32
BT - Architecting Critical Systems - First International Symposium, ISARCS 2010, Proceedings
T2 - 1st International Symposium - Architecting Critical Systems, ISARCS 2010
Y2 - 23 June 2010 through 25 June 2010
ER -