Navegación

Búsqueda

Búsqueda avanzada

Resultados de búsqueda para Model Transformation

Model Transformation Testing and Debugging: A Survey

Model transformations are the key technique in Model-Driven Engineering (MDE) to manipulate and construct models. As a consequence, the correctness of software systems built with MDE approaches relies mainly on the correctness of model transformations, and thus, detecting and locating bugs in model transformations have been popular research topics in recent years. This surge of work has led to a vast literature on model transformation testing and debugging, which makes it challenging to gain a comprehensive view of the current state of the art. This is an obstacle for newcomers to this topic and MDE practitioners to apply these approaches. This paper presents a survey on testing and debugging model transformations based on the analysis of 140 papers on the topics. We explore the trends, advances, and evolution over the years, bringing together previously disparate streams of work and providing a comprehensive view of these thriving areas. In addition, we present a conceptual framework to understand and categorise the different proposals. Finally, we identify several open research challenges and propose specific action points for the model transformation community.

Autores: Javier Troya / Sergio Segura / Lola Burgueño / Manuel Wimmer / 
Palabras Clave: Debugging - Model Transformation - survey - Testing

Suggesting Model Transformation Repairs for Rule-based Languages using a Contract-based Testing Approach

En este trabajo se presenta la propuesta MoTES (Model Transformation TEst Specification) que utiliza técnicas de testing de modelos basadas en contratos para asistir a los ingenieros encargados de la evolución y reparación de las transformaciones de modelos.MoTES utiliza contratos para especificar el comportamiento esperado de la transformación de modelos a probar.Estos contratos actúan como oráculos de pares de elementos entre los modelos de entrada y salida, generados al ejecutar la transformación en pruebas con modelos de entrada concretos. Mediante el procesamiento del modelo de salida del oráculo de test, se calculan las métricas precision y recall para cada patrón de salida. Los resultados de estas métricas se categorizan para simplificar su interpretación: MoTES define 8 posibles casos distintos. Además, si existe información de trazabilidad de la transformación en pruebas para cada patrón de salida, es posible clasificar cada regla de transformación relacionada según su impacto en las métricas, p.ej. el número de positivos correctos generados. MoTES define 37 casos para esta clasificación, cada uno de los cuales est+AOE asociado con una acción abstracta de reparación de una regla, como relajar el filtro de entrada de una regla. En este trabajo se presenta una completa evaluación mediante el análisis de tres casos de estudio diferentes. Como resultados principales, se concluye que nuestra propuesta es capaz de (1) detectar los errores de la transformación, (2) localizar la regla que falla y (3) sugerir las acciones de reparación adecuadas, reduciendo significativamente el esfuerzo de los ingenieros de pruebas.

Autores: Roberto Rodriguez-Echeverria / Fernando Macías / Adrian Rutle / Jose Maria Conejero / 
Palabras Clave: Adaptations - Evolution - Fault Localization - Model Transformation - Repairing - Testing - Testing Oracle - Verification

A method for transforming knowledge discovery metamodel to ArchiMate models

La Arquitectura Empresarial (AE) se ha convertido en un impulsor y facilitador de la transformación digital en las empresas, ya que permite administrar TI y negocio de una forma holística e integrada al establecer conexiones entre las preocupaciones tecnológicas y la estratégica del negocio. El modelado de la AE es fundamental para representar con precisión el negocio y sus activos de TI de forma interrelacionada. Este modelado es importante cuando las empresas comienzan a administrar su AE, pero también cuando se remodela con el fin de conseguir su realineamiento en un mundo cambiante. La AE suele ser modelada por un grupo reducido de expertos de forma manual, lo que es propenso a errores, requiere mucho tiempo y dificulta la realineación continua. Por el contrario, otras propuestas de modelado automático de AE inspeccionan algunos artefactos como código fuente, bases de datos, servicios, etc. Las propuestas de modelado automatizado hasta la fecha se centran en el análisis de artefactos individuales con transformaciones aisladas hacia ArchiMate u otras notaciones y/o marcos de AE. As+AO0, en es-te artículo se propone un enfoque MDE mediante el uso de Knowledge Discovery Metamodel (KDM) para representar toda la información intermedia recuperada de los artefactos de los sistemas de información, que luego se transforma automáticamente en modelos ArchiMate. La contribución principal de este artículo es la transformación de modelos entre KDM y ArchiMate. La principal implicación de esta propuesta es que los modelos ArchiMate se generan automáticamente a partir de un repositorio de conocimiento común. De este modo, las relaciones entre arte-factos de diferente naturaleza se pueden explotar para obtener representaciones de AE más completas y precisas, favoreciendo además su realineamiento continuo.

Autores: Ricardo Pérez-Castillo / Andrea Delgado / Francisco Ruiz / Virginia Bacigalupe / Mario Piattini / 
Palabras Clave: ArchiMate - Arquitectura Empresarial - ATL - Knowledge Discovery Metamodel - MDE - Model Transformation

Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing

Mutation testing (MT) targets the assessment of test cases by measuring their efficiency to detect faults. This technique involves modifying the program under test to emulate programming faults, and assessing whether the existing test cases detect such mutations. MT has been extensively studied since the 70’s, and many tools have been proposed for widely used languages like C, Java, Fortran, Ada and SQL+ADs and for notations like Petri-nets. However, building MT tools is costly and error-prone, which may prevent their development for new programming and domain-specific (modelling) languages.In this paper, we propose a framework called Wodel-Test to reduce the effort to create MT tools. For this purpose, it follows a model-driven approach by which MT tools are synthesized from a high-level description. This description makes use of the domain-specific language Wodel to define and execute model mutations. Wodel is language-independent, as it allows the creation of mutation operators for any language defined by a meta-model. Starting from the definition of the mutation operators, Wodel-Test generates a MT environment which parses the program under test into a model, applies the mutation operators, and evaluates the test-suite against the generated mutants, offering a rich collection of MT metrics. We report on an evaluation of the approach based on the creation of MT tools for Java and the Atlas transformation language.

Autores: Pablo Gómez-Abajo / Esther Guerra / Juan de Lara / Mercedes Merayo / 
Palabras Clave: Domain Specific Languages - Java - model mutation - Model Transformation - Model-Driven Engineering - Mutation testing

Spectrum-Based Fault Localization in Model Transformations

Model transformations play a cornerstone role in Model-Driven Engineering as they provide the essential mechanisms for manipulating and transforming models. The correctness of software built using MDE techniques greatly relies on the correctness of model transformations. However, it is challenging and error prone to debug them, and the situation gets more critical as the size and complexity of model transformations grow, where manual debugging is no longer possible.Spectrum-Based Fault Localization (SBFL) uses the results of test cases and their corresponding code coverage information to estimate the likelihood of each program component (e.g., statements) of being faulty. In this paper we present an approach to apply SBFL for locating the faulty rules in model transformations. We evaluate the feasibility and accuracy of the approach by comparing the effectiveness of 18 different state-of-the-art SBFL techniques at locating faults in model transformations. Evaluation results revealed that the best techniques, namely Kulcynski2, Mountford, Ochiai and Zoltar, lead the debugger to inspect a maximum of three rules in order to locate the bug in around 74% of the cases. Furthermore, we compare our approach with a static approach for fault localization in model transformations, observing a clear superiority of the proposed SBFL-based method.

Autores: Javier Troya / Sergio Segura / José Antonio Parejo Maestre / Antonio Ruiz-Cortés / 
Palabras Clave: Debugging - Fault Localization - Model Transformation - Spectrum-based - Testing

Incremental Concurrent Synchronization with Conflict Resolution

In the context of software model-driven development, artifacts are specified by several models describing different aspects, e.g., different views, dynamic behaviour, structure, etc. Then, a given set of models is emph{consistently integrated} if they describe some artifact. Along the process of designing and implementing an artifact, and also after the artifact is implemented, it may be common to modify or update some aspects of a given model, or of several models. These changes may cause an inconsistency between the given set of models. To restore consistency, we have to emph{propagate} the given modifications to the rest of the models. This process is called emph{model synchronization}. If each time we propagate the updates on just one model, synchronization is emph{sequential}, but if we propagate simultaneously updates on two models, synchronization is called emph{concurrent}. The sequential case is quite simpler than the concurrent one, since in the latter case we may have to deal with conflicts between the modifications applied to different models, implying that we may need to backtrack some updates. For simplicity, we assume that the set of models describing an artifact consists just of two models.Then, following the ideas of a previous paper on sequential synchronization, in the current paper, we propose an incremental procedure for the concurrent case, meaning that our procedure does not build the resulting models from scratch, but it only modifies the parts of the models affected by the update.

Autores: Elvira Pino / Marisa Navarro / Fernando Orejas / 
Palabras Clave: (Concurrent) Model Synchronization - Incremental Model Synchronization - Model Transformation - Triple Graph Grammars

An Approach for Debugging Model Transformations Applying Spectrum-Based Fault Localization

Model transformations play a cornerstone role in Model-Driven Engineering as they provide the essential mechanisms for manipulating and transforming models. The use of assertions for checking their correctness has been proposed in several works. However, it is still challenging and error prone to locate the faulty rules, and the situation gets more critical as the size and complexity of model transformations grow, where manual debugging is no longer possible. Spectrum-Based Fault Localization (SBFL) is a technique for software debugging that uses the results of test cases and their corresponding code coverage information to estimate the likelihood of each program component (e.g., statements) of being faulty. This paper describes a proposal for applying SBFL for locating the faulty rules in ATL model transformations. The approach aims at automatically detecting the transformation rule that makes an assertion fail.

Autores: Javier Troya / Sergio Segura / José Antonio Parejo Maestre / Antonio Ruiz-Cortés / 
Palabras Clave: Debugging - Fault Localization - Model Transformation - Spectrum

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 Java-based 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.

Autores: Loli Burgueño / Manuel Wimmer / Antonio Vallecillo / 
Palabras Clave: Model Transformation - Parallelization - Performance - Scalability

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.

Autores: Loli Burgueño / Javier Troya / Antonio Vallecillo / 
Palabras Clave: Concurrency - Linda - Model Transformation

Introducing Approximate Model Transformations

Model transformations dealing with very large models need to count on mechanisms and tools to be able to manage them. The usual approach to improve performance in these cases has focused on the use of concurrency and parallelization techniques, which aim at producing the correct output model(s). In this paper we present our initial approach to produce target models that are accurate enough to provide meaningful and useful results, in an efficient way, but without having to be fully correct. We introduce the concept of Approximate Model Transformations.

Autores: Javier Troya / Antonio Vallecillo / 
Palabras Clave: Approximation - Model Transformation - Performance

No encuentra los resultados que busca? Prueba nuestra Búsqueda avanzada