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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Roberto Bruni and Alberto Lluch-Lafuente. 2011. Evaluating the Performance of Model Transformation Styles in Maude. In FACS. 79--96.Google Scholar
- 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 ScholarDigital Library
- Jordi Cabot and Martin Gogolla. 2012. Object Constraint Language (OCL): A Definitive Guide. Springer Berlin Heidelberg, Berlin, Heidelberg, 58--90. Google ScholarDigital Library
- 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 ScholarCross Ref
- Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.Google Scholar
- 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 ScholarDigital Library
- Eclipse. 2020. Memory Analyzer (MAT). https://www.eclipse.org/mat/ Visit: 18.05.2020.Google Scholar
- Eclispe. 2015. ATL/Design Patterns. https://wiki.eclipse.org/ATL/Design_Patterns (June 2015) Visit: 10.05.2020.Google Scholar
- EJ-Technologies. 2020. JProfiler. https://www.ej-technologies.com/products/jprofiler/overview.html Visit: 18.05.2020.Google Scholar
- 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 Scholar
- 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 Scholar
- Holger Giese, Stephan Hildebrandt, and Andreas Seibel. 2009. Improved Flexibility and Scalability by Interpreting Story Diagrams. ECEASST 18 (2009).Google Scholar
- 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 ScholarDigital Library
- Novatec Consulting GmbH. 2020. inspectIT Ocelot. https://github.com/inspectIT/inspectit-ocelot Visit: 21.05.2020.Google Scholar
- YourKit GmbH. 2020. YourKit. https://www.yourkit.com Visit: 18.05.2020.Google Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Barbara Kitchenham and Stuart Charters. 2007. Guidelines for performing Systematic Literature Reviews in Software Engineering.Google Scholar
- 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 Scholar
- Naresh K Malhotra. 2006. Questionnaire design and scale development. The handbook of marketing research: Uses, misuses, and future advances (2006), 83--94.Google Scholar
- 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 ScholarCross Ref
- Object Management Group (OMG). 2011. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. (2011). Version 1.1.Google Scholar
- 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 ScholarDigital Library
- Perf. 2015. perf: Linux profiling with performance counters. https://perf.wiki.kernel.org/index.php/Main_Page Visit: 18.05.2020.Google Scholar
- William Piers. 2010. ATL 3.1-Industrialization improvements. In Proceedings of the 2nd International Workshop on Model Transformation with ATL. Citeseer.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- Douglas C Schmidt. 2006. Model-driven engineering. COMPUTER-IEEE COMPUTER SOCIETY- 39, 2 (2006), 25.Google ScholarDigital Library
- 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 Scholar
- Jiri Sedlacek and Tomas Hurka. 2020. Visual VM. https://visualvm.github.io Visit: 18.05.2020.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Connie U. Smith and Lloyd G. Williams. 2002. Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- Matthias Tichy, Christian Krause, and Grischa Liebel. 2013. Detecting Performance Bad Smells for Henshin Model Transformations. Amt@ models 1077 (2013).Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Wade M Vagias. 2006. Likert-type scale response anchors. Clemson University (2006).Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- An exploratory study on performance engineering in model transformations
Recommendations
Towards Performance Engineering of Model Transformation
ICPE '18: Companion of the 2018 ACM/SPEC International Conference on Performance EngineeringModel transformations are an essential operation on models which is applied at design time and even at run time. For this, the performance of transformations is an important aspect, which needs to be considered. The current research takes only the ...
Translating ATL Model Transformations to Algebraic Graph Transformations
Proceedings of the 8th International Conference on Theory and Practice of Model Transformations - Volume 9152Analyzing and reasoning on model transformations has become very relevant for various applications such as ensuring the correctness of transformations. ATL is a model transformation language with rich semantics and a focus on usability, making its ...
User-centered performance engineering of model transformations
MODELS '19: Proceedings of the 22nd International Conference on Model Driven Engineering Languages and SystemsIn Model-Driven Engineering, models are key artifacts. Due to the fact that the systems to be developed become larger and more complex, the corresponding models also become larger and more complex. This trend also influences operations on these models, ...
Comments