Auflistung nach Schlagwort "ATL"
1 - 4 von 4
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragContrasting Dedicated Model Transformation Languages vs. General Purpose Languages: A Historical Perspective on ATL vs. Java based on Complexity and Size - Extended Abstract(Software Engineering 2022, 2022) Höppner, Stefan; Kehrer, Timo; Tichy, MatthiasModel transformations are one key concept of model-driven engineering, and model transformation languages (MTLs) emerged with its popularity about 15 to 20 years ago. MTLs claim to ease model transformation development by abstracting from recurring transformation aspects and hiding complex semantics behind simple and intuitive syntax. Nonetheless, MTLs are rarely adopted in practice, there is still no empirical evidence for the claim of easier development, and the argument of abstraction deserves a fresh look in the light of modern general-purpose languages (GPLs) which have undergone a significant evolution in the last two decades. In our SoSyM paper, we report on a study in which we compare the complexity and size of model transformations written in three different languages, namely (i) the Atlas Transformation Language (ATL), (ii) Java SE5 (2004-2009), and (iii) Java SE14 (2020); the Java transformations are derived from an ATL specification using a translation schema we developed. Based on the results of these comparisons, we discuss the concrete advancements in newer Java versions. We also discuss to which extent new language advancements justify writing transformations in a GPL rather than a dedicated MTL. We further indicate potential avenues for future research on the comparison of MTLs and GPLs.
- ConferencePaperAn Exploratory Study on Performance Engineering in Model Transformations(Software Engineering 2021, 2021) Groner, Raffaela; Beaucamp, Luis; Tichy, Matthias; Becker, SteffenModel-Driven Software Engineering is used to deal with the increasing complexity of software, but this trend also leads to larger and more complex models and model transformations. While improving the performance of transformation engines has been a focus, there does not exist any empirical study on how transformation developers deal with performance issues. We used a quantitative questionnaire to investigate whether the performance of transformations is actually important for transformation developers. Based on the answers to the questionnaire, we conducted qualitative semi-structured interviews. The results of the online survey show that 43 of 81 participants have already tried to improve the performance of a transformation and 34 participants 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 to resolve them. We compiled a collection of tool features perceived helpful by the interviewees for finding causes. Overall, our results show that performance of transformations is relevant and that there is a lack of support for transformation developers without detailed knowledge of the engine to solve performance issues. This summary refers to our work, which was accepted for the Foundation Track of the ACM / IEEE 23rd International Conference on Model Driven Engineering Languages and Systems (MODELS) in 2020.
- KonferenzbeitragModel Transformation Languages under a Magnifying Glass: A Controlled Experiment with Xtend, ATL, and QVT(Software Engineering and Software Management 2019, 2019) Hebig, Regina; Seidl, Christoph; Berger, Thorsten; Pedersen, John Kook; Wasowski, AndrzejIn Model-Driven Software Development, models are processed automatically to support the creation, build, and execution of systems. A large variety of dedicated model-transformation languages exists, promising to efficiently realize the automated processing of models. To investigate the actual benefit of using such specialized languages, we performed a large-scale controlled experiment in which 78 subjects solved 231 individual tasks using three languages. The experiment sheds light on commonalities and differences between model transformation languages (ATL, QVT-O) and on benefits of using them in common development tasks (comprehension, change, and creation) against a modern general-purpose language (Xtend). The results of our experiment show no statistically significant benefit of using a dedicated transformation language over a modern general-purpose language. However, we were able to identify several aspects of transformation programming where domain-specific transformation languages do appear to help, including copying objects, context identification, and conditioning the computation on types.
- KonferenzbeitragA Survey on the Relevance of the Performance of Model Transformations(Software Engineering 2022, 2022) Groner, Raffaela; Juhnke, Katharina; Höppner, Stefan; Tichy, Matthias; Becker, Steffen; Vijayshree, Vijayshree; Frank, SebastianWhen we are confronted with performance issues in a general-purpose language, like Java, it is a given to us that we have various tools and techniques at our disposal to help us. But is such support also needed when using model transformation languages? To address this question, we conducted a quantitative online survey as part of a mixed methods study with 84 respondents to our questionnaire. Our results show that a certain performance is desired but not always achieved. The developers would like to improve the performance, but they lack insights on how a transformation is performed. As a first step to mitigate this issue, we compiled a list of information regarding the models used, the transformations applied and their execution deemed to be helpful by the participants. Additionally, we used hypotheses tests to investigate possible influencing factors that cause participants to try to improve the performance of transformations. The main relevant factors found in our study are the satisfaction with the execution time, the size of the models used, the relevance of whether a certain execution time is not exceeded in the average case, and the knowledge of how a transformation engine executes a transformation.