56 research outputs found
Concurrent Model Transformations with Linda
Nowadays, model transformations languages and engines use a sequential execution model. This is, only one execution thread deals with the whole transformation. However, model transformations dealing with very large models, such as those used in biology or aerospace applications, require concurrent solutions in order to speed up their performance. In this ongoing work we explore the
use of Linda for implementing a set of basic mechanisms to enable concurrent model transformations, and present our initial results.Proyectos TIN2011-23795, TIN2011-15497-E y Andalucía Tech Campus de Excelencia
Teaching Model Views with UML and OCL
The specification of any non-trivial system is normally composed of a set of models. Each model describes a different view of the system, focuses on a particular set of concerns, and uses its own notation. For example, UML defines a set of diagrams for modelling the structure and behavior of any software system. One of the problems we perceived with our students is that they are able to understand each one of these diagrams, but they have problems understanding how they are related, and how the overall system specifications work when composed of a set of views. This paper presents a simple case study that we have developed and successfully used in class, which permits students developing the principal views of a system, simulate them, and check their relations.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
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
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
Analysis of the Scientific Production of the Spanish Software Engineering Community
Our group has been working on a report for the Spanish Society of Software Engineering and Software Development Technologies (SISTEDES) to provide a general overview of the Spanish scientific
production and its contributions worldwide in the field of Software Engineering. Although a Database solution could have been used, we decided to employ Model-Driven Development (MDD) techniques in order to evaluate their applicability, suitability and fitness for these kinds of purposes, and to learn from the experience in this domain, which combines data integration, large scale models, and complex queries.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Analysis of the scientific production of the Spanish Software Engineering Community
Our group has been working on a report for the Spanish Society of Software Engineering and Software Development Technologies (SISTEDES) to provide a general overview of the Spanish scientific production and its contributions worldwide in the field of Software Engineering. Although a Database solution could have been used, we decided to employ Model-Driven Development (MDD) techniques in order to evaluate their applicability, suitability and fitness for these kinds of purposes, and to learn from the experience in this domain, which combines data integration, large scale models, and complex queries.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Generating Effective Test Suites for Model Transformations Using Classifying Terms
Generating sample models for testing a model transformation is no easy task. This paper explores the use of classifying terms and stratified sampling for developing richer test cases for model transformations. Classifying terms are used to define the equivalence classes that characterize the relevant subgroups for the test cases. From each equivalence class of object models, several representative models are chosen depending on the required sample size. We compare our
results with test suites developed using random sampling, and conclude that by using an ordered and stratified approach the coverage and effectiveness of the test suite can be significantly improved.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Employing Classifying Terms for Testing Model Transformations
This contribution proposes a new technique for developing test cases for UML and OCL models. The technique is based on an approach that automatically constructs object
models for class models enriched by OCL constraints. By guiding the construction process through so-called classifying terms, the built test cases in form of object models are classified into equivalence classes. A classifying term can be an arbitrary OCL term on the class model that calculates for an object model a characteristic value. From each equivalence class of object models with identical characteristic values one representative is chosen. The constructed test cases behave significantly different with regard to the selected classifying term. By building few diverse object models, properties of the UML and OCL model can be explored effectively. The technique is applied for automatically constructing relevant source model test cases for model transformations between a source and target metamodel.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Towards Systematic Mutations for and with ATL Model Transformations
Model transformation is a key technique to automate
software engineering tasks, such as generating implementations
of software systems from higher-level models. To enable
this automation, transformation engines are used to synthesize
various types of software artifacts from models, where the rules
according to which these artifacts are generated are implemented
by means of dedicated model transformation languages. Hence,
the quality of the generated software artifacts depends on the
quality of the transformation rules applied to generate them.
Thus, there is the need for approaches to certify their behavior
for a selected set of test models. As mutation analysis has proven
useful as a practical testing approach, we propose a set of
mutation operators for the ATLAS Transformation Language
(ATL) derived by a comprehensive language-centric synthesis
approach. We describe the rationale behind each of the mutation
operators and propose an automated process to generate mutants
for ATL transformations based on a combination of generic
mutation operators and higher-order transformations. Finally,
we describe a cost-effective solution for executing the obtained
mutants.European Commission ICT Policy Support Programme 317859Ministerio de Ciencia e Innovación TIN2011-2379
Static Fault Localization in Model Transformations
As the complexity of model transformations grows, there is an increasing need to count on methods, mechanisms, and tools
for checking their correctness, i.e., the alignment between specifications and implementations. In this paper we present a light-weight
and static approach for locating the faulty rules in model transformations, based on matching functions that automatically establish
these alignments using the metamodel footprints, i.e., the metamodel elements used. The approach is implemented for the
combination of Tracts and ATL, both residing in the Eclipse Modeling Framework, and is supported by the corresponding toolkit.
An evaluation discussing the accuracy and the limitations of the approach is also provided. Furthermore, we identify the kinds of
transformations which are most suitable for validation with the proposed approach and use mutation techniques to evaluate its
effectiveness.Ministerio de Ciencia e Innovación TIN2011-23795Austrian Research Promotion Agency (FFG) 832160European Commission ICT Policy Support Programme 31785
- …