Abstract
Many future software systems will be distributed across a network,
extensively providing different kinds of services for their users. These
systems must be highly reliable and provide services when required.
Reliability and availability must be engineered into software from the
onset of its development, and potential problems must be detected in the
early stages, when it is easier and less expensive to implement
modifications. The software architecture design phase is the first stage
of software development in which it is possible to evaluate how well
the quality requirements are being met. For this reason, a method is
needed for analyzing software architecture with respect to reliability
and availability. In this paper, we define a framework for comparing
reliability and availability analysis methods from the viewpoint of
software architecture. Our contribution is the comparison of the
existing analysis methods and techniques that can be used for
reliability and availability prediction at the architectural level. The
objective is to discover which methods are suitable for the reliability
and availability prediction of today’s complex systems, what are the
shortcomings of the methods, and which research activities need to be
conducted in order to overcome these identified shortcomings. The
comparison reveals that none of the existing methods entirely fulfill
the requirements that are defined in the framework. The comparison
framework also defines the characteristics required of new reliability
and availability analysis methods. Additionally, the framework is a
valuable tool for selecting the best suitable method for architecture
analysis. Furthermore, the framework can be extended and used for other
evaluation methods as well.
Original language | English |
---|---|
Pages (from-to) | 49 - 65 |
Number of pages | 17 |
Journal | Software and Systems Modeling |
Volume | 7 |
Issue number | 1 |
DOIs | |
Publication status | Published - 2008 |
MoE publication type | A1 Journal article-refereed |
Keywords
- Reliability and availability analysis
- Software architecture
- Software components