Restructuring object-oriented distributed systems: An impact-driven approach
Authors:
- 1 August 2009
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 199-206
Abstract
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.Keywords
This publication has 9 references indexed in Scilit:
- Understanding the Impact of Distribution in Object-Oriented Distributed Systems Using Structural Program Dependencies2008
- Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information RetrievalIEEE Transactions on Software Engineering, 2007
- Multiple Layer Clustering of Large Software Systems2006
- An approach to feature location in distributed systemsJournal of Systems and Software, 2006
- Software components capture using graph clustering2004
- Analyzing and understanding architectural characteristics of COM+ components2004
- Locating features in source codeIEEE Transactions on Software Engineering, 2003
- Using clustering to support the migration from static to dynamic web pages2003
- An Approach for Recovering Distributed System ArchitecturesAutomated Software Engineering, 2001