512 research outputs found

    Transformación de modelos con Eclectic

    Full text link
    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)

    Solving the flowgraphs case with eclectic

    Full text link
    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

    Recursion and Iteration Support in USE Validator with AnATLyzer

    Full text link
    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)

    Building Domain-Specific Languages for Model-Driven Development

    Get PDF
    ©2007. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/ This document is the Published, version of a Published Work that appeared in final form in IEEE Open Journal of the Computer Society. To access the final edited and published work see https://doi.org/10.1109/MS.2007.13

    Open meta-modelling frameworks via meta-object protocols

    Full text link
    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

    Deriving OCL Optimization Patterns from Benchmarks

    Get PDF
    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

    Generating Structurally Realistic Models With Deep Autoregressive Networks

    Get PDF
    Model generators are important tools in model-based systems engineering to automate the creation of software models for tasks like testing and benchmarking. Previous works have established four properties that a generator should satisfy: consistency, diversity, scalability, and structural realism. Although several generators have been proposed, none of them is focused on realism. As a result, automatically generated models are typically simple and appear synthetic. This work proposes a new architecture for model generators which is specifically designed to be structurally realistic. Given a dataset consisting of several models deemed as real models, this type of generators is able to produce new models which are structurally similar to the models in the dataset, but are fundamentally novel models. Our implementation, named ModelMime (M2), is based on a deep autoregressive model which combines a Graph Neural Network with a Recurrent Neural Network. We decompose each model into a sequence of edit operations, and the neural network is trained in the task of predicting the next edit operation given a partial model. At inference time, the system produces new models by sampling edit operations and iteratively completing the model. We have evaluated M2 with respect to three state-of-the-art generators, showing that 1) our generator outperforms the others in terms of the structurally realistic property 2) the models generated by M2 are most of the time consistent, 3) the diversity of the generated models is at least the same as the real ones and, 4) the generation process is scalable once the generator is trained

    Reusable abstractions for modeling languages

    Full text link
    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)

    A-posteriori Typing for Model-Driven Engineering

    Full text link
    Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. J. de Lara, E. Guerra and J. Sánchez Cuadrado, "A-posteriori typing for Model-Driven Engineering," 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS), Ottawa, ON, 2015, pp. 156-165. doi: 10.1109/MODELS.2015.7338246Model-Driven Engineering is founded on the ability to create and process models conformant to a meta-model. Hence, meta-model classes are used in two ways: as templates to create objects, and as classifiers for them. While these two aspects are inherently tied in most meta-modelling approaches, in this paper, we discuss the benefits of their decoupling. Thus, we rely on standard mechanisms for object creation and propose a-posteriori typing as a means to reclassify objects and enable multiple, partial, dynamic typings. This approach enhances flexibility, permitting unanticipated reutilization (as existing model management operations defined for a meta-model can be reused with other models once they get reclassified), as well as model transformation by reclassification.We show the underlying theory behind the introduced concepts, and illustrate its applicability using our METADEPTH meta-modelling tool.Work supported by the Spanish MINECO (TIN2011-24139 and TIN2014-52129-R), and the R&D programme of the Madrid Region (S2013/ICE-3006)
    corecore