Deployment and dynamic reconfiguration planning for distributed software systems

  • Authors:
  • Naveed Arshad;Dennis Heimbigner;Alexander L. Wolf

  • Affiliations:
  • Department of Computer Science, LUMS, Lahore, Pakistan;Department of Computer Science, University of Colorado at Boulder, Boulder, USA;Department of Computing, Imperial College London, London, UK

  • Venue:
  • Software Quality Control
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The quality of software systems are determined in part by their optimal configurations. Optimal configurations are desired when the software is being deployed and during its lifetime. However, initial deployment and subsequent dynamic reconfiguration of a software system is difficult because of the interplay of many interdependent factors, including cost, time, application state, and system resources. As the size and complexity of software systems increases, procedures (manual or automated) that assume a static software architecture and environment are becoming untenable. We have developed a novel technique for carrying out the deployment and reconfiguration planning processes that leverages recent advances in the field of temporal planning. We describe a tool called Planit, which manages the deployment and reconfiguration of a software system utilizing a temporal planner. Given a model of the structure of a software system, the network upon which the system should be hosted, and a goal configuration, Planit will use the temporal planner to devise possible deployments of the system. Given information about changes in the state of the system, network and a revised goal, Planit will use the temporal planner to devise possible reconfigurations of the system. We present the results of a case study in which Planit is applied to a system consisting of various components that communicate across an application-level overlay network.