Reliability Modeling Using UML

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].