Reliability HotWire: eMagazine for the Reliability Professional
Reliability HotWire

Issue 24, February 2003

Hot Topics

Imperfect Repair 

In many cases, at the conclusion of a repair, preventive maintenance action or inspection for a component, it is assumed that the component is returned to an as good as new condition (or replacement). This means that the age of the component is returned to time equals zero. However, this may not always be the case. In fact, the age of the component after the repair may be a percentage of its age at the time when the repair took place. BlockSim 6 allows you to specify a restoration factor, which is used to determine the age of the component once the maintenance action has been completed. This article will explore the concept of the restoration factor and how it can be applied within BlockSim.


The restoration factor (RF) is a value between 0 and 1. An RF equal to 0 indicates that no rejuvenation takes place after the maintenance action, while an RF equal to 1 indicates that the component is repaired to a condition that is as good as new. As an example of how the restoration factor is applied, consider an automotive engine that fails after 6 years of operation and the engine is then rebuilt. The rebuild process has the effect of rejuvenating the engine as if it were only 3 years old. In this case, the restoration factor is equal to 0.5. The engine fails again after 4 years and another rebuild is required. This rebuild will also restore the engine by 50%. Therefore, after the second rebuild, the engine will have an age of 3.5 years. However, the first time-to-failure was 6 years and the second time-to-failure was 4 years, so should the age at the end of the second rebuild be 5 years? The answer is "no" because the age of the engine at the completion of the first rebuild was not equal to 6 years; its age was equal to 3 years. If you add the second time-to-failure of 4 years and multiply it by (1 - RF), then you end up with the correct result of 3.5 years. Eqn. (1) below indicates how to calculate the age of the component at the end of the maintenance action.



AgeRepair = age of the component at the end of the maintenance action

AgeInitial =  age of the component immediately after the previous maintenance action had been completed

TComponent = amount of time that the component has operated, relative to the last maintenance action

RF =  restoration factor

The above example assumes that the rebuild took place instantly and details about a failure distribution were not given for the engine. So if a failure distribution was specified for the engine, how would the calculations relative to the restoration factor change? As an example, the failure distribution of the engine is a 2-parameter Weibull distribution with β = 1.5, η = 10 years. Assume instant repair, start time is equal to 0 and the restoration factor is equal to 0.5.

Step 1: Generate a random reliability value, R = 0.7021885.

Step 2: Calculate the time-to-failure based on the given reliability, TComponent = 5 years.

Step 3: The engine is rebuilt. From Eqn. (1) calculate the age of the engine after the rebuild given the restoration factor.


Step 4: Generate the next reliability value, R = 0.8129686.

Note that if the engine had been rebuilt to as good as new (RF = 1) or replaced with a new one, then the next failure would have been at 8.5 years (5 + 3.5) since 3.5 years corresponds to the time where reliability is equal to 0.8129686.

Step 5: Calculate the next time-to-failure using the conditional reliability equation.

Step 6: The time corresponding to a reliability of 0.7174423 is equal to 4.8 years. However, remember that the engine had an initial age of 2.5 years at the end of the first rebuild. Thus:

So the engine will operate an additional 2.3 years before it fails again. Therefore, the next failure time is equal to:

Step 7: The engine is rebuilt. From Eqn. (1), determine the new age of the engine.

Therefore, the age of the engine after the second time it was rebuilt is 2.4 years. In this case, it is interesting to note that the age of the engine at the end of the second rebuild is younger than at the end of the first rebuild. This is due to the fact that the second time-to-failure was relatively short. To repeat the process, go to step 4.

Example Using BlockSim 6

To illustrate how the restoration factor can be applied in BlockSim 6, consider the single block system shown in Figure 1. The purpose of this example is to compare the simulation results for RF = 1 and RF = 0.25. To keep the analysis simple, the repair time will be set to a fixed duration equal to 10 hours. Keep in mind, however, that it is also possible to define a repair distribution to determine how long it takes to complete the maintenance action.

RBD for a single block system

Figure 1: RBD for a single block system

The first simulation will be conducted with RF = 1. Block A's failure distribution is a 2-parameter Weibull (γ = 0) with β = 2 and η = 100 hours, as shown in Figure 2.

Block Properties window

Figure 2: Block Properties window

The RF and duration of the maintenance action can be set by clicking the Maintenance tab on the left side of the Block Properties window. The Corrective page of the Maintenance tab will appear and the options on the page will be disabled. Select Can Maintain Correctively and the options on the Corrective page will become enabled. Select Fixed Duration and enter 10 for the repair duration, which indicates that each repair on Block A will take 10 hours. Next, set the Restoration Factor equal to 1. The Block Properties window with the specified maintenance settings is shown in Figure 3.

Maintenance properties

Figure 3: Maintenance properties

Accept the properties by clicking OK. Upon running a single simulation for Block A, the Block Up/Down plot can be used to view the failures and repair actions that took place, as shown in Figure 4.

Block Up/Down plot for RF = 1

Figure 4: Block Up/Down plot for RF = 1

The plot is divided into two parts: A and System. Since there is only one block in the system, the two parts are equivalent. If there were multiple blocks in the system, then the system and component results would be different. The green lines indicate points in time when Block A was in operation. The black lines indicate the corrective actions that took place. Notice that each of these corrective maintenance actions are of equal length (10 hours, as specified in the Block Properties window). There were a total of four failures before 500 hours and Block A was still in operation at 500 hours. The Block Up/Down plot for RF = 0.25 is displayed in Figure 5.

Block Up/Down plot for RF = 0.25

Figure 5: Block Up/Down plot for RF = 0.25

If you compare the two plots, you will notice that they are obviously different. In Figure 5, Block A failed eight times. This is due to the fact that the restoration factor was only set to 0.25. Upon each corrective action, there was only a 25% reduction in the age of the component (i.e. 25% rejuvenation). The component was not repaired to as good as new, therefore the component failed more often. However, in Figure 4, Block A was repaired to as good as new and thus failed less often.

Additional information on BlockSim can be found at


ReliaSoft Corporation

Copyright 2003 ReliaSoft Corporation, ALL RIGHTS RESERVED