Discrete Event Simulation Tool, Example 2, Comparison to MIL-HDBK-338

In this example, we use the Discrete Event Simulation tool in the Reliability Analytics Toolkit to simulate system availability for a problem presented in MIL-HDBK-338, Reliability Design Handbook (page 10-42), as shown below.

Based on the information provided in the above reliability block diagram (RBD), the MTBF and MTTR for the five subsystems is entered into input box #1, as highlighted below. The RBD indicates that all subsystems are critical; therefore, any failure will result in a critical failure. Therefore, we enter each subsystem, one per line, into input box #2. 20 trials of length 8,760 hours are simulated using a seed of 1.  Setting the seed allows the same results for the same inputs at a future time.  If the seed input is left blank, the system will randomly choose a starting seed and results will be similar from simulation-to-simulation, but not exactly the same.

The picture below shows the simulated results for 20 trials. The simulated system availability is 73.58%, which compares well to the 0.73534 (73.534%) calculated above in MIL-HDBK-338B example.

The underlying discrete event simulation engine is SimPy (Simulation in Python), which runs on the Google App Engine. See the references listed below for additional details on SimPy.


  1. SimPy Home Page
  2. Matloff, Norm, University of California at Davis, Dept. of Computer Science, Introduction to Discrete-Event Simulation and the SimPy Language
  3. Matloff, Norm, University of California at Davis, Dept. of Computer Science, A Discrete-Event Simulation Course Based on the SimPy Language
  4. Python pseudo-random number generator