Building reliable and efficient distributed applications remains a complex task. The main effort is involved not in transparent object access but in dealing with latency, concurrency and partial failure. The analysis of distributed applications at run time is an important software engineering activity that can help in isolating and correcting programming errors, identifying performance problems and detecting stability weaknesses.
We present a monitoring environment that supports the dynamic analysis of various aspects of distributed object-oriented applications. We use well-known monitoring techniques such as the analysis of communication relationships based on either real-world time, partially ordered logical time or totally ordered logical time. In addition to communication events, we focus on aspects especially important for distributed applications, such as transmission amount and frequency, effectiveness of error management, appropriate distribution of class code and degree of server concurrency.
The presented environment provides an extensible and adaptable object-oriented architecture of both the monitoring front-end that is used for data-acquisition and the monitoring back-end that is needed for the visualization and interpretation of the collected data. Our design allows attaching multiple independent analysis tools dynamically and supports user-defined events in addition to predefined ones.
R. Weinreich, W. Kurschl, Dynamic Analysis of Distributed Object-Oriented Applications, Proceedings of the 31st Hawaii International Conference on System Sciences (HICSS-31),Software Technology, Big Island of Hawaii, USA, January 6 - 9, 1998, IEEE Computer Society Press 1998.