Desarrollo de Software Dirigido por Modelos

URI permanente para esta colección:

Artículos en la categoría Desarrollo de Software Dirigido por Modelos publicados en las Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 12 de 12
  • Artículo
    Performance Analysis of Persistence Technologies for Cloud Repositories of Models
    Salazar-Álvarez, Juan-Pablo; Gómez-Martínez, Elena; de Miguel, Miguel. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    The growing adoption of Model Driven Development (MDD) in companies during last decade arises some model interchange problems. Companies need support to interchange models and reuse parts of them for developing new projects. Traditional tools for model edition and model interchange have different performance issues related to the models storage. There are mainly two styles to organize the persistence of models into repositories: a complex and large model or a large amount of small models. This last approach is common in companies that generate software from models. In this paper, we analyse performance properties of different persistence technologies to store small/medium-scale models, the analysis results should be considered in the design of model repositories in the cloud. With this aim, we have designed and developed a generic architecture to evaluate each persistence technology under similar situations.
  • Artículo
    Static analysis of textual models
    Ruiz-Rube, Iván; Person Montero, Tatiana; Dodero, Juan Manuel. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Domain specific languages (DSLs) based on textual notations are useful to describe the semantics of a given problem. Software frameworks, such as Xtext, enable to easily design and develop textual DSLs. The use of interactive quality platforms for analysing source code such as SonarQube is increasing. For evaluating the quality of a program written with an Xtext-designed DSL, all the artifacts required by SonarQube to parse and query the source code must be developed, which becomes time-consuming and error-prone. A transformation tool and its application to a DSL are presented to bridge the gap between Xtext and SonarQube grammar formats by following a model-driven interoperability strategy.
  • Artículo
    Análisis de transformaciones de modelos ATL con AnATLyzer
    Sánchez Cuadrado, Jesús; Guerra, Esther; de Lara, Juan. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Las transformaciones de modelos son un elemento clave del Desarrollo de Software Dirigido por Modelos puesto que permiten automatizar muchas tareas de manipulación de modelos. Por tanto, disponer de métodos que permitan detectar errores no triviales resulta esencial. Sin embargo no existen herramientas prácticas de análisis de transformaciones que sean capaces de tratar con transformaciones complejas. En esta demostración se presentará anATLyzer un analizador estático para transformaciones ATL que hace uso de "constraint solving" para mejorar la precisión del análisis. AnATLyzer no se limita a un subconjunto de ATL sino que intenta cubrir ATL completamente. Se integra con el editor de ATL en Eclipse, y ofrece servicios adicionales como visualización y quick fixes, así como una API para ser utilizado de manera programática. La demostración se ilustrará con un ejemplo sobre el que se mostrarán algunos de los tipos de errores que hemos encontrado analizando transformaciones del Zoo de ATL, con el objetivo de motivar la necesidad de este tipo de herramientas y mostrar sus características principales.
  • Artículo
    Desarrollo Eficiente de Lenguajes Específicos de Dominio para la Ejecución de Procesos de Minería de Datos
    de La Vega, Alfonso; García-Saiz, Diego; Zorrilla, Marta Elena; Sánchez Barreiro, Pablo. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Aunque las técnicas de minería de datos están consiguiendo cada día una mayor popularidad, su complejidad impide que sean aún utilizables por personas sin un sólido conocimiento en las mismas. Una posible solución, ya explorada por los autores de este artículo, es la construcción de Lenguajes Específicos de Dominio que proporcionen una serie de primitivas de alto nivel para la ejecución de procesos de minería de datos. Dichas primitivas sólo hacen referencia a terminología propia del dominio analizado, enmascarando detalles técnicos de bajo nivel. No obstante, la construcción de un lenguaje específico de dominio puede ser un proceso costoso. Este artículo muestra como reducir los tiempos de desarrollo de estos lenguajes de análisis mediante la reutilización de partes comunes de estos DSLs.
  • Artículo
    Una Propuesta de Editor Gráfico para el Modelado y la Generación de Código de Patrones de Eventos sobre Drones
    Boubeta-Puig, Juan; Hernández Núñez, Juan María; Moguel, Enrique; Preciado, Juan Carlos; Sánchez-Figueroa, Fernando. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Los lenguajes de procesamiento de eventos (EPL) permiten declarar e implementar patrones de eventos que son procesados posteriormente por motores de procesamiento de eventos complejos (CEP) y así poder detectar situaciones de interés del usuario en tiempo real. Para llevar a cabo esta tarea, el usuario debe tener un alto grado de experiencia en estos lenguajes. Sin embargo, y en el ámbito de los drones, los usuarios suelen tener un vasto conocimiento en el dominio para el que se necesitan definir ciertos patrones de eventos (motores, dispositivos de navegación, pilotos automáticos, etc.), pero que son inexpertos tanto en EPLs como en el lenguaje requerido para implementar las acciones a llevar a cabo en el dron tras la detección de los eventos. En este artículo presentamos un editor de modelado de patrones con el propósito de facilitar a los usuarios finales un entorno amigable e intuitivo con el que poder definir gráficamente las situaciones críticas y relevantes que se requieran detectar en los drones, y sin necesidad de conocer ningún lenguaje de programación en particular. Además, este editor transforma estos modelos gráficos de patrones al código que los implementa.
  • Artículo
    Lenguaje específico para el modelado de flujos de trabajo aplicados a ciencia de datos
    Salado-Cid, Rubén; Romero, José Raúl. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    La ciencia de datos permite la extracción de conocimiento utilizando fuentes no heterogéneas con grandes volúmenes de datos. Este campo es actualmente una de las áreas de mayor crecimiento debido al aumento exponencial de datos disponibles, con aplicación en un amplio rango de dominios. De hecho, es frecuente que los usuarios no posean conocimientos específicos en computación. Para ellos los flujos de trabajo son un mecanismo adecuado de representación y modelización de su proceso de trabajo, ya que permiten definir a alto nivel la secuencia de acciones que permitiría capturar la información y transformarla en conocimiento. Los sistemas de gestión de flujos de trabajo son los encargados de ejecutarlos de forma transparente. En este trabajo se presenta, formalizando su sintaxis abstracta, un lenguaje para la definición de flujos de trabajo a distintos niveles de abstracción. El desarrollo de este lenguaje, por su independencia de la notación concreta, se hace necesario para alcanzar un mayor nivel de interoperabilidad entre las aplicaciones ya desarrolladas para este fin.
  • Artículo
    MDDE: Una concepción genérica para diseño de entornos de desarrollo de software basados en MDSE
    Cuevas, César; López Martínez, Patricia; Drake, José María. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Se presenta MDDE (Model-Driven Development Environment), una concepción genérica para diseño de entornos de desarrollo de software basados en MDSE. Su objetivo es facilitar el uso de esta disciplina a los ingenieros software que di-señan e implementan entornos de soporte a las metodologías que proponen y que necesitan incluir en ellos nuevos modelos de información, herramientas y proce-sos de desarrollo. El componente principal de la concepción propuesta es un mo-delo de referencia que define las capacidades básicas, tanto funcionales como de interacción, que son comunes a cualquier entorno. En ella, la especificación e im-plementación de entornos, el soporte a los procesos que determinan su funciona-lidad y la definición de las opciones de interacción, supervisión y control por par-te de los operadores, se realizan íntegramente mediante la formulación de mode-los. Para dar soporte a esta capacidad, el modelo de referencia incluye un meta-modelo que formaliza tales modelos.
  • Artículo
    Una herramienta para evaluar el rendimiento de aplicaciones intensivas en datos
    Gómez, Abel; Merseguer, José. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Las aplicaciones intensivas en datos (AID) que usan tecnologías de Big Data se están convirtiendo en una parte importante del mercado de desarrollo de software. Sin embargo, las técnicas --y su automatización-- para el asesoramiento de la calidad para este tipo de aplicaciones es claramente insuficiente. El proyecto DICE H2020 tiene como objetivo definir metodologías y crear herramientas para desarrollar y monitorizar AID mediante técnicas de ingeniería dirigida por modelos. En este artículo presentamos un componente clave del proyecto DICE: su herramienta de simulación. Esta herramienta es capaz de evaluar el rendimiento de AID simulando su comportamiento mediante modelos de redes de Petri. Como complemento, existe a disposición un vídeo mostrando la herramienta en http://tiny.cc/z1qzay.
  • Artículo
    Evaluating Embedded Relational Databases for Large Model Persistence and Query
    De Carlos, Xabier; Sagardui, Goiuria; Trujillo, Salvador; Perkaz, Alain; Cañizo, Mikel; Iglesias, Aitziber. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Large models are increasingly used in Model Driven Development. Different studies have proved that XMI (default persistence in Eclipse Modelling Framework) has some limitations when operating with large models. To overcome them, recent approaches have used databases for persistence of models. EDBM (Embedded DataBase for Models) is an approach for persisting models in an embedded relational database, which provides scalable querying mechanism by runtime translation of model-level queries to SQL. In this paper, we present an evaluation of EDBM in terms of scalability with existing approaches. GraBaTs 2009 case study (models from 8.8MB to 646MB) is used for evaluation. EDBM is 70% faster than compared approaches to persist XMI GraBats models into databases and executes the GraBats query faster, as well as having a low memory usage. These results indicate that embedded relational database, combined with a scalable query mechanism provide a promising alternative for persisting and querying large models.
  • Artículo
    Towards the Automation of Metamorphic Testing in Model Transformations
    Troya, Javier; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Model transformations are the cornerstone of Model-Driven Engineering, and provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and error-prone task, this is refereed to as the oracle problem in the software testing literature. The correctness of the model transformation program is crucial for the proper generation of its output, so they should be tested. Metamorphic testing is a testing technique to alleviate the oracle problem consisting on exploiting the relations between different inputs and outputs of the program under test, so-called metamorphic relations. In this paper we give an insight into our approach to generically define metamorphic relations for model transformations, which can be automatically instantiated given any specific model transformation.
  • Artículo
    Bringing together existing Business Modeling flavors
    Vara, Juan Manuel; De Castro, María Valeria; Granada, David; Marcos Martínez, Esperanza. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    There are currently several techniques or notations for business modeling that allow the idea of business to be explored in greater or less detail, while simultaneously helping to understand, conceptualize and represent the services that add value to an organization. All of these techniques have similarities and differences, but are in many cases complementary. However, there is no integrated environment that makes it possible to work with several models simultaneously, and much less that provides support as regards identifying, registering and managing the relationships among them. This work is a first step towards attempting to fill this lack by constructing a technological environment that will integrate tools in order to support different business modeling techniques and to register and manage the relationships among different models.
  • Artículo
    Towards Distributed Model Transformations with LinTra
    Burgueño, Lola; Wimmer, Manuel; Vallecillo, Antonio. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Performance and scalability of model transformations are becoming prominent topics in Model-Driven Engineering. In previous work, 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 an approach to achieve scalable out-place model-to-model transformation executions in LinTra by distributing the models involved in the transformation over a set of machines.