Architectural specification and optimal deployment of distributed systems

Date of Completion

January 2000


Computer Science




The tasks of architecting, deploying and managing a distributed system are related, but they are generally performed independently. Architectural design is essential for complex distributed applications, and it substantially impacts the deployment of the complete system. Architectural specifications define the key aspects of the system, including distributability, scalability and extensibility, and target platforms and networks. Such specifications constrain, and in some cases determine, the possible system deployment patterns in a distributed environment. It is important to understand the impact of architecture on system deployment and architectural specifications should provide some means for quantifying the efficiency of possible deployments. Towards this end, we have developed an integrated graphical and textual specification framework, called I5 , that organizes the information about a system at multiple levels of abstraction. The specifications address the interface, implementation, integration, instantiation and installation aspects of a system, including both software and hardware features. We extended the framework with parameters used to automate the derivations of optimized system deployment with respect to different parameters; the optimization of the deployment is done using a binary integer programming model. ^