Coupled model transformations

Model-driven performance prediction methods use abstract design models to predict the performance of the modelled system during early development stages. However, performance is an attribute of the running system and not its model. The system contains many implementation details not part of its model but still affecting the performance at run-time. Existing approaches neglect details of the implementation due to the abstraction underlying the design model. Completion components [26] deal with this problem, however, they have to be added manually to the prediction model. In this work, we assume that the system's implementation is generated by a chain of model transformations. In this scenario, the transformation rules determine the transformation result. By analysing these transformation rules, a second transformation can be derived which automatically adds details to the prediction model according to the encoded rules. We call this transformation a coupled transformation as it is coupled to an corresponding model-to-code transformation. It uses the knowledge on the output of the model-to-code transformation to increase performance prediction accuracy. The introduced coupled transformations method is validated in a case study in which a parametrised transformation maps abstract component connectors to realisations in different RPC calls. In this study, the corresponding coupled transformation captures the RPC's details with a prediction error of less than 5%.

[1]  Jing Xu,et al.  Performance analysis of security aspects in UML models , 2007, WOSP '07.

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

[3]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[4]  Klaus Krogmann,et al.  Reengineering of Software Component Models to Enable Architectural Quality of Service Predictions , 2007 .

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

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

[7]  Steffen Becker,et al.  Model-Based performance prediction with the palladio component model , 2007, WOSP '07.

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

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

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

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

[12]  Dorina C. Petriu,et al.  The Future of Software Performance Engineering , 2007, Future of Software Engineering (FOSE '07).

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

[14]  S. Mohan,et al.  Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software [Book Review] , 2003, IEEE Software.

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

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

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

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