Towards quality driven exploration of model transformation spaces

Verifying that a software system has certain nonfunctional properties is a primary concern in many engineering fields. Although several model-driven approaches exist to predict quality attributes from system models, they still lack the proper level of automation envisioned by Model Driven Software Development. When a potential issue concerning non-functional properties is discovered, the identification of a solution is still entirely up to the engineer and to his/her experience. This paper presents QVT-Rational, our multi-modeling solution to automate the detection-solution loop. We leverage and extend existing model transformation techniques with constructs to elicit the space of the alternative solutions and to bind quality properties to them. Our framework is highly customizable, it supports the definition of nonfunctional requirements and provides an engine to automatically explore the solution space. We evaluate our approach by applying it to two well-known software engineering problems -- Object-Relational Mapping and components allocation -- and by showing how several solutions that satisfy given performance requirements can be automatically identified.

[1]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[2]  Trevor Parsons,et al.  A framework for detecting performance design and deployment antipatterns in component based enterprise systems , 2005, DSM '05.

[3]  Ethan K. Jackson,et al.  Components, platforms and possibilities: towards generic automation for MDA , 2010, EMSOFT '10.

[4]  Lars Grunske,et al.  ArcheOpterix: An extendable tool for architecture optimization of AADL models , 2009, 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software.

[5]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[6]  Felix Bachmann,et al.  Using ArchE in the Classroom: One Experience , 2007 .

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

[8]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[9]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[10]  John Crupi,et al.  Core J2EE Patterns: Best Practices and Design Strategies , 2001 .

[11]  Séverine Sentilles,et al.  ProCom - the Progress Component Model Reference Manual, version 1.0 , 2008 .

[12]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[13]  Ivan Kurtev Ivanov,et al.  Adaptability of model transformations , 2005 .

[14]  Gabor Karsai,et al.  MDE-based approach for generalizing design space exploration , 2010, MODELS'10.

[15]  Jing Xu,et al.  Rule-based automatic software performance diagnosis and improvement , 2008, WOSP '08.

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

[17]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[18]  Silvia Mara Abrahão,et al.  Design guidelines for the development of quality-driven model transformations , 2010, MODELS'10.

[19]  Carlo Ghezzi,et al.  A quality driven extension to the QVT-relations transformation language , 2011, Computer Science - Research and Development.

[20]  Connie U. Smith,et al.  New Book - Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software , 2001, Int. CMG Conference.

[21]  Vittorio Cortellessa,et al.  A Process to Effectively Identify "Guilty" Performance Antipatterns , 2010, FASE.

[22]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[23]  José Merseguer,et al.  Performance by unified model analysis (PUMA) , 2005, WOSP '05.

[24]  Vincenzo Grassi,et al.  KlaperSuite: An Integrated Model-Driven Environment for Reliability and Performance Analysis of Component-Based Systems , 2011, TOOLS.

[25]  Sean Quan Lau Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates , 2006 .

[26]  Maria Luisa Villani,et al.  An approach for QoS-aware service composition based on genetic algorithms , 2005, GECCO '05.