System reliability has become an increasingly important benchmark in measuring service continuity. As part of many service level agreements, system performance is gauged by how long it provides service without downtime. It is essential to understand and estimate system reliability during the system design and development phase. Most reliability modeling techniques are based on reliability block diagrams, fault trees, Markov chains and various other elements. Such formalisms may not be familiar to system architects, product managers and software developers. They normally use other high level notations such as Unified Modeling Language (UML) [10] to describe the behaviors and aspects of computing systems. Consequently, there is inevitably a gap between the design process and reliability modeling that system designers are facing. This paper proposes a method, modeling framework and proof-of-concept tool that will attempt to fill the gap. We will then demonstrate our tool that uses UML technology to model two-tier computer system’s reliability, obtain the failure/repair rate specified in the UML model, and calculate the system’s reliability using the well-known SHARPE tool [8].
[1]
Ivar Jacobson,et al.
The Unified Modeling Language User Guide
,
1998,
J. Database Manag..
[2]
Kishor S. Trivedi,et al.
Reliability Modeling Using SHARPE
,
1987,
IEEE Transactions on Reliability.
[3]
Pekka Kahkipuro.
UML Based Performance Modeling Framework for Object-Oriented Distributed Systems
,
1999,
UML.
[4]
Werner Vogels,et al.
The Design and Architecture of the Microsoft Cluster Service
,
1998
.
[5]
Valerie. Issarnyg.
Assessing Software Reliability at the Architectural Level
,
2000
.
[6]
Rob Pooley,et al.
Software engineering and performance: a roadmap
,
2000,
ICSE '00.
[7]
Kishor S. Trivedi.
Probability and Statistics with Reliability, Queuing, and Computer Science Applications
,
1984
.