Use of Mathematica for availability, and up and down time analysis of systems modelled by reliability block diagrams

Version 0.3.2
2009-02-10
© Bjarne E. Helvik

Introduction

Some background

Reliability Block Diagrams is a well known modelling technique for analysis of the dependability of systems. The basic idea is that the system is split into a number of Blocks which fail and are repaired/restored independently of each other. A single block is illustrated in the figure below.

For an introduction to dependability modelling and analysis by reliability block diagrams, see for instance [EHH00, Helv01]. 
For a single block, as well as systems, we have the following quantities describing the stationary dependability characteristics of the system

•	Stationary availability and unavailability A=1-U, 
•	Mean up time MUT, 
•	Mean down time MDT, and
•	Mean time between failures MTBF.

These quantities are related by the well known equation

A==(MUT/(MDT+MUT))==(MUT/MTBF);

It is seen that the system properties are given by any two of these. For our further investigations, A and MUT are selected. Note that 1/MUT is the failure intensity when the block/system is instantaneously repaired, i.e., the inherent failure intensity of the components.

From blocks representing the "components" of a system we may obtain the above properties for the system. This is computationally very efficiently done as long as the system has a series parallel structure [EHH00, Helv06]. Results may also be obtained when the system can be reduced to a set of series parallel structures by "opening" and "shorting" (a few) blocks. This technique is called pivoting and these structures are often referred to as bridge structures.

Objective

This Mathematica notebook introduces and exemplifies the use of the package BlockDiagrams.m for analysis of dependability models. The package is loaded by (NB! The path should be replaced by the path to the local installation of BlockDiagrams.m)

<<"BlockDiagrams.m"

A list of the available functions in the package is obtained by the command:

Names["Dependability`BlockDiagrams`*"]

The names of some of the functions have a small b at the end to distinguish them from the corresponding functions in the StateDiagram package.
As a general reference, a short description of a function is obtained by putting a question mark in front of its name. For instance:

?MTBFb

Element and operator outline

The dependability of a system element or a system is therefore fully characterized by the pair E={A, MUT}, where A is the element  (or system) availability and MUT is its mean up time. It should also be kept in mind that 1/MUT is the failure intensity of the element when it is working.

Hence, if we characterize the dependability of element i by (Subscript[E, i])= {(Subscript[A, i]),(Subscript[MUT, i])}, we would like to obtain the dependability of various compound system structures as:

•	Series system: (Subscript[E, i]) ⊓ (Subscript[E, j])  
•	Parallel system: (Subscript[E, i]) ⊔ (Subscript[E, j])
•	K-out-of-N system with similar elements: KoutofNb(E, K, N)
•	A bridge structure, i.e. a structure which can be transformed into two series parallel systems by pivoting on a "bridging element": BridgeStruct[(Subscript[S, 1]),(Subscript[S, 2]),(Subscript[E, b])] where (Subscript[S, 1])is the system structure when the pivot element is always available, (Subscript[S, 2]) is the structure when it is removed from the system and (Subscript[E, b])is the pivot element.

These functions realized in Mathematica and their use  are presented in the next section. In the last section, an evaluation of an example system is presented.

Some remarks

The package may be used for symbolic as well as numerical analysis. No practical upper limit of the size of the system that can be evaluated,  is foreseen. Some measures are taken to maintain readability of the result of  symbolic analysis, but for larger systems, the result is likely to be messy.

Warning: This package is an early version and bugs may be present. There is no check on the correctness of the function arguments.

Functions

Relation between system and element properties

A set of functions is defined to obtain the various dependability properties for elements and compound structures from the availability and mean up time. Let say we have an element

Ex={A,MUT}

We may then obtain

MDTb[Ex]

MTBFb[Ex]

U[Ex]

and for the sake of completeness.

A[Ex]

MUTb[Ex]

Series system

A series system is a system where all elements have to work in order to have a working system. A series system (with two elements) is depicted below.

The ⊓  operator  is the infix operator of the function SeriesSystem, and it corresponds to the Mathematica symbol SquareIntersection.The symbol is chosen to represent a series structure since it may be associated with the logical and operator, the intersection and product operators.

The series system operation is defined to be valid for multiple elements, i.e.: (Subscript[S, series])=(Subscript[E, i]) ⊓ (Subscript[E, j])⊓ (Subscript[E, k])⊓…

Examples:

Regard a system with two identical elements with availability (Subscript[A, 1])and mean up time (Subscript[MUT, 1]).

ex1={(Subscript[A, 1]),(Subscript[MUT, 1])}⊓ {(Subscript[A, 1]),(Subscript[MUT, 1])}

Similar for multiple  heterogeneous elements

ex1={(Subscript[A, 1]),(Subscript[MUT, 1])}⊓ {(Subscript[A, 2]),(Subscript[MUT, 2])}⊓ {(Subscript[A, 3]),(Subscript[MUT, 3])}⊓ {(Subscript[A, 4]),(Subscript[MUT, 4])}

The numerical availability of a series system with three elements is easily obtained, e.g.

{0.99, 2}⊓{0.99, 1}⊓{0.98, 1/3}⊓{0.97,1/ 5} //N

From the above we may obtain the system failure intensity as the inverse of the mean time between system failures, i.e.

1/MTBFb[%]

Alternative use:

The function SeriesSystem may be used instead

SeriesSystem[{(Subscript[A, 1]),(Subscript[MUT, 1])}, {(Subscript[A, 2]),(Subscript[MUT, 2])},{(Subscript[A, 3]),(Subscript[MUT, 3])}, {(Subscript[A, 4]),(Subscript[MUT, 4])}]

or

Apply[SeriesSystem,{{(Subscript[A, 1]),(Subscript[MUT, 1])}, {(Subscript[A, 2]),(Subscript[MUT, 2])},{(Subscript[A, 3]),(Subscript[MUT, 3])}, {(Subscript[A, 4]),(Subscript[MUT, 4])}}]

Parallel system

A parallel system is a system where at least one element has to work in order to have a working system. A parallel system (with two elements) is depicted below.

The ⊔  is the infix operator of the function ParallelSystem, and  it  corresponds to the Mathematica symbol SquareUnion. The symbol is chosen to represent a parallel structure since it may be associated with the logical or operator, the union and coproduct operators. The coproduct operator ∐ is introduced before the parallel operator ⊔.

Coproduct

Definition of the co-product operator ∐ of two variables

x∐y

and similar for multiple variables

x∐y∐c∐z

Parallel operator

The parallel system operation is defined to be valid for multiple elements, i.e.: (Subscript[S, paralell])=(Subscript[E, i]) ⊔ (Subscript[E, j])⊔ (Subscript[E, k])⊔…

Similar to the series operator  ParallelSystem  may be used instead.

Examples

ex2={(Subscript[A, 2]),(Subscript[MUT, 2])}⊔{(Subscript[A, 2]),(Subscript[MUT, 2])}⊔{(Subscript[A, 2]),(Subscript[MUT, 2])} //Simplify

For the sake of the comparison, let us regard the numerical availability of a parallel system with same three elements as in the series example above

{0.99, 2}⊔{0.99, 1}⊔{0.98, 1/3}⊔{0.97,1/ 5} //N

The availability is very close to one and it is more convenient to regard the unavailability

U[%]

From the above we may obtain the system failure intensity as the inverse of the mean time between system failures which shows a substantial decrease relative to the series example.

1/MTBFb[%%]

Alternatively, the function ParallelSystem may be used :

ParallelSystem[{(Subscript[A, 1]),(Subscript[MUT, 1])}, {(Subscript[A, 2]),(Subscript[MUT, 2])}]//Simplify

K-out-of-N system

A K-out-of-N system is a system where at least K elements have to work in order to have a working system. A K-out-of-N system is depicted below.

The function KoutofNb obtains the element values for this system. Note that al elements in the structure must be identical with respect to availability and MUT.

?KoutofNb

Examples

ex3= KoutofNb[{(Subscript[A, 2]),(Subscript[MUT, 2])},1,3]

KoutofNb[{0.99,1,6},2,4]

Note that the K-out-of-N system has the series and parallel systems as its limits. For instance:

ex3==ex2 //Simplify

KoutofNb[{(Subscript[A, 1]),(Subscript[MUT, 1])},2,2]==ex1 //Simplify

Pivoting

All systems can not be modelled with the basic series parallel structures introduced above. In these systems we may often find one (or a few) systems that if "short circuit" or removed (in all combinations) yield series parallel systems. This (these) element(s) may be used as pivot elements to obtain the characteristics of a system as illustrated for one element P below. See  the lecture notes for the theory [Helv07].

?BridgeStruct

BridgeStruct[{Aok,Mok},{Af,Mf},{Ap,Mp}]

Example

Let us regard the simple  presented in Section 1.7.2 of [Helv07] with the following names (NB! use strings as index to tag a symbol, otherwise it is treated as a variable.):

Clear[F,G,H,K,P]

F={(Subscript[A, "F"]),(Subscript[MUT, "F"])}; G={(Subscript[A, "G"]),(Subscript[MUT, "G"])};H={(Subscript[A, "H"]),(Subscript[MUT, "H"])};K={(Subscript[A, "K"]),(Subscript[MUT, "K"])};P={(Subscript[A, "P"]),(Subscript[MUT, "P"])};

Removing P, yields a parallel of two series elements,

Sps = (F⊓G)⊔(H⊓K)//Simplify

and "short circuit" of  P, yields a series of two parallel elements,

Ssp = (F⊔H)⊓(G⊔K);

BridgeStruct[Sps,Ssp,P]//Simplify

A[%]

Precedence between operators

There is no implicit precedence among the operators and functions introduced above. Hence, the expression X⊓Y⊔Z  is ambiguous and (X⊓Y)⊔Z ≠ X⊓(Y⊔Z).

The structure of a compound system must hence be reflected by a properly nested parenthesis structure or by explicit definitions of subsystems.

Example, Analysis of a compound system

As an example, we analyze an extension of the model presented in Section 1.7.2 of [Helv07], where a bridge substructure is introduced in subsystem 3. It is shown in the figure below.

Let us introduce the following parameters for the system elements:

Ax ={0.9999, 1000};B={0.9,10};Cx={0.93,1};Dx={0.85,15}; Ex={.99, 100}; F={0.91,233};G={0.9,456}; G={0.87,87};H={0.99,23}; K={0.89,677};L={.98,202};P={0.97,15};

With the above introduced symbols/functions, the system, S, modelled by the diagram above may be algebraically described by

S= Ax⊓((B⊓Cx)⊔
                    (KoutofNb[Dx,2,4]⊓Ex)⊔
				          ((BridgeStruct[(F⊓G)⊔(H⊓K),(F⊔H)⊓(G⊔K),P])⊓L))

Additional system dependability metrics may easily be obtained

MTBFb[S]

MDTb[S]

U[S]

References

[EHH00] Peder J. Emstad, Poul E. Heegaard, Bjarne E. Helvik, Laurent Paquereau, “Dependability and Performance in Information and Communication Systems; Fundamentals”, Lecture notes, Department of Telematics, NTNU, July 2007.

[Helv07] Bjarne E. Helvik: "Dependable Computing Systems and Communication Networks; Design and Evaluation", Draft lecture notes - version per December 2007, Tapir, Trondheim