skip to main content
10.1145/3365438.3410950acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections

An exploratory study on performance engineering in model transformations

Published:16 October 2020Publication History

ABSTRACT

Model-Driven Software Engineering (MDSE) is a widely used approach to deal with the increasing complexity of software. This increasing complexity also leads to the fact that the models used and the model transformations applied become larger and more complex as well. This means that the execution performance of model transformations is gaining in importance. While improving the performance of model transformation execution engines has been a focus of the MDSE-community in the past, there does not exist any empirical study on how developers of model transformation deal with performance issues. Consequently, we conducted an exploratory mixed method study consisting of a quantitative online survey and a qualitative interview study. We used a questionnaire to investigate whether the performance of a transformation is actually important for transformation developers and whether they have already tried to improve the performance of a model transformation. Subsequently, we conducted semi-structured interviews based on the answers to the questionnaire to investigate how transformation developers deal with performance issues, what causes and solutions they found and also what they think could help them to easier find causes. The results of the quantitative online survey show that 43 of 81 participants have already tried to improve the performance of a transformation and 34 of the 81 are sometimes or only rarely satisfied with the execution performance. Based on the answers from our 13 interviews, we identified different strategies to prevent or find performance issues in model transformations as well as different types of causes of performance issues and solutions. Finally, we compiled a collection of additional tool features perceived helpful by the interviewees to address performance issues.

References

  1. Moussa Amrani, Jürgen Dingel, Leen Lambers, Levi Lúcio, Rick Salay, Gehan Selim, Eugene Syriani, and Manuel Wimmer. 2012. Towards a Model Transformation Intent Catalog. In Proceedings of the First Workshop on the Analysis of Model Transformations (AMT '12). Association for Computing Machinery, New York, NY, USA, 3--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Paul Baker, Shiou Loh, and Frank Weil. 2005. Model-Driven Engineering in a Large Industrial Context --- Motorola Case Study. In Model Driven Engineering Languages and Systems. Springer, 476--491. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Gernot Veit Batz, Moritz Kroll, and Rubino Geiß. 2008. A First Experimental Evaluation of Search Plan Driven Graph Pattern Matching. In Proc. 3rd Intl. Workshop on Applications of Graph Transformation with Industrial Relevance (AGTIVE '07) (LNCS), Vol. 5088. Springer. http://www.info.uni-karlsruhe.de/papers/agtive_2007_search_plan.pdfGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  4. Amine Benelallam, Abel Gómez, Massimo Tisi, and Jordi Cabot. 2015. Distributed Model-to-Model Transformation with ATL on MapReduce. In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering (SLE 2015). Association for Computing Machinery, New York, NY, USA, 37--48.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Amine Benelallam, Massimo Tisi, Jesús Sánchez Cuadrado, Juan de Lara, and Jordi Cabot. 2016. Efficient Model Partitioning for Distributed Model Transformations. In Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering (SLE 2016). Association for Computing Machinery, New York, NY, USA, 226--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Lorenzo Bettini. 2016. Implementing domain-specific languages with Xtext and Xtend: learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices. http://proquest.tech.safaribooksonline.de/9781786464965 Online-Ressource (1 online resource (1 volume)).Google ScholarGoogle Scholar
  7. Artur Boronat. 2018. Expressive and Efficient Model Transformation with an Internal DSL of Xtend. In Proc. of the 21th International Conference on Model Driven Engineering Languages and Systems. ACM, New York, NY, USA, 78--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Roberto Bruni and Alberto Lluch-Lafuente. 2011. Evaluating the Performance of Model Transformation Styles in Maude. In FACS. 79--96.Google ScholarGoogle Scholar
  9. Loli Burgueño, Manuel Wimmer, and Antonio Vallecillo. 2016. A Linda-based platform for the parallel execution of out-place model transformations. Information and Software Technology 79 (2016), 17 -- 35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jordi Cabot and Martin Gogolla. 2012. Object Constraint Language (OCL): A Definitive Guide. Springer Berlin Heidelberg, Berlin, Heidelberg, 58--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Zheng Cheng, Massimo Tisi, and Rémi Douence. 2020. CoqTL: a Coq DSL for rule-based model transformation. Software and Systems Modeling 19, 2 (2020), 425--439.Google ScholarGoogle ScholarCross RefCross Ref
  12. Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.Google ScholarGoogle Scholar
  13. Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2017. Static Analysis of Model Transformations. IEEE Transactions on Software Engineering 43, 9 (2017), 868--897.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eclipse. 2020. Memory Analyzer (MAT). https://www.eclipse.org/mat/ Visit: 18.05.2020.Google ScholarGoogle Scholar
  15. Eclispe. 2015. ATL/Design Patterns. https://wiki.eclipse.org/ATL/Design_Patterns (June 2015) Visit: 10.05.2020.Google ScholarGoogle Scholar
  16. EJ-Technologies. 2020. JProfiler. https://www.ej-technologies.com/products/jprofiler/overview.html Visit: 18.05.2020.Google ScholarGoogle Scholar
  17. Thorsten Fischer, Jörg Niere, Lars Torunski, and Albert Zündorf. 1998. Story diagrams: A new graph rewrite language based on the unified modeling language and java. In International Workshop on Theory and Application of Graph Transformations. Springer, 296--309.Google ScholarGoogle Scholar
  18. Lars Fritsche, Erhan Leblebici, Anthony Anjorin, and Andy Schürr. 2017. A Look-Ahead Strategy for Rule-Based Model Transformations. In MODELS (Satellite Events) (CEUR Workshop Proceedings), Vol. 2019. CEUR-WS.org, 45--53.Google ScholarGoogle Scholar
  19. Holger Giese, Stephan Hildebrandt, and Andreas Seibel. 2009. Improved Flexibility and Scalability by Interpreting Story Diagrams. ECEASST 18 (2009).Google ScholarGoogle Scholar
  20. Holger Giese and Robert Wagner. 2006. Incremental Model Synchronization with Triple Graph Grammars. In Model Driven Engineering Languages and Systems. Springer Berlin Heidelberg, Berlin, Heidelberg, 543--557. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Novatec Consulting GmbH. 2020. inspectIT Ocelot. https://github.com/inspectIT/inspectit-ocelot Visit: 21.05.2020.Google ScholarGoogle Scholar
  22. YourKit GmbH. 2020. YourKit. https://www.yourkit.com Visit: 18.05.2020.Google ScholarGoogle Scholar
  23. Raffaela Groner, Luis Beaucamp, Matthias Tichy, and Steffen Becker. 2020. An Exploratory Study on Performance Engineering in Model Transformations: Data of the mixed method study. Google ScholarGoogle ScholarCross RefCross Ref
  24. Christoph Heger, André van Hoorn, Mario Mann, and Dusan Okanovic. 2017. Application Performance Management: State of the Art and Challenges for the Future. In ICPE. ACM, 429--432.Google ScholarGoogle Scholar
  25. Siw Elisabeth Hove and Bente Anda. 2005. Experiences from conducting semi-structured interviews in empirical software engineering research. In 11th IEEE International Software Metrics Symposium (METRICS'05). 10 pp.--23.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. John Hutchinson, Mark Rouncefield, and Jon Whittle. 2011. Model-Driven Engineering Practices in Industry. In Proceedings of the 33rd International Conference on Software Engineering (ICSE '11). Association for Computing Machinery, New York, NY, USA, 633--642. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Frédéric Jouault, Freddy Allilaire, Jean Bézivin, and Ivan Kurtev. 2008. ATL: A model transformation tool. Science of computer programming 72, 1--2 (2008), 31--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Frédéric Jouault and Massimo Tisi. 2010. Towards Incremental Execution of ATL Transformations. In Theory and Practice of Model Transformations, Laurence Tratt and Martin Gogolla (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 123--137.Google ScholarGoogle Scholar
  29. Hanna Kallio, Anna-Maija Pietilä, Martin Johnson, and Mari Kangasniemi. 2016. Systematic methodological review: developing a framework for a qualitative semi-structured interview guide. Journal of Advanced Nursing 72, 12 (2016), 2954--2965. arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/jan.13031 Google ScholarGoogle Scholar
  30. Barbara Kitchenham and Stuart Charters. 2007. Guidelines for performing Systematic Literature Reviews in Software Engineering.Google ScholarGoogle Scholar
  31. Sina Madani, Dimitrios S. Kolovos, and Richard F. Paige. 2018. Parallel Model Validation with Epsilon. In Modelling Foundations and Applications, Alfonso Pierantonio and Salvador Trujillo (Eds.). Springer International Publishing, Cham, 115--131.Google ScholarGoogle Scholar
  32. Naresh K Malhotra. 2006. Questionnaire design and scale development. The handbook of marketing research: Uses, misuses, and future advances (2006), 83--94.Google ScholarGoogle Scholar
  33. Tamás Mészáros, Gergely Mezei, Tihamer Levendovszky, and Márk Asztalos. 2010. Manual and automated performance optimization of model transformation systems. STTT 12, 3--4 (2010), 231--243.Google ScholarGoogle ScholarCross RefCross Ref
  34. Object Management Group (OMG). 2011. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. (2011). Version 1.1.Google ScholarGoogle Scholar
  35. Vaclav Pech, Alex Shatalin, and Markus Voelter. 2013. JetBrains MPS as a tool for extending Java. In Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. 165--168.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Perf. 2015. perf: Linux profiling with performance counters. https://perf.wiki.kernel.org/index.php/Main_Page Visit: 18.05.2020.Google ScholarGoogle Scholar
  37. William Piers. 2010. ATL 3.1-Industrialization improvements. In Proceedings of the 2nd International Workshop on Model Transformation with ATL. Citeseer.Google ScholarGoogle Scholar
  38. Vicki L. Plano Clark and Nataliya V. Ivankova. 2016. Mixed methods research: a guide to the field. SAGE, Los Angeles ; London. xxviii, 331 Seiten pages. Includes bibliographical references and index.Google ScholarGoogle Scholar
  39. Esteban Robles Luna, José Matías Rivero, Matias Urbieta, and Jordi Cabot. 2014. Improving the Scalability of Web Applications with Runtime Transformations. In Web Engineering. Springer International Publishing, Cham, 430--439. Google ScholarGoogle ScholarCross RefCross Ref
  40. Jesús Sánchez Cuadrado, Frédéric Jouault, Jesús García Molina, and Jean Bézivin. 2009. Optimization Patterns for OCL-Based Model Transformations. In Models in Software Engineering, Michel R. V. Chaudron (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 273--284.Google ScholarGoogle Scholar
  41. Willem E. Saris and Irmtraud N. Gallhofer. 2014. Design, evaluation, and analysis of questionnaires for survey research. http://proquest.tech.safaribooksonline.de/9781118634554 Online-Ressource (1 v.).Google ScholarGoogle Scholar
  42. Douglas C Schmidt. 2006. Model-driven engineering. COMPUTER-IEEE COMPUTER SOCIETY- 39, 2 (2006), 25.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Andy Schürr and Felix Klar. 2008. 15 Years of Triple Graph Grammars. In Graph Transformations, Hartmut Ehrig, Reiko Heckel, Grzegorz Rozenberg, and Gabriele Taentzer (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 411--425.Google ScholarGoogle Scholar
  44. Jiri Sedlacek and Tomas Hurka. 2020. Visual VM. https://visualvm.github.io Visit: 18.05.2020.Google ScholarGoogle Scholar
  45. Shane Sendall and Wojtek Kozaczynski. 2003. Model transformation: the heart and soul of model-driven software development. IEEE software 20, 5 (2003), 42--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Connie U. Smith and Lloyd G. Williams. 2000. Software Performance Antipatterns. In Proceedings of the 2nd International Workshop on Software and Performance (WOSP '00). Association for Computing Machinery, New York, NY, USA, 127--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Connie U. Smith and Lloyd G. Williams. 2002. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley.Google ScholarGoogle Scholar
  48. Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework. http://proquest.tech.safaribooksonline.de/9780321331885 Online-Ressource (xxix, 704 p.).Google ScholarGoogle Scholar
  49. Daniel Strüber, Kristopher Born, Kanwal Daud Gill, Raffaela Groner, Timo Kehrer, Manuel Ohrndorf, and Matthias Tichy. 2017. Henshin: A Usability-Focused Framework for EMF Model Transformation Development. In Graph Transformation. Springer, 196--208. Google ScholarGoogle ScholarCross RefCross Ref
  50. Gábor Szárnyas, Benedek Izsó, István Ráth, Dénes Harmath, Gábor Bergmann, and Dániel Varró. 2014. IncQuery-D: A Distributed Incremental Model Query Framework in the Cloud. In Model-Driven Engineering Languages and Systems, Juergen Dingel, Wolfram Schulte, Isidro Ramos, Silvia Abrahão, and Emilio Insfran (Eds.). Springer International Publishing, Cham, 653--669.Google ScholarGoogle Scholar
  51. Matthias Tichy, Christian Krause, and Grischa Liebel. 2013. Detecting Performance Bad Smells for Henshin Model Transformations. Amt@ models 1077 (2013).Google ScholarGoogle Scholar
  52. Massimo Tisi, Salvador Martínez, and Hassene Choura. 2013. Parallel Execution of ATL Transformation Rules. In Model-Driven Engineering Languages and Systems, Ana Moreira, Bernhard Schätz, Jeff Gray, Antonio Vallecillo, and Peter Clarke (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 656--672.Google ScholarGoogle Scholar
  53. Zoltán Ujhelyi, Gábor Bergmann, Ábel Hegedüs, Ákos Horváth, Benedek Izsó, István Ráth, Zoltán Szatmári, and Dániel Varró. 2015. EMF-IncQuery: An integrated development environment for live model queries. Science of Computer Programming 98 (2015), 80 -- 99. Fifth issue of Experimental Software and Toolkits (EST): A special issue on Academics Modelling with Eclipse (ACME2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Wade M Vagias. 2006. Likert-type scale response anchors. Clemson University (2006).Google ScholarGoogle Scholar
  55. Marcel van Amstel, Steven Bosems, Ivan Kurtev, and Luís Ferreira Pires. 2011. Performance in Model Transformations: Experiments with ATL and QVT. In Theory and Practice of Model Transformations. Springer Berlin Heidelberg, Berlin, Heidelberg, 198--212. Google ScholarGoogle ScholarCross RefCross Ref
  56. Dániel Varró, Gábor Bergmann, Ábel Hegedüs, Ákos Horváth, István Ráth, and Zoltán Ujhelyi. 2016. Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework. Software & Systems Modeling 15, 3 (2016), 609--629. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Gergely Varró, Frederik Deckwerth, Martin Wieber, and Andy Schürr. 2015. An algorithm for generating model-sensitive search plans for pattern matching on EMF models. Software and System Modeling 14, 2 (2015), 597--621. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Alexander Wert, Marius Oehler, Christoph Heger, and Roozbeh Farahbod. 2014. Automatic detection of performance anti-patterns in inter-component communications. In QoSA. ACM, 3--12.Google ScholarGoogle Scholar
  59. Manuel Wimmer, Salvador Martínez Perez, Frédéric Jouault, and Jordi Cabot. 2012. A Catalogue of Refactorings for Model-to-Model Transformations. J. Object Technol. 11, 2 (2012), 2--1.Google ScholarGoogle ScholarCross RefCross Ref
  60. Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.Google ScholarGoogle Scholar
  61. Yutong Zhao, Lu Xiao, Xiao Wang, Lei Sun, Bihuan Chen, Yang Liu, and Andre B. Bondi. 2020. How Are Performance Issues Caused and Resolved?-An Empirical Study from a Design Perspective. In Proceedings of the ACM/SPEC International Conference on Performance Engineering (ICPE '20). Association for Computing Machinery, New York, NY, USA, 181--192. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. An exploratory study on performance engineering in model transformations

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
        October 2020
        406 pages
        ISBN:9781450370196
        DOI:10.1145/3365438

        Copyright © 2020 ACM

        Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 16 October 2020

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        MODELS '20 Paper Acceptance Rate35of127submissions,28%Overall Acceptance Rate118of382submissions,31%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader