Abstract
An emerging approach to software development is Model Driven Software Development (MDSD). It shifts the focus from source code to models, aims at cost reduction, risk mitigation, and eases the engineering of complex applications. System models can be used in the early development stages to verify certain relevant properties, such as performance, before source code is available and problems become hard and costly to solve. The present status of Model Driven Engineering (MDE) is still far from this ideal situation. A well-known problem is feedback provisioning, which arises when different solutions for the same design problem exist. An approach for feedback provisioning automation leverages model transformations, which glue together models in an MDSD setting, encapsulate the design rationale, and promote knowledge reuse and solutions otherwise available only to experienced engineers. In this article we present QVTR2, our solution to the feedback problem. QVTR2 is an extension of the QVT-Relations language with constructs to express design alternatives, their impact on non-functional metrics, and how to evaluate them and guide the engineers in the selection of the most appropriate solution. We demonstrate the effectiveness of our solution by using the QVTR2 engine to perform a modified version of the standard UML-to-RDBMS transformation in the context of a real e-commerce application, and by showing how we can guide a non-expert engineer in the selection of a solution that satisfies given performance requirements.
Similar content being viewed by others
Notes
From this point ahead, we will use interchangeably the terms alternative, solution and variant.
More details are available later and on the QVTR2 website at http://code.google.com/p/qvtr2/.
Publicly available on the QVTR2 website at http://code.google.com/p/qvtr2/.
References
Proceedings of the international workshop on software and performance (WOSP). ACM, New York
Alur D, Crupi J, Malks D (2003) Core J2EE patterns: best practices and design strategies. Sun Microsystems Press, Indianapolis
Avila-García O, Estévez A, Rebull EVS (2007) Using software product lines to manage model families in model-driven engineering. In: SAC. ACM, New York
Becker S, Koziolek H, Reussner R (2007) Model-based performance prediction with the Palladio component model. In: WOSP. ACM, New York, pp 54–65
Bertoli M, Casale G, Serazzi G (2009) JMT: performance engineering tools for system modeling. ACM SIGMETRICS Perform Eval Rev 36(4):10–15
Bézivin J (2005) On the unification power of models. Softw Syst Model 4(2):171–188
Bézivin J (2006) Model driven engineering: an emerging technical space. In: Generative and transformational techniques in software engineering (GTTSE). LNCS, vol 4143. Springer, Berlin, pp 36–64
Bézivin J, Jouault F, Valduriez P (2004) On the need for megamodels. In: Generative programming and component engineering (GPCE) workshop
Bures T, Carlson J, Crnkovic J, Sentilles S, Vulgarakis A (2008) Procom—the progress component model reference manual, version 1.0. Tech. rep. MHD-MRTC-230/2008-1-SE, Malardalen University
Canfora G, Di Penta M, Esposito R, Villani ML (2005) An approach for qos-aware service composition based on genetic algorithms. In: GECCO. ACM, New York. http://doi.acm.org/10.1145/1068009.1068189
Cortellessa V, Martens A, Reussner R, Trubiani C (2010) A process to effectively identify “guilty” performance antipatterns. In: FASE
Czarnecki K, Helsen S (2006) Feature-based survey of model transformation approaches. IBM Syst J 45(3):621–646
Drago M, Ghezzi C, Mirandola R (2010) QVTR2: a rational and performance-aware extension to the relations language. In: NFPinDSML workshop at MoDELS. CEUR workshop proceedings
France RB, Rumpe B (2007) Model-driven development of complex software: a research roadmap. In: Future of software engineering, FOSE ’07, pp 37–54
Grassi V, Mirandola R, Sabetta A (2005) From design to analysis models: a kernel language for performance and reliability analysis of component-based systems. In: WOSP. ACM, New York, pp 25–36
Grunske L (2006) Identifying “good” architectural design alternatives with multi-objective optimization strategies. In: ICSE. ACM, New York
Grunske L, Geiger L, Lawley M (2005) A graphical specification of model transformations with triple graph grammars. In: Model driven architecture, foundations and applications. LNCS, vol 3748. Springer, Berlin, pp 284–298
Hettel T, Lawley M, Raymond K (2008) Model synchronisation: Definitions for round-trip engineering. In: ICMT. LNCS, vol 5063, pp 31–45
IBM: Java emitter templates. URL http://www.eclipse.org/modeling/m2t/?project=jet
IKV++ technologies ag: Medini-qvt. URL http://projects.ikv.de/qvt
Insfrán E, Gonzalez-Huerta J, Abrahão S (2010) Design guidelines for the development of quality-driven model transformations. In: MoDELS. LNCS, vol 6395. Springer, Berlin, pp 288–302
Jacobson I, Griss M, Jonsson P (1997) Software reuse: architecture, process and organization for business success. ACM Press, New York
Jouault F, Allilaire F, Bézivin J, Kurtev I (2008) Atl: a model transformation tool. Sci Comput Program 72(1–2):31–39
Kurtev I (2005) Adaptability of model transformations. PhD thesis, University of Twente, Twente, Netherlands
Lau SQ, Czarnecki K (2006) Domain analysis of e-commerce systems using feature-based model templates. Master’s thesis, University of Waterloo, Canada
Lawley M, Steel J (2005) Practical declarative model transformation with tefkat. In: Model transformations in practice workshop at MoDELS 2005. LNCS, vol 3844. Springer, Berlin, pp 139–150
Lazowska E, Zahorjan J, Graham GKCS (1984) Quantitative system performance: computer system analysis using queueing network models. Prentice Hall, New York
Martens A, Koziolek H, Becker S, Reussner R (2010) Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: WOSP/SIPEW.
Merilinna J (2005) A tool for quality-driven architecture model transformation. PhD thesis, VVT Technical Research Centre of Finland, Vuorimiehentie, Finland
Microsystems S (2010) Java pet store 2.0 reference application—blueprints. https://blueprints.dev.java.net/petstore/ (Last Accessed 2010)
Muller P, Fleurey F, Drey Z, Pollet D, Fondement F (2005) On executable meta-languages applied to model transformations. In: Model transformations in practice workshop at MoDELS 2005
Nicola M, Jarke M (2000) Performance modeling of distributed and replicated databases. IEEE Trans Knowl Data Eng 12:645–672
Object Management Group (OMG) (2008) Mof QVT specification 1.0
Object Management Group (OMG) (2010) Unified modeling language (uml) 2.3, superstructure
Oldevik J, Haugen Ø (2007) Higher-order transformations for product lines. In: SPLC, pp 243–254. IEEE Press, New York
Osman R, Awan I, Woodward ME (2009) Application of queueing network models in the performance evaluation of database designs. Electron Notes Theor Comput Sci 232:101–124
Parsons T (2005) A framework for detecting performance design and deployment antipatterns in component based enterprise systems. In: DSM. ACM, New York
Petri CA (1962) Kommunikation mit Automaten. PhD thesis, University of Bonn
Pohl K, Böckle G, Linden FJVD: Software product line engineering: foundations, principles and techniques. Springer, Berlin (2005)
Schürr A (1994) Specification of graph translators with triple graph grammars. In: 20th international workshop on graph-theoretic concepts in computer science (WG). LNCS, vol 903. Springer, Berlin, pp 151–163
Sendall S, Kozaczynski W (2003) Model transformation: the heart and soul of model-driven software development. IEEE Softw 20:42–45
Sijtema M (2010) Managing variability in model transformations for model-driven product lines. Master’s thesis, University of Twente, Enschede, The Netherlands
Smith CU, Williams LG (2003) More new software antipatterns: even more ways to shoot yourself in the foot. In: Int CMG conference, pp 717–725
Tata Research Inc. Modelmorf. URL www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm
Tawhid R, Petriu DC (2008) Integrating performance analysis in the model driven development of software product lines. In: MoDELS. LNCS, vol 5301. Springer, Berlin, pp 490–504
Woodside M, Petriu DC, Petriu DB, Shen H, Israr T, Merseguer J (2005) Performance by unified model analysis (puma). In: WOSP. ACM, New York, pp 1–12
Xu J (2008) Rule-based automatic software performance diagnosis and improvement. In: WOSP. ACM, New York
Acknowledgements
This research was partially founded by the European Commission, IDEAS-ERC Project 227977-SMScom and EU FP7 Q-ImPrESS project.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Drago, M.L., Ghezzi, C. & Mirandola, R. A quality driven extension to the QVT-relations transformation language. Comput Sci Res Dev 30, 1–20 (2015). https://doi.org/10.1007/s00450-011-0202-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-011-0202-0