Automated extraction of palladio component models from running enterprise Java applications

Nowadays, software systems have to fulfill increasingly stringent requirements for performance and scalability. To ensure that a system meets its performance requirements during operation, the ability to predict its performance under different configurations and workloads is essential. Most performance analysis tools currently used in industry focus on monitoring the current system state. They provide low-level monitoring data without any performance prediction capabilities. For performance prediction, performance models are normally required. However, building predictive performance models manually requires a lot of time and effort. In this paper, we present a method for automated extraction of performance models of Java EE applications, based on monitoring data collected during operation. We extract instances of the Palladio Component Model (PCM) - a performance meta-model targeted at component-based systems. We evaluate the model extraction method in the context of a case study with a real-world enterprise application. Even though the extraction requires some manual intervention, the case study demonstrates that the existing gap between low-level monitoring data and high-level performance models can be closed.

[1]  Ralf H. Reussner,et al.  Palladio - Prediction of Performance Properties , 2007, CoCoME.

[2]  Yefim V. Natis,et al.  Magic Quadrant for Enterprise Application Servers , 2009 .

[3]  Heiko Koziolek,et al.  Towards Automatic Construction of Reusable Prediction Models for Component-Based Performance Engineering , 2008, Software Engineering.

[4]  Asser N. Tantawi,et al.  CPU demand for web serving: Measurement analysis and dynamic estimation , 2008, Perform. Evaluation.

[5]  Ralf H. Reussner,et al.  Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models , 2008, CBSE.

[6]  C. Murray Woodside,et al.  Interaction tree algorithms to extract effective architecture and layered performance models from traces , 2007, J. Syst. Softw..

[7]  Virgílio A. F. Almeida,et al.  Capacity Planning and Performance Modeling: From Mainframes to Client-Server Systems , 1994 .

[8]  Jerome A. Rolia,et al.  Trace-Based Load Characterization for Gernerating Performance Software Models , 1999, IEEE Trans. Software Eng..

[9]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Large-Scale J2EE Applications , 2003, Int. CMG Conference.

[10]  Jordi Torres,et al.  Complete instrumentation requirements for performance analysis of Web based technologies , 2003, 2003 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS 2003..

[11]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

[12]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[13]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[14]  Mark R. Gilbert,et al.  Magic Quadrant for Enterprise Content Management , 2008 .

[15]  Steffen Becker,et al.  Evaluating Performance of Software Architecture Models with the Palladio Component Model , 2009 .

[16]  Jörg Rech,et al.  Model-Driven Software Development - Integrating Quality Assurance , 2008 .

[17]  Steffen Becker,et al.  Predicting the Performance of Component-Based Software Architectures with Different Usage Profiles , 2007, QoSA.

[18]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets , 2006, IEEE Transactions on Software Engineering.

[19]  John Murphy,et al.  A framework for performance monitoring, modelling and prediction of component oriented distributed systems , 2002, WOSP '02.

[20]  Ralf Reussner,et al.  Reverse Engineering of Parametric Behavioural Service Performance Models from Black-Box Components , 2008 .

[21]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

[22]  Benjamin Klatt,et al.  Reverse Engineering Software-Models of Component-Based Systems , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[23]  Jerome A. Rolia,et al.  Parameter estimation for performance models of distributed application systems , 1995, CASCON.