A hybrid, combinatorial-Markov method of solving performance and reliability models

This thesis presents a hybrid, hierarchical technique for solving performance and reliability models. The building blocks for the models are of two types: combinatorial and Markov. The Markov model is an acyclic Markov or semi-Markov chain or a cyclic Markov chain that is either irreducible or whose state space can be partitioned into transient and absorbing states. The combinatorial model takes the form of a series-parallel graph whose nodes represent events that may occur serially, probabilistically, or concurrently. When a set of events occurs concurrently, the condition for the set of events to complete is that some specified number of the events must complete. The combinatorial model can be viewed as a generalized, series-parallel stochastic PERT chart. As special cases, we have series-parallel reliability block diagrams and fault trees, without repeated nodes. At the lowest level, basic components represent events that have duration. In all but the Markov chain model, an event may have any time-to-occurrence distribution that is exponential polynomial in form, possibly with a mass at zero and at infinity, and possibly containing complex numbers. The combinatorial submodel is solved for the cumulative distribution function of the time needed for all events to finish. A Markov submodel with absorbing states is solved for the distribution of the time needed to reach absorption. If the chain is acyclic, the probability of visiting each state is computed. An irreducible Markov submodel is solved for steady state probabilities. Each CDF is symbolic in the time variable t; the CDF can thus be used as a parameter to other submodels. Scalar values such as a probability or the mean, variance, or value of a CDF at a value of t can also be used as parameters to other submodels. Examples are presented that show how combinations of submodels can be used to evaluate the reliability/availability or performance of large systems or programs. Some of the examples show how the technique can be used to do decomposition/aggregation and to model systems whose structure is not series-parallel.