9,649 research outputs found
A Linda-based Platform for the Parallel Execution of Out-place Model Transformations
Context: The performance and scalability of model transformations is gaining
interest as industry is progressively adopting model-driven techniques and multicore
computers are becoming commonplace. However, existing model transformation
engines are mostly based on sequential and in-memory execution strategies,
and thus their capabilities to transform large models in parallel and distributed
environments are limited.
Objective: This paper presents a solution that provides concurrency and distribution
to model transformations.
Method: Inspired by the concepts and principles of the Linda coordination language,
and the use of data parallelism to achieve parallelization, a novel Javabased
execution platform is introduced. It offers a set of core features for the
parallel execution of out-place transformations that can be used as a target for
high-level transformation language compilers.
Results: Significant gains in performance and scalability of this platform are reported
with regard to existing model transformation solutions. These results are
demonstrated by running a model transformation test suite, and by its comparison
against several state-of-the-art model transformation engines.
Conclusion: Our Linda-based approach to the concurrent execution of model
transformations can serve as a platform for their scalable and efficient implementation
in parallel and distributed environments.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra
The problems addressed by Model-Driven Engineering (MDE) approaches are increasingly complex, hence performance and scalability of model transformations are gaining importance.
In previous work, we introduced LinTra, which is a platform for executing out-place model transformations in parallel.
The parallel execution of LinTra is based on the Linda coordination language, where high-level model transformation languages (MTLs) are compiled to LinTra and eventually executed through Linda. In order to de ne the compilation modularly, this paper presents a minimal, yet su cient, collection
of primitive operators that can be composed to (re-)construct any out-place, unidirectional MTL.Universidad de Málaga.Campus de Excelencia Internacional Andalucía Tech. Spanish Project TIN2011-2379
Towards Distributed Model Transformations with LinTra
Performance and scalability of model transformations are becoming
prominent topics in Model-Driven Engineering. In previous works we introduced
LinTra, a platform for executing model transformations in parallel. LinTra is
based on the Linda model of a coordination language and is intended to be used
as a middleware where high-level model transformation languages are compiled.
In this paper we present the initial results of our analyses on the scalability of
out-place model-to-model transformation executions in LinTra when the models
and the processing elements are distributed over a set of machines.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
On the Quality Properties of Model Transformations: Performance and Correctness
The increasing complexity of software due to continuous technological advances has motivated the use of models in the software development process. Initially, models were mainly used as drafts to help developers understand their programs. Later they were used extensively and a new discipline called Model-Driven Engineering (MDE) was born. In the MDE paradigm, aside from the models themselves, model transformations (MT) are garnering interest as they allow the analysis and manipulation of models. Therefore, the performance, scalability and correctness of model transformations have become critical issues and thus they deserve a thorough study. Existing model transformation engines are principally based on sequential and in-memory execution strategies, and hence their capabilities to transform very large models in parallel and in distributed environments are limited. Current tools and languages are not able to cope with models that are not located in a single machine and, even worse, most of them require the model to be in a single file. Moreover, once a model transformation has been written and executed-either sequentially or in parallel-it is necessary to rely on methods, mechanisms, and tools for checking its correctness.
In this dissertation, our contribution is twofold. Firstly, we introduce a novel execution platform that permits the parallel execution of both out-place and in-place model transformations, regardless of whether the models fit into a single machine memory or not. This platform can be used as a target for high-level transformation language compilers, so that existing model transformations do not need to be rewritten in another language but only have to be executed more efficiently. Another advantage is that a developer who is familiar with an existing model transformation language does not need to learn a new one.
In addition to performance, the correctness of model transformations is an essential aspect that needs to be addressed if MTs are going to be used in realistic industrial settings. Due to the fact that the most popular model transformation languages are rule-based, i.e., the transformations written in those languages comprise rules that define how the model elements are transformed, the second contribution of this thesis is a static approach for locating faulty rules in model transformations. Current approaches able to fully prove correctness-such as model checking techniques-require an unacceptable amount of time and memory. Our approach cannot fully prove correctness but can be very useful for identifying bugs at an early development stage, quickly and cost effectively
Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra
Performance and scalability of model transformations are becoming prominent topics in Model-Driven Engineering. In previous work, we introduced LinTra, a platform for executing out-place model transformations in parallel. LinTra is based on the Linda coordination language for archiving concurrency and distribution and is intended to be used as a middleware where high-level model transformation languages (such as ATL and QVT) are compiled. To define modularly the compilation, this paper presents a minimal, yet sufficient, collection of primitive operators that can be composed to (re-)construct any out place, unidirectional model transformation language (MTL). These primitives enable any MTL to be executed in parallel in a transparent way, without altering the original transformation.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Parallel In-place Model Transformations with LinTra
As software systems have grown large and complex in the last few
years, the problems with which Model-Driven Development has to cope have
increased at the same pace. In particular, the need to improve the performance
and scalability of model transformations has become a critical issue. In previous
work we introduced LinTra, a model transformation platform for the parallel execution
of out-place model transformations. Nevertheless, in-place model transformations
are required in several contexts and domains as well. In this paper we
discuss the fundamentals of in-place model transformations in the light of their
parallel execution and provide LinTra with an in-place execution mode.Ministerio de Ciencia e Innovación TIN2011-23795Ministerio de Economía y Competitividad TIN2014-52034-REuropean Commission ICT Policy Support Programme 31785
A Survey on Compiler Autotuning using Machine Learning
Since the mid-1990s, researchers have been trying to use machine-learning
based approaches to solve a number of different compiler optimization problems.
These techniques primarily enhance the quality of the obtained results and,
more importantly, make it feasible to tackle two main compiler optimization
problems: optimization selection (choosing which optimizations to apply) and
phase-ordering (choosing the order of applying optimizations). The compiler
optimization space continues to grow due to the advancement of applications,
increasing number of compiler optimizations, and new target architectures.
Generic optimization passes in compilers cannot fully leverage newly introduced
optimizations and, therefore, cannot keep up with the pace of increasing
options. This survey summarizes and classifies the recent advances in using
machine learning for the compiler optimization field, particularly on the two
major problems of (1) selecting the best optimizations and (2) the
phase-ordering of optimizations. The survey highlights the approaches taken so
far, the obtained results, the fine-grain classification among different
approaches and finally, the influential papers of the field.Comment: version 5.0 (updated on September 2018)- Preprint Version For our
Accepted Journal @ ACM CSUR 2018 (42 pages) - This survey will be updated
quarterly here (Send me your new published papers to be added in the
subsequent version) History: Received November 2016; Revised August 2017;
Revised February 2018; Accepted March 2018
- …