136 research outputs found
Solving the flowgraphs case with eclectic
This is an electronic version of the paper presented at the 6th Transformation Tools Contest, held in Budapest on 2013This paper presents a solution for the Flow Graphs case of the Transformation Tool Contest 2013,
using the Eclectic model transformation tool. The solution makes use of several languages of Eclectic,
showing how it is possible to combine them to address a non-trivial transformation problem in a
concise and modulary wa
Transformación de modelos con Eclectic
Versión electrónica de la ponencia presentada en la XVII Jornadas de Ingeniería del Software y de Bases de Datos (JISBD’2012), celebrada en 2012 en AlmeríaLas transformaciones de modelos son un elemento clave del
Desarrollo de Software Dirigido por Modelos. En los últimos años se han
propuesto varios lenguajes de transformación de diferente naturaleza,
siendo cada uno de ellos adecuado para un determinado tipo de tarea de
transformación. Sin embargo, una transformación compleja normalmente
implica abordar una serie de sub-problemas que corresponden a diferentes
estilos de transformación , y por tanto no toda la transformación
puede desarrollarse de forma natural en el lenguaje elegido.
En esta demostración se presentará el entorno de transformación de
modelos Eclectic, que trata de abordar el desarrollo de transformaciones
de modelos ofreciendo una familia de lenguajes de transformación. Cada
lenguaje tiene como objetivo abordar un determinado tipo de transformaciones,
y está específicamente diseñado para ello. La demostración se
ilustrar´a con un ejemplo de aplicación que utiliza diferentes lenguajes, se
mostrar´a el entorno de desarrollo y se comentarán características de la
aproximación tales como interoperabilidad entre lenguajes e integración
con programas Java.Este trabajo ha sido financiado por el Ministerio de Educación y Ciencia (TIN2011-24139) y la Comunidad de Madrid (S2009/TIC-1650)
Recursion and Iteration Support in USE Validator with AnATLyzer
Also published online by CEUR Workshop Proceedings (CEUR-WS.org, ISSN 1613-0073) Model finders enable numerous verification approaches based
on searching the existence of models satisfying certain properties of interest.
One of such approaches is anATLyzer, a static analysis tool for ATL
transformations, which relies on USE Validator to provide fine grained
analysis based on finding witness models that satisfy the OCL path conditions
associated to particular errors. However it is limited by the fact
that USE Validator does not include built-in support for analysing recursive
operations and the iterate collection operator.
This paper reports our approach to allow USE Validator to analyse OCL
path conditions containing recursive operations and iterate, with the aim
of widening the amount of actual transformations that can be processed
by anATLyzer. We present our approach, based on unfolding recursion
into a finite number of steps, and we discuss how to take into account
practical aspects such as inheritance and details about the implementation.This work has been supported by the Spanish MINECO (TIN2011-24139 and TIN2014-52129-R), the R&D programme of the Madrid Region (S2013/ICE-3006), and the EU commission (FP7-ICT-2013-10, #611125)
Open meta-modelling frameworks via meta-object protocols
Meta-modelling is central to Model-Driven Engineering. Many meta-modelling notations, approaches and tools have been proposed along the years, which widely vary regarding their supported modelling features. However, current approaches tend to be closed and rigid with respect to the supported concepts and semantics. Moreover, extending the environment with features beyond those natively supported requires highly technical knowledge. This situation hampers flexibility and interoperability of meta-modelling environments.
In order to alleviate this situation, we propose open meta-modelling frameworks, which can be extended and configured via meta-object protocols (MOPs). Such environments offer extension points on events like element instantiation, model loading or property access, and enable selecting particular model elements over which the extensions are to be executed. We show how MOP-based mechanisms permit extending meta-modelling frameworks in a flexible way, and allow describing a wide range of meta-modelling concepts. As a proof of concept, we show and compare an implementation in the MetaDepth tool and an aspect-based implementation atop the Eclipse Modelling Framework (EMF). We have evaluated our approach by extending EMF and MetaDepth with modelling services not foreseen initially when they were created. The evaluation shows that MOP-based mechanisms permit extending meta-modelling frameworks in a flexible way, and are powerful enough to support the specification of a broad variety of meta-modelling featuresWork partially funded by projects RECOM and FLEXOR (Spanish MINECO,TIN2015-73968-JIN (AEI/FEDER/UE) and TIN2014-52129-R) and the R&D programme of the Madrid Region (S2013/ICE-3006
Towards a family of model transformation languages
Abstract. Many model transformation languages of different nature have been proposed during the last years, each one of them suitable for a certain kind of transformation task. However, a complex transformation problem may not fall into a single transformation category, making the solution written in the chosen transformation language suboptimal, as some concerns cannot be handled naturally. To tackle this issue, we propose to define a model transformation tool as a family of model transformation languages. Each member of the family is a simple language intended to deal with a particular kind of transformation task. In this paper we discuss the different issues involved, such as design decisions, interoperability among languages, and composability. We illustrate the paper with a transformation from UML and OCL to Java, in which languages for pattern matching, mapping, attribution and target-oriented transformations are used. Finally, the approach is validated with a proof-of-concept implementation
Lenguajes de dominio específico
En esta charla introduce el concepto de Lenguaje Específico de Dominio (Domain-Specific Language; DSL). El objetivo es motivar la utilidad de los DSLs como mecanismo para poder elevar el nivel de abstracción en el desarrollo de software, y ofrecer la información suficiente para que cualquiera pueda comenzar a construir un DSL. Se describen los componentes de un DSL y se presentan diversos ejemplos que para ilustrar las diferentes variantes. También se describen brevemente, a través de tres pequeños casos de estudio, algunas técnicas para la implementación de lenguajes embebidos (en Ruby), lenguajes textuales (con Xtext) y lenguajes gráficos (con Sirius).Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tec
Deriving OCL Optimization Patterns from Benchmarks
Writing queries and navigation expressions in OCL is an important part of the task of developing a model transformation definition. When such queries are complex and the size of the models is significant, performance issues cannot be neglected.
In this paper we present five patterns intended to optimize the performance of model transformations when OCL queries are involved. For each pattern we will give an example as well as several implementation alternatives. Experimental data gathered by running benchmarks is also shown to compare the alternatives. The model transformation benchmark framework developed to obtain these results is also described
Reusable abstractions for modeling languages
This is the author’s version of a work that was accepted for publication in Information Systems. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Information Systems, 38, 8, (2013) DOI: 10.1016/j.is.2013.06.001Model-driven engineering proposes the use of models to describe the relevant aspects of the system to be built and synthesize the final application from them. Models are normally described using Domain-Specific Modeling Languages (DSMLs), which provide primitives and constructs of the domain. Still, the increasing complexity of systems has raised the need for abstraction techniques able to produce simpler versions of the models while retaining some properties of interest. The problem is that developing such abstractions for each DSML from scratch is time and resource consuming.
In this paper, our goal is reducing the effort to provide modeling languages with abstraction mechanisms. For this purpose, we have devised some techniques, based on generic programming and domain-specific meta-modeling, to define generic abstraction operations that can be reused over families of modeling languages sharing certain characteristics. Abstractions can make use of clustering algorithms as similarity criteria for model elements. These algorithms can be made generic as well, and customized for particular languages by means of annotation models.
As a result, we have developed a catalog of reusable abstractions using the proposed techniques, together with a working implementation in the MetaDepth multi-level meta-modeling tool. Our techniques and prototypes demonstrate that it is feasible to build reusable and adaptable abstractions, so that similar abstractions need not be developed from scratch, and their integration in new or existing modeling languages is less costly.Work funded by the Spanish Ministry of Economy and Competitivity with project “Go Lite” (TIN2011-24139), and the R&D programme of Madrid Region with project “eMadrid” (S2009/TIC-1650)
- …