Article ID: | iaor20071031 |
Country: | Singapore |
Volume: | 22 |
Issue: | 1 |
Start Page Number: | 1 |
End Page Number: | 18 |
Publication Date: | Mar 2005 |
Journal: | Asia-Pacific Journal of Operational Research |
Authors: | Levitin Gregory |
Keywords: | scheduling, heuristics: genetic algorithms |
This paper considers software systems consisting of fault-tolerant components. These components are built from functionally equivalent but independently developed versions characterized by different reliability and execution times. Because of resource constraints, the number of versions that can run simultaneously is limited. The expected system execution time and its reliability (defined as probability of obtaining the correct output within a specified time) strictly depends on the sequence of versions execution. Different sequences can provide either maximal system reliability or minimal expected execution time. An optimization procedure is suggested for finding such sequences. The procedure is based on an algorithm for determining system execution time distribution that uses the moment generating function approach and on the genetic algorithm. Both N-version programming and the recovery block scheme are considered within a universal model. An illustrated example is presented.