Automated Extraction of Palladio Component Models from Running Enterprise Java Applications
Project of University of Karlsruhe with Oracle USA, Inc.
Project period: since Sept. 2008
To ensure that a software system meets its performance requirements during system operation, the ability to predict its performance under different configurations and workloads is highly valuable. For performance prediction, we need performance models. However, building predictive performance models manually requires a lot of time and effort. Current performance analysis tools used in industry mostly focus on profiling and monitoring transaction response times and resource consumption. Such tools often provide large amounts of low level data which is irrelevant to the models while important information about, e.g. the resource demands of individual components is missing.
In this thesis we develop a method for semi-automated extraction of Palladio Component Model (PCM) instances of Java EE applications based on monitoring data collected during operation. PCM is a domain-specific modelling language to describe performance-relevant information of a component-based architecture. We implement the developed method in a tool prototype. To obtain monitoring data we use state-of-the-art, industrial monitoring tools available for the current version of the Oracle WebLogic Server Platform. We evaluated the approach in the context of a case study with a real-world enterprise application (a beta version of the successor of the SPECjAppServer2004 benchmark). Even though the extraction of PCM instances require some intervention, the prototype we implemented provides a proof-of-concept showing how the existing gap between low level monitoring data and high level performance models can be closed.