Parametric performance completions for model-driven performance prediction

Performance prediction methods can help software architects to identify potential performance problems, such as bottlenecks, in their software systems during the design phase. In such early stages of the software life-cycle, only a little information is available about the system's implementation and execution environment. However, these details are crucial for accurate performance predictions. Performance completions close the gap between available high-level models and required low-level details. Using model-driven technologies, transformations can include details of the implementation and execution environment into abstract performance models. However, existing approaches do not consider the relation of actual implementations and performance models used for prediction. Furthermore, they neglect the broad variety of possible implementations and middleware platforms, possible configurations, and possible usage scenarios. In this paper, we (i) establish a formal relation between generated performance models and generated code, (ii) introduce a design and application process for parametric performance completions, and (iii) develop a parametric performance completion for Message-oriented Middleware according to our method. Parametric performance completions are independent of a specific platform, reflect performance-relevant software configurations, and capture the influence of different usage scenarios. To evaluate the prediction accuracy of the completion for Message-oriented Middleware, we conducted a real-world case study with the SPECjms2007 Benchmark [http://www.spec.org/jms2007/]. The observed deviation of measurements and predictions was below 10% to 15%.

[1]  Ian Gorton,et al.  Evaluating the Performance of EJB Components , 2003, IEEE Internet Comput..

[2]  Steffen Becker Coupled model transformations , 2008, WOSP '08.

[3]  Steffen Becker,et al.  Model-Driven Generation of Performance Prototypes , 2008, SIPEW.

[4]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

[5]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[6]  Moreno Marzolla,et al.  Simulation-based performance modeling of UML software architectures , 2004 .

[7]  Bruce Powel Douglass Real-Time Design Patterns , 1999 .

[8]  Vincenzo Grassi,et al.  A Model Transformation Approach for the Early Performance and Reliability Analysis of Component-Based Systems , 2006, CBSE.

[9]  C. Murray Woodside,et al.  Performance-related completions for software specifications , 2002, ICSE '02.

[10]  Vittorio Cortellessa How far are we from the definition of a common software performance ontology? , 2005, WOSP '05.

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

[12]  Heiko Koziolek,et al.  A Model Transformation from the Palladio Component Model to Layered Queueing Networks , 2008, SIPEW.

[13]  Stephen Gilmore,et al.  Automatic extraction of PEPA performance models from UML activity diagrams annotated with the MARTE profile , 2008, WOSP '08.

[14]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[15]  Dorina C. Petriu,et al.  XSLT transformation from UML models to LQN performance models , 2002, WOSP '02.

[16]  Piet Demeester,et al.  Automatic inclusion of middleware performance attributes into architectural UML software models , 2005, IEEE Transactions on Software Engineering.

[17]  Xin Wang,et al.  From UML Descriptions of High-Level Software Architectures to LQN Performance Models , 1999, AGTIVE.

[18]  C. Murray Woodside,et al.  Performance modeling from software components , 2004, WOSP '04.

[19]  Richard Monson-Haefel,et al.  Java message service , 2000 .

[20]  Marco Bernardo,et al.  Formal Methods for Performance Evaluation, 7th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2007, Bertinoro, Italy, May 28-June 2, 2007, Advanced Lectures , 2007, SFM.

[21]  Steffen Becker,et al.  The palladio component model , 2010, WOSP/SIPEW '10.

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

[23]  C. Murray Woodside,et al.  Resource Function Capture for Performance Aspects of Software Components and Sub-Systems , 2001, Performance Engineering.

[24]  Daniel A. Menascé,et al.  Design and performance modeling of component interconnection patterns for distributed software architectures , 2000, WOSP '00.

[25]  Steffen Becker,et al.  Coupled model transformations for QoS enabled component-based software design , 2010 .

[26]  Samuel Kounev,et al.  Designing a Workload Scenario for Benchmarking Message-Oriented Middleware , 2007 .

[27]  Vittorio Cortellessa,et al.  Integrating Software Models and Platform Models for Performance Analysis , 2007, IEEE Transactions on Software Engineering.

[28]  Samuel Kounev,et al.  Workload Characterization of the SPECjms2007 Benchmark , 2007, EPEW.

[29]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[30]  Paola Inverardi,et al.  Compositional generation of software architecture performance QN models , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[31]  Steffen Becker,et al.  Parameter Dependent Performance Specifications of Software Components , 2006, QoSA.

[32]  David A. Freedman,et al.  Statistical Models: Theory and Practice: References , 2005 .

[33]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[34]  Giovanni Denaro,et al.  Early performance testing of distributed software applications , 2004, WOSP '04.

[35]  Alan Fekete,et al.  Design-level performance prediction of component-based applications , 2005, IEEE Transactions on Software Engineering.

[36]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[37]  Paola Inverardi,et al.  Integrating Performance and Reliability Analysis in a Non-Functional MDA Framework , 2007, FASE.

[38]  Steffen Becker,et al.  A pattern-based performance completion for Message-oriented Middleware , 2008, WOSP '08.

[39]  Ulrich Herzog,et al.  Formal Methods for Performance Evaluation , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

[40]  Michael Menth,et al.  Analysis of the Message Waiting Time for the FioranoMQ JMS Server , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

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

[42]  Samuel Kounev,et al.  Article in Press Performance Evaluation Performance Evaluation of Message-oriented Middleware Using the Specjms2007 Benchmark , 2022 .