14 research outputs found

    Método para la adaptación de transformaciones M2M legadas ante cambios en la lógica de mapeo y a extensiones de metamodelos mediante perfiles

    Get PDF
    El software se está convirtiendo en un elemento fundamental en los productos electrónicos. Cuando se desarrollan sistemas embebidos, los requisitos a cumplir no sólo se definen en términos de los aspectos funcionales del sistema, sino también en diferentes requisitos de diseño, como el tamaño, el consumo de energía, el tiempo de respuesta, la seguridad o la fiabilidad, usualmente denominados requisitos no funcionales (RNF). Los RNF son fundamentales en el desarrollo de sistemas embebidos. El diseño de un sistema embebido es un proceso complejo, que implica el modelado, la verificación y la validación de requisitos funcionales y no funcionales. La combinación de conceptos de desarrollo de software dirigido por modelos (DSDM) y de arquitecturas software se considera especialmente ventajosa para el desarrollo de sistemas complejos, tales como los sistemas embebidos. El paradigma de desarrollo impulsado por modelo eleva el nivel de abstracción de las especificaciones del sistema y aumenta la automatización en el desarrollo del sistema. El DSDM utiliza los modelos como el principal artefacto del proceso de producción de software. Los modelos son transformados incrementalmente hasta generar el producto software. En el DSDM una transformación de modelo se especifica a través de un conjunto de reglas de transformación. Las tareas para definir, especificar y mantener las reglas de transformación son complejas y críticas. Cuando un RNF no considerado en el desarrollo debe ser agregado, los metamodelos, los modelos y las transformaciones se ven afectados. En esta tesis se presenta la metodología denominada TRANSEVOL. TRANSEVOL es una solución para la adaptación de transformaciones modelo a modelo (M2M) legadas frente a cambios en los RNF que requieren (a) cambios en la lógica de mapeo; y (b) cambios en la lógica de mapeo al extender los metamodelos mediante perfiles. Mediante el uso de TRANSEVOL se reduce el tiempo de adaptación de las transformaciones M2M legadas. Para automatizar la deducción y localización de los cambios a realizar en una transformación M2M legada TRANSEVOL propone combinar la traza de ejecución de la transformación M2M legada con la especificación del nuevo requisito de mapeo expresado mediante modelos ejemplos. Combinando las diferencias con las trazas de ejecución se ubican los cambios a realizar en la transformación M2M legada. Para validar la propuesta se ha desarrollado un prototipo de herramienta.Software is increasingly becoming an integral part of electronic-end-customer products. When developing embedded systems the requirements to fulfill are not only defined in terms of the functional aspects of the system, but also on different design requirements, such as size, power consumption, response time, security or reliability, usually called Non-Functional-Requirements (NFR). NFRs are critical in the development of embedded systems. Designing an embedded realtime system is a complex process, which involves modeling, verification and validation of functional and non functional requirements. The combination of model driven software development (MDD) and software architecture concepts is considered especially advantageous for developing complex systems, such as embedded systems. The Model Driven development (MDD) paradigm raises the abstraction level of system specifications and increases automation in system development. MDD uses models as the primary artifact of the software production process, and the development steps consist of the application of transformation steps over these models. On MDD, a model transformation is specified through a set of transformation rules. Tasks for defining, specifying and maintaining transformation rules are usually complex and critical in MDD. When a Non Functional Requirement (NFR) not considered in the development must be added metamodels, models and transformations are affected. This work presents the methodology TRANSEVOL. TRANSEVOL is a solution for the adaptation of legacy model-to-model (M2M) transformations to changes in NFR that requires (a) changes in the mapping logic; and (b) changes in the mapping logic due to the extension of metamodels using profiles. The use of TRANSEVOL reduces the adaptation time of legacy M2M transformations. To automate the derivation and localization of changes to be made in a legacy M2M transformation, TRANSEVOL proposes to combine the execution trace of the legacy model-to-model transformation with the specification of the new mapping requirement expressed by example models. Combining the model differences with the execution trace, the changes to be made in the legacy M2M transformation are deducted. To validate the proposal, a prototype of a tool has been develop.Softwarea produktu elektronikoen funtsezko atala bihurtu da. Sistema txertatu elektronikoen softwarea garatzean betebehar funtzionaletaz aparte baldintza ez funtzionalak ere bete behar dira. Beraz, sistema hauen diseinuan ezinbestekoak dira: softwarearen tamaina, energia-kontsumoa, erantzun denborak, segurtasuna edo fidagarritasuna. Baldintza hauei betebehar ez funtzionalak (BEZ) deritzote. BEZ-ak ezinbestekoak dira sistema txertatuen garapenean. Software arkitekturak eta ereduetan oinarritutako software garapena sistema txertatuen ekoizpenerako metodologia onuragarriak dira. Azken urteetan garapen eredu hauek sistema txertatuen industrian barneratzen hasi dira. Ereduetan oinarritutako software garapenaren helburua sistemaren abstrakzio maila handitzea eta gauzapena automatizatzea da. Ereduetan oinarritutako software garapenean eredua da software ekoizpenaren elementu zentrala. Ekoizpen prozesuan ereduak etengabe eraldatzen dihoaz softwarearen kodea lortu arte. Ereduetan oinarritutako software garapenean ereduen eraldatzeak transformazio erregelen bitartez gauzatzen dira. Transformazio erregelen diseinua, gauzapena, aldaketa eta balidapena konplexua da. BEZ berri bat agertzean metaereduak, ereduak eta transformazioak aldatu behar dira. Lan honetan laguntzeko TRANSEVOL izeneko metodologia aurkezten da. TRANSEVOL transformazioen aldaketa gauzatzeko metodologia da. TRANSEVOL transformazioak BEZ berrien eraginez aldatu behar direnean aplikatzeko soluzioa da. Bi egoera zehatzetan aplikatzen da TRANSEVOL: (a) metaereduak aldatu gabe eraldatze logika aldatu behar denean eta (b) metaereduei perfilak ezartzeagatik eraldatze logika aldatu behar denean. TRANSEVOLek transformazioren aldaketa prozesuaren denbora murrizten du. TRASNEVOLek egin beharreko aldaketak kalkulatu eta kokatzen ditu. Horretarako, transformazioen exekuzio aztarnak eta ereduen arteko desberdintasunak erabiltzen ditu. Lan honetan TRANSEVOL metodologia gauzatzen duen tresna bat garatu da metodologiaren baliogarritasuna egiaztatzeko

    HuRoME: entorno de modelado para el software de un robot humanoide

    Get PDF
    Actualmente, el Desarrollo de Software Dirigido por Modelos (DSDM) representa uno de los paradigmas de desarrollo software más en boga en el ámbito de la Ingeniería del Software. Las tecnologías en torno a este nuevo enfoque ofrecen una aproximación prometedora para superar las limitaciones expresivas de los lenguajes de programación de tercera generación, permitiendo a los diseñadores describir sistemas cada vez más complejos de manera más simple, gracias a la utilización de conceptos propios de sus dominios de aplicación. El DSDM busca, por lo tanto, elevar el nivel de abstracción utilizado durante las distintas etapas del ciclo de vida del software. El DSDM ha sido aplicado de forma exitosa en algunos dominios, como en el diseño de sistemas empotrados, o en redes de sensores. Sin embargo, en el dominio de la robótica sólo es posible encontrar algunas referencias muy recientes, que apuntan hacia un creciente interés de la comunidad en este nuevo paradigma de desarrollo software. Según esto se debe a la “falta crónica de normalización, interoperabilidad y reutilización del software”, especialmente en áreas como la robótica. El presente proyecto trata de ilustrar los beneficios de aplicar el DSDM al ámbito de la robótica. Para ello, el entorno HuRoME (Humanoid Robot Modeling Environment), que se presenta en este proyecto, ofrece una aproximación al desarrollo de software para robótica utilizando un enfoque dirigido por modelos. Este entorno se plantea como un conjunto de herramientas diseñadas para facilitar el modelado de coreografías (secuencias de movimientos) y la modernización del software existente para el robot humanoide Robonova. Así pues, HuRoME permitirá a los numerosos usuarios de Robonova, incluso a aquellos que adolecen de formación técnica específica sobre control o programación de robots, modelar gráficamente y validar formalmente las secuencias de movimientos del robot (coreografías), generar automáticamente la implementación asociada a cada coreografía en el lenguaje específico, y modernizar y reutilizar el software ya existente, permitiendo la obtención de los modelos equivalentes a cualquier programa existente.Escuela Técnica superior de Ingeniería Agronómic

    HuRoME+ : entorno de modelado de coreografías complejas para un robot humanoide

    Get PDF
    Los objetivos que se pretenden abordar en el presente Proyecto son los siguientes: • Estudio y conocimiento de las herramientas pertenecientes al Eclipse Modeling Project que servirán de soporte para la realización del presente Proyecto. Así como la adquisición del conocimiento técnico necesario para la comprensión del lenguaje que utiliza el robot (RoboBASIC [12]), simuladores, etc. • Realización de extensiones al entorno para el modelado de coreografías del robot Robonova basado en el paradigma DSDM (HuRoME). Estas extensiones harán que el entorno de modelado soporte mecanismos de control de flujo que permitan al diseñador describir coreografías más complejas y, por otro lado, se adoptará un proceso diferente de transformación, modelo-a-modelo (M2M) para la generación de modelos a partir de código. • Desarrollo de las herramientas necesarias para dar soporte a los procesos de modelado gráfico de coreografías complejas para el robot Robonova y la generación automática y modernización de código RoboBASIC. • Obtención de resultados y extracción de conclusiones sobre la herramienta desarrollada con sus nuevas mejoras, así como su impacto en el ámbito de la robótica. Planteamiento de mejoras y líneas futuras de trabajo.Escuela Técnica Superior de Ingeniería de TelecomunicaciónUniversidad Politécnica de Cartagen

    Derivación, Evaluación y Mejora de la Calidad de Arquitecturas Software en el Desarrollo de Líneas de Producto Software Dirigido por Modelos

    Full text link
    En los últimos años se han propuesto diferentes aproximaciones para el desarrollo de sistemas altamente complejos. Algunos esfuerzos intentan aplicar la aproximación de Líneas de Producto Software tratando de sacar partido de la reutilización masiva para producir sistemas software que comparten un conjunto común de características. Una Línea de Producto Software (LPS) es un conjunto de sistemas software que comparten un conjunto de características comunes que satisfacen las necesidades específicas de un segmento de mercado particular y que son desarrollados a partir de un conjunto de activos software comunes de un modo preestablecido [6]. El desarrollo de una LPS consta de dos procesos básicos: la Ingeniería del Dominio, donde se establece cuáles son las partes comunes y las variables y se construye un conjunto de activos (product¿s line core assets) como partes de los sistemas software a desarrollar, y la Ingeniería de la Aplicación, donde los core assets son reutilizados sistemáticamente para derivar productos específicos. De este modo se reducen costes y tiempo de desarrollo. En el desarrollo de líneas de producto se presentan dos arquitecturas software que juegan dos roles diferenciados; i) la arquitectura de la línea de producto que da soporte a todas los posibles productos que pueden ser obtenidos a partir de la línea de producto y que cuenta con los mecanismos de variabilidad necesarios para cubrir toda la gama de productos y ii) la arquitectura de producto, que es creada a partir de la arquitectura de la línea de producto ejerciendo los mecanismos de variabilidad, para que esta se adapte a los requisitos del producto en desarrollo. En general, el aseguramiento de la calidad del producto es una actividad crucial para el éxito de la industria del software, pero es, si cabe, más importante cuando se trata del desarrollo de líneas de producto software, dado que la reutilización masiva de core assets hace que los atributos de calidad (propiedades físicas o abstractas de un artefacto software) de los core assets impacten en la calidad de todos los productos de una línea de producto. Este hecho es de especial relevancia cuando tratamos con la arquitectura software, que es el core asset mas critico en el desarrollo de líneas de producto. La arquitectura software es la vía para conseguir el cumplimiento de los requisitos no funcionales de nuestro producto, por lo que asegurar que estos requisitos se cumplen durante el proceso de derivación de la arquitectura es una actividad crítica en el proceso de desarrollo. El desarrollo de líneas de producto va, en la mayoría de los casos, ligada a la aplicación del paradigma de desarrollo dirigido por modelos. El Desarrollo de Software Dirigido por Modelos (DSDM) que promueve el uso de modelos durante a lo largo de todo el proceso de desarrollo de software, permitiendo que estos modelos puedan ser transformados sucesivamente hasta la obtención del producto final. En la literatura no se encuentran propuestas que, de forma completa, sistemática y automatizada, permitan obtener arquitecturas de producto software que cumplan una serie de requisitos de calidad. El presente trabajo de investigación pretende la mejora del contexto anterior proponiendo el método QuaDAI (Quality Driven Architecture Derivation and Improvement), un método de derivación, evaluación y mejora de la calidad de arquitecturas software en el Desarrollo de Líneas de Producto Dirigido por Modelos mediante la definición de un artefacto (el multimodelo) y de un proceso dirigido por transformaciones que permite automatizar un proceso (el de derivación, evaluación y mejora) de por si altamente complejo. Este método va dirigido a empresas de desarrollo de software que utilice el paradigma de LPS y que pretendan introducir técnicas automatizadas de aseguramiento de calidad y para investigadores interesados en el campo de las arquitecturas software, líneas de producto y desarrollo dirigido por modelos.González Huerta, J. (2014). Derivación, Evaluación y Mejora de la Calidad de Arquitecturas Software en el Desarrollo de Líneas de Producto Software Dirigido por Modelos [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/36448TESI

    Definidor visual bajo Eclipse Europa

    Get PDF
    El objetivo principal del proyecto es desarrollar una herramienta basada en la norma BPMN para el modelado gráfico de procedimientos de negocio. La implementación de la herramienta se realiza bajo el entorno de desarrollo Eclipse Europa, y la arquitectura dirigida por modelos. Para llevar a cabo el modelado gráfico de los procedimientos de negocio, se dispone de una paleta que contiene todos los elementos a modelar. Desde dicha paleta y mediante la técnica “drag and drop”, se pueden situar dichos elementos en una pizarra, y acceder a la información de los mismos mediante una ventana de propiedades, al hacer clic sobre ellos. La herramienta, ofrece la posibilidad de generar un fichero en formato XML compatible con la norma BPMN, con la información de los elementos modelados.Ingeniería en Informátic

    Localización e internacionalización de software: puntos de encuentro entre el localizador y el programador

    Get PDF
    [ES] Por la manera en que se ha desarrollado la industria de localización de programas informáticos, el proceso de localización siempre ha funcionado como una caja negra que trabaja con su propio equipo de gestores y traductores, desvinculada de las metodologías y técnicas que se utilizan para desarrollar software. En muchos casos, y para muchas de las principales editoriales de software y desarrolladores de plataformas de programación, es, incluso, un proceso marginal que se invoca solo cuando hace falta traducir cadenas de texto. Esta inclusión tardía no solo genera enormes problemas en el proceso de la traducción de esas cadenas de texto, sino que, en muchas ocasiones, imposibilita que se pueda lanzar el producto en diversos mercados cuyos idiomas y culturas no encajan con las prestaciones que han sido tomadas en consideración durante el desarrollo y programadas al software. En esta investigación haremos un resumen histórico del desarrollo de las computadoras y de cómo han surgido las tres principales plataformas de programación: las mainframes, las minicomputadoras y las computadoras personales. Veremos que, a la par con los equipos o hardware, han surgido una variedad de lenguajes de programación y de estrategias para desarrollar programas informáticos. Según la aplicación y uso de estos equipos se ha ido ampliando, la necesidad de dar orden a las estrategias y procesos que se llevan a cabo en el desarrollo de programas informáticos sirve de base para la creación y desarrollo de estrategias y metodologías de desarrollo de programas. Junto con estos desarrollos, el surgimiento de las computadoras personales favorece la creación de productos que no solo sirvan a los mercados (principalmente) estadounidenses, sino a otros mercados que se comunican en distintos idiomas y tienen necesidades particulares. Esta es la génesis de la industria de la localización y el punto en donde comienza a confluir la traducción con la informática. Hasta este momento, todas las investigaciones que se han hecho sobre la localización de software toman como punto de partida el programador, un programador que investiga qué son programas multilingües y qué hay que tomar en consideración para crearlos. Nuestra propuesta nace del otro “lado”, del lado del localizador que se acerca a la programación como experto en lenguas y en gestión multicultural. Este experto conoce los problemas que se enfrenta el que está dentro de la caja negra de la localización, pero también está preparado para participar en los procesos anteriores, los que se llevan a cabo para crear programas nuevos. El “internacionalizador” posee los conocimientos y destrezas necesarias para poder formar parte del equipo de desarrollo de una aplicación desde sus comienzos hasta las etapas finales y ayudará a integrar en este proceso los requisitos necesarios para lograr que el software pueda ser localizado con facilidad llegado el momento de viabilizar su lanzamiento en otros mercados con necesidades lingüísticas, legales y culturales diversas. En el siglo de las comunicaciones es imposible pensar que se desarrolle software que no atienda las necesidades de más de un mercado. El internacionalizador puede ayudar al equipo de desarrollo de software a lograr esto.[EN] The localization process has always been regarded as a black box that functions on its own, with a team of project managers and translators who never get involved in software development methodologies or technologies. This is mainly due to the way in which the software localization industry has developed. In many cases, and for many of the main software publishers and platform developers, localization is a peripheral process that is only invoked when text strings need translation. Including localization late in the development process not only brings enormous problems when translating strings, on many occasions it becomes impossible to launch the product in other markets which have the need to accommodate languages and cultures that do not fit within the features that were developed and included in the software. This dissertation begins by making a historical account of the development of computers and describes how the three main programming platforms—namely mainframes, minicomputers, and personal computers—came into being. We shall see that, as hardware developed and new features were added, a variety of programming languages and strategies for developing software emerged. As features, application, and use of hardware further expanded, the need for organizing strategies and processes for creating programs became the basis for formulating and establishing software development strategies and methodologies. Along with these developments, the introduction of personal computers eventually promoted the need for creating products that serve not only markets in the United States, but other markets that communicate in different languages and exhibit particular needs of their own. Thus, the localization industry was born. It is at this point that translation and computers begin to come together and interact. Up until now, research regarding software localization has had programmers as a starting point. These programmers have researched what multilingual programs are and what needs to be done to create them. Our proposal comes from the other “side,” from the localizer’s point of view; a localizer that approaches programming as an expert in languages and intercultural mediation. This expert knows the problems within localization’s black box, but is also prepared to participate in the processes that take place before translation, the processes that take place in order to create new software. These “internationalizers,” as we refer to them, have all the necessary knowledge and skills to enable them to become part of a software development team from the beginning all the way through to the final stages. Their knowledge and presence will help integrate into this process the necessary requirements that will allow for smooth software localization, when the decision is made to launch the application into other markets that have diverse linguistic, legal, and cultural needs. In this century, mainly guided by communication, it is unthinkable to develop software that only attends to the needs of a single market. The internationalizer can help the software development team to accomplish this

    XXI Workshop de Investigadores en Ciencias de la Computación - WICC 2019: libro de actas

    Get PDF
    Trabajos presentados en el XXI Workshop de Investigadores en Ciencias de la Computación (WICC), celebrado en la provincia de San Juan los días 25 y 26 de abril 2019, organizado por la Red de Universidades con Carreras en Informática (RedUNCI) y la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de San Juan.Red de Universidades con Carreras en Informátic

    XXI Workshop de Investigadores en Ciencias de la Computación - WICC 2019: libro de actas

    Get PDF
    Trabajos presentados en el XXI Workshop de Investigadores en Ciencias de la Computación (WICC), celebrado en la provincia de San Juan los días 25 y 26 de abril 2019, organizado por la Red de Universidades con Carreras en Informática (RedUNCI) y la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de San Juan.Red de Universidades con Carreras en Informátic

    XX Workshop de Investigadores en Ciencias de la Computación - WICC 2018 : Libro de actas

    Get PDF
    Actas del XX Workshop de Investigadores en Ciencias de la Computación (WICC 2018), realizado en Facultad de Ciencias Exactas y Naturales y Agrimensura de la Universidad Nacional del Nordeste, los dìas 26 y 27 de abril de 2018.Red de Universidades con Carreras en Informática (RedUNCI

    XX Workshop de Investigadores en Ciencias de la Computación - WICC 2018 : Libro de actas

    Get PDF
    Actas del XX Workshop de Investigadores en Ciencias de la Computación (WICC 2018), realizado en Facultad de Ciencias Exactas y Naturales y Agrimensura de la Universidad Nacional del Nordeste, los dìas 26 y 27 de abril de 2018.Red de Universidades con Carreras en Informática (RedUNCI
    corecore