Skip to main content
Log in

A quality driven extension to the QVT-relations transformation language

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Listing 1
Listing 2
Fig. 2
Listing 3
Fig. 3
Listing 4
Fig. 4
Listing 5
Listing 6
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. From this point ahead, we will use interchangeably the terms alternative, solution and variant.

  2. More details are available later and on the QVTR2 website at http://code.google.com/p/qvtr2/.

  3. Publicly available on the QVTR2 website at http://code.google.com/p/qvtr2/.

References

  1. Proceedings of the international workshop on software and performance (WOSP). ACM, New York

  2. Alur D, Crupi J, Malks D (2003) Core J2EE patterns: best practices and design strategies. Sun Microsystems Press, Indianapolis

    Google Scholar 

  3. 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

    Google Scholar 

  4. Becker S, Koziolek H, Reussner R (2007) Model-based performance prediction with the Palladio component model. In: WOSP. ACM, New York, pp 54–65

    Google Scholar 

  5. Bertoli M, Casale G, Serazzi G (2009) JMT: performance engineering tools for system modeling. ACM SIGMETRICS Perform Eval Rev 36(4):10–15

    Article  Google Scholar 

  6. Bézivin J (2005) On the unification power of models. Softw Syst Model 4(2):171–188

    Article  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. Bézivin J, Jouault F, Valduriez P (2004) On the need for megamodels. In: Generative programming and component engineering (GPCE) workshop

    Google Scholar 

  9. 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

  10. 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

    Google Scholar 

  11. Cortellessa V, Martens A, Reussner R, Trubiani C (2010) A process to effectively identify “guilty” performance antipatterns. In: FASE

    Google Scholar 

  12. Czarnecki K, Helsen S (2006) Feature-based survey of model transformation approaches. IBM Syst J 45(3):621–646

    Article  Google Scholar 

  13. 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

    Google Scholar 

  14. France RB, Rumpe B (2007) Model-driven development of complex software: a research roadmap. In: Future of software engineering, FOSE ’07, pp 37–54

    Chapter  Google Scholar 

  15. 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

    Google Scholar 

  16. Grunske L (2006) Identifying “good” architectural design alternatives with multi-objective optimization strategies. In: ICSE. ACM, New York

    Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. Hettel T, Lawley M, Raymond K (2008) Model synchronisation: Definitions for round-trip engineering. In: ICMT. LNCS, vol 5063, pp 31–45

    Google Scholar 

  19. IBM: Java emitter templates. URL http://www.eclipse.org/modeling/m2t/?project=jet

  20. IKV++ technologies ag: Medini-qvt. URL http://projects.ikv.de/qvt

  21. 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

    Google Scholar 

  22. Jacobson I, Griss M, Jonsson P (1997) Software reuse: architecture, process and organization for business success. ACM Press, New York

    Google Scholar 

  23. Jouault F, Allilaire F, Bézivin J, Kurtev I (2008) Atl: a model transformation tool. Sci Comput Program 72(1–2):31–39

    Article  MATH  Google Scholar 

  24. Kurtev I (2005) Adaptability of model transformations. PhD thesis, University of Twente, Twente, Netherlands

  25. Lau SQ, Czarnecki K (2006) Domain analysis of e-commerce systems using feature-based model templates. Master’s thesis, University of Waterloo, Canada

  26. 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

    Google Scholar 

  27. Lazowska E, Zahorjan J, Graham GKCS (1984) Quantitative system performance: computer system analysis using queueing network models. Prentice Hall, New York

    Google Scholar 

  28. 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.

    Google Scholar 

  29. Merilinna J (2005) A tool for quality-driven architecture model transformation. PhD thesis, VVT Technical Research Centre of Finland, Vuorimiehentie, Finland

  30. Microsystems S (2010) Java pet store 2.0 reference application—blueprints. https://blueprints.dev.java.net/petstore/ (Last Accessed 2010)

  31. 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

    Google Scholar 

  32. Nicola M, Jarke M (2000) Performance modeling of distributed and replicated databases. IEEE Trans Knowl Data Eng 12:645–672

    Article  Google Scholar 

  33. Object Management Group (OMG) (2008) Mof QVT specification 1.0

  34. Object Management Group (OMG) (2010) Unified modeling language (uml) 2.3, superstructure

  35. Oldevik J, Haugen Ø (2007) Higher-order transformations for product lines. In: SPLC, pp 243–254. IEEE Press, New York

    Google Scholar 

  36. 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

    Article  Google Scholar 

  37. Parsons T (2005) A framework for detecting performance design and deployment antipatterns in component based enterprise systems. In: DSM. ACM, New York

    Google Scholar 

  38. Petri CA (1962) Kommunikation mit Automaten. PhD thesis, University of Bonn

  39. Pohl K, Böckle G, Linden FJVD: Software product line engineering: foundations, principles and techniques. Springer, Berlin (2005)

    Book  Google Scholar 

  40. 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

    Chapter  Google Scholar 

  41. Sendall S, Kozaczynski W (2003) Model transformation: the heart and soul of model-driven software development. IEEE Softw 20:42–45

    Article  Google Scholar 

  42. Sijtema M (2010) Managing variability in model transformations for model-driven product lines. Master’s thesis, University of Twente, Enschede, The Netherlands

  43. 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

    Google Scholar 

  44. Tata Research Inc. Modelmorf. URL www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.htm

  45. 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

    Google Scholar 

  46. 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

    Google Scholar 

  47. Xu J (2008) Rule-based automatic software performance diagnosis and improvement. In: WOSP. ACM, New York

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Mauro Luigi Drago.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-011-0202-0

Keywords

Navigation