In this paper, an MILP-based methodology is presented that allows to optimize the deployment of a set of software components over a set of computing resources, with respect to fault tolerance and response times. The MILP model takes into account the reliability and performance parameters of hardware nodes and links, and optimizes a (configurable) trade-off between reliability and performance by replicating software components where necessary and finding an optimal deployment for them. The complete system can be modeled using UML component diagrams and activity diagrams, and an algorithm is presented to transform the UML model to the MILP model. The resulting deployment can then be fed back into the UML model. The applicability of the approach is demonstrated through a case study.
['Barbara Boone', 'F. De Turck', 'Bart Dhoedt']
Automated Deployment of Distributed Software Components with Fault Tolerance Guarantees