Browsing by Subject "Model transformation"
Now showing 1 - 7 of 7
Results Per Page
Sort Options
- PublicationRestrictedA Component Model for Model Transformations(2014) Sánchez Cuadrado, Jesús; Guerra, Esther; de Lara, Juan; Informática y Sistemas
- PublicationOpen AccessBuilding Domain-Specific Languages for Model-Driven Development(IEEE, 2007) Sánchez Cuadrado, Jesús; García Molina, Jesús; Informática y Sistemas
- PublicationOpen AccessEfficient Execution of ATL Model Transformations Using Static Analysis and Parallelism(Institute of Electrical and Electronics Engineers [Society Publisher], 2022) Sánchez Cuadrado, Jesús; Burgueño, Loli; Wimmer, Manuel; Vallecillo, Antonio; Informática y SistemasAlthough model transformations are considered to be the heart and soul of Model Driven Engineering (MDE), there are still several challenges that need to be addressed to unleash their full potential in industrial settings. Among other shortcomings, their performance and scalability remain unsatisfactory for dealing with large models, making their wide adoption difficult in practice. This paper presents A2L, a compiler for the parallel execution of ATL model transformations, which produces efficient code that can use existing multicore computer architectures, and applies effective optimizations at the transformation level using static analysis. We have evaluated its performance in both sequential and multi-threaded modes obtaining significant speedups with respect to current ATL implementations. In particular, we obtain speedups between 2.32x and 38.28x for the A2L sequential version, and between 2.40x and 245.83x when A2L is executed in parallel, with expected average speedups of 8.59x and 22.42x, respectively.
- PublicationRestrictedModularization of model transformations through a phasing mechanism(2008-06-24) Sánchez Cuadrado, Jesús; García Molina, Jesús; Informática y SistemasIn recent years a great effort has been devoted to understanding the nature of model transformations. As a result, several mechanisms to improve model transformation languages have been proposed. Phasing has been mentioned in some works as a rule scheduling or organization mechanism, but without any detail. In this paper, we present a phasing mechanism in the context of rule-based transformation languages. We explain the structure and the behavior of the mechanism, and how it can be integrated in a language. We also analyze how the mechanism promotes modularity, internal transformation composition and helps to solve usual transformation problems. Besides, we show several examples of application to illustrate the usefulness of the mechanism.
- PublicationOpen AccessQuick fixing ATL transformations with speculative analysis(2018) Sánchez Cuadrado, Jesús; Guerra, Esther; Lara, Juan de; Informática y SistemasModel transformations are central components of most model-based software projects. While ensuring their correctness is vital to guarantee the quality of the solution, current transformation tools provide limited support to statically detect and fix errors. In this way, the identification of errors and their correction are nowadays mostly manual activities which incur in high costs. The aim of this work is to improve this situation. Recently, we developed a static analyser that combines program analysis and constraint solving to identify errors in ATL model transformations. In this paper, we present a novel method and system that uses our analyser to propose suitable quick fixes for ATL transformation errors, notably some non-trivial, transformation-specific ones. Our approach supports speculative analysis to help developers select the most appropriate fix by creating a dynamic ranking of fixes, reporting on the consequences of applying a quick fix, and providing a pre-visualization of each quick fix application. The approach integrates seamlessly with the ATL editor. Moreover, we provide an evaluation based on existing faulty transformations built by a third party, and on automatically generated transformation mutants, which are then corrected with the quick fixes of our catalogue.
- PublicationRestrictedRubyTL: A Practical, Extensible Transformation Language(Springer, 2006) Jesús Sánchez Cuadrado; Jesús García Molina; Marcos Menárguez Tortosa; Informática y SistemasModel transformation is a key technology of model driven software development approaches. Several transformation languages have appeared in the last few years, but more research is still needed for an in-depth understanding of the nature of model transformations and to discover desirable features of transformation languages. Research interest is primarily focused on experimentation with languages by writing transformations for real problems. RubyTL is a hybrid transformation language defined as a Ruby internal domain specific language, and is designed as an extensible language: a plugin mechanism allows new features to be added to core features. In this paper, we describe this plugin mechanism, devised to facilitate the experimentation with possible features of RubyTL. Through an example, we show how to add a new language feature, specifically we will develop a plugin to organize a transformation in several phases. Finally, we discuss the advantages of this extensible language design.
- PublicationEmbargoStatic Analysis of Model Transformations(2017) Sánchez Cuadrado, Jesús; Guerra, Esther; de Lara, Juan; Informática y SistemasModel transformations are central to Model-Driven Engineering (MDE), where they are used to transform models between different languages; to refactor and simulate models; or to generate code from models. Thus, given their prominent role in MDE, practical methods helping in detecting errors in transformations and automate their verification are needed. In this paper, we present a method for the static analysis of ATL model transformations. The method aims at discovering typing and rule errors, like unresolved bindings, uninitialized features or rule conflicts. It relies on static analysis and type inference, and uses constraint solving to assert whether a source model triggering the execution of a given problematic statement can possibly exist. Our method is supported by a tool that integrates seamlessly with the ATL development environment. To evaluate the usefulness of our method, we have used it to analyse a public repository of ATL transformations. The high number of errors discovered shows that static analysis of ATL transformations is needed in practice. Moreover, we have measured the precision and recall of the method by considering a synthetic set of transformations obtained by mutation techniques, and comparing with random testing. The experiment shows good overall results in terms of false positives and negatives.