Reliability HotWire: eMagazine for the Reliability Professional
Reliability HotWire

Issue 61, March 2006

Hot Topics

Probabilistic Event and Risk Analysis with RENO

ReliaSoft's RENO is designed for probabilistic event and risk analysis. Using a graphical flowchart format, systems and/or scenarios can intuitively be built and then executed via simulation. You may also think of RENO as a "visual spreadsheet" — a way to work with data and equations graphically, clearly showing the connections. Simulation confers the added benefit of being able to evaluate the evolution of systems and scenarios over time.


The software supports the modeling of complex dependent probabilistic events. Applications include, but are not limited to, risk analysis, safety analysis, complex reliability modeling, maintenance, optimization and operational research problems. The following is an example that illustrates an application of RENO to assess the reliability of a system.


A company manufactures UV systems for a wide range of applications. The UV bulbs degrade over time and if the minimum intensity requirement is not reached, the system is considered to be failed. Depending on the application, the reliability requirements are different. Therefore the company needs to decide how many bulbs a system will contain based on the application they are selling the equipment for.


As a first step, the reliability engineer at the company gathers degradation data for a number of bulbs so that an appropriate degradation model can be found. Given the data, she determines that the best model is an exponential model of the following form:




where the units of intensity are W/cm2 and the a and b parameters are given as follows:


Unit ID

Parameter a

 Parameter b







Std. Dev.




The goal of this study is to obtain a plot of the reliability of the system vs. time and the number of bulbs for a required minimum system intensity of 5 W/cm2.


RENO Solution
RENO has different resources available for building a model. On one hand, a Flowchart can be used with different types of building blocks (Constructs). On the other hand, Definitions can be used globally to manipulate the data. It is a good idea to start by drawing a general flowchart of the problem before getting started so that the user has a clear idea of what needs to be done. (As the expertise of the user increases, this step might not be necessary, depending on the complexity of the problem.) One solution is presented next:



This process will be repeated X times, or X simulations, so that we can arrive at the desired answers. We are now ready to start with a RENO model.


To begin, define the Function representing the degradation model for the intensity of one bulb, Eqn. (1), as shown next.



Next, define the Random Variables to describe the parameters a and b of the degradation model, as shown next.





You can then define two Constants, Time and N. Constants, as their name implies, hold a fixed numerical value. However, they can be varied across different simulations so that their effect in the model can be quantified.





Next, define a Constant for the required minimum system intensity, as shown next.



Define a Storage Variable that will save the intensity of the system for a given simulation, as shown next.


Now that the resources needed have been defined, the Flowchart can be built. Note that the process shown is for illustrative purposes only-- the order in which the Definitions and Constructs are created should not affect the ability to arrive at the desired results.


The main Flowchart and its Constructs are shown below:

Click to enlarge

[Click to enlarge]


Note that the "System Intensity" Block has the shape of a folder. This denotes a Subchart, which represents a linked flowchart. When the Subchart Block is encountered, the linked flowchart is executed. The subchart, which is responsible for calculating the systems intensity, is shown next:



The "Start" and "Go to Start" blocks are Flag and Go to Flag constructs, respectively, which allow looping inside the flowchart for each bulb in the system. When the "Go to Start" block is encountered, the current point in the simulation is set to "Start."





The "Update Intensity" block, shown below, is a Standard Block that calculates the intensity of one bulb by calling the previously defined function, "Intensity". The current "Time" is passed to it, as well as the Random Variables a and b. The total system intensity is then updated by setting the current value of the "System_Intensity" Storage Variable to the resulting value of "Update Intensity." Note the use of the intrinsic function RESET_RV. In general, Random Variables are drawn at the beginning of each simulation. However, we need N of such variables within a single simulation, so RESET_RV forces a new variable to be drawn every time this block is reached.


Define the Counter Block "Counter" to keep a count of how many times the block was executed so that the loop can be stopped when its value reaches N:



Define the Conditional Block "N Bulbs Done?", which checks whether the loop has been executed N times. If it has, the TRUE path is executed and the execution of this flowchart is terminated. Otherwise, the "Go to Start" block gets executed, starting a new loop.


Once N loops have been executed, the Standard Block "Return System Intensity" returns the system intensity that has been calculated for this particular simulation.


After running 1000 simulations, varying Time from 250 to 5000 and N from 1 to 5, we can plot the results stored in the Storage Variable Reliability (%).

Click to enlarge

[Click to enlarge]


Figure 17: Reliability (%) vs. Time, N = 1 to 5


Figure 18: 3D Plot of the Reliability of the System

Copyright 2006 ReliaSoft Corporation, ALL RIGHTS RESERVED