Optimal component selection of COTS based software system under recovery block scheme incorporating execution time

For the effective development of the faulttolerant software system, cost, reliability and time are the important aspects to be considered. Ideally, any software system must be constructed in such a way that execution can resume even after failure without the loss of data and time. Such software systems which can continue execution even after the occurrence of faults are called fault tolerant software. Software is developed to perform a pre-decided number of functions that can be executed by the software system. When fault occurs, one of the redundant components get executed and prevents system failure. Advancement of technology and increasing software development cost has made the use of commercial off-the-shelf (COTS) software which builds system with reduced risk, cost and development time while increasing functionality and capability of the system. In this paper, two reliability models for fault tolerant recovery blocks are discussed. In the first optimization model, we formulate a joint optimization problem in which reliability maximization of software system and execution time minimization for each function of software system are considered under budgetary constraint. In the second model the issue of compatibility among alternatives available for different modules, is discussed. Numerical illustrations are provided to demonstrate the models developed in this paper.