Skip to Main Content
Distributed applications address the needs of heterogeneous networks of human activities, therefore they must consist of balanced, relatively autonomous intercommunicating components. Unfortunately, real-world systems do often not follow these requirements, or their architecture gets degraded in time by many ad-hoc changes. Consequently, these systems have to go frequently through the costly and oftentimes manually-performed operation of restructuring services and their inter-connections. This paper introduces a restructuring technique for distributed systems that supports an architect in performing a cost-aware analysis of various restructuring scenarios. The technique enables the engineer/architect to explore and evaluate the impact of the restructuring process at a fine-grained level, by providing both a forecast of the restructuring outcome, and the projected cost of the process itself. The approach described is mainly based on a suite of novel coupling metrics, a new algorithm that builds the forecast of the restructured architecture, and a formula for computing the cost. The approach was successfully applied on a commercial distributed framework implemented using RMI and in this paper we summarize the findings and the practical experience. Although the technique was developed for the specific case of distributed systems, we are confident that it can be easily generalized to a larger class of applications.
Date of Conference: 27-29 Aug. 2009