MDCI: Model-Driven Continuous Integration

El propósito de esta Tesis es llevar a cabo un proceso en el que se aplique la práctica de la integración continua en un desarrollo de software dirigido por modelos de forma eficiente, mediante el cual los desarrollos de software puedan beneficiarse conjuntamente de las mejoras y ventajas que propor...

Full description

Bibliographic Details
Main Author: García Díaz, Vicente
Other Authors: Cueva Lovelle, Juan Manuel
Format: Doctoral Thesis
Language:Spanish
Published: Universidad de Oviedo 2011
Subjects:
004
Online Access:http://hdl.handle.net/10803/80298
id ndltd-TDX_UOV-oai-www.tdx.cat-10803-80298
record_format oai_dc
collection NDLTD
language Spanish
format Doctoral Thesis
sources NDLTD
topic Ingeniería dirigida por modelos
Integración continua
Modelo
Metamodelo
Comparación de modelos
Sistema de control de versiones
Generador de artefactos
Generación incremental
Lenguaje de dominio específico
Model-Driven Architecture
Meta-Object Facility
Ecore
Lenguajes y Sistemas informáticos
004
spellingShingle Ingeniería dirigida por modelos
Integración continua
Modelo
Metamodelo
Comparación de modelos
Sistema de control de versiones
Generador de artefactos
Generación incremental
Lenguaje de dominio específico
Model-Driven Architecture
Meta-Object Facility
Ecore
Lenguajes y Sistemas informáticos
004
García Díaz, Vicente
MDCI: Model-Driven Continuous Integration
description El propósito de esta Tesis es llevar a cabo un proceso en el que se aplique la práctica de la integración continua en un desarrollo de software dirigido por modelos de forma eficiente, mediante el cual los desarrollos de software puedan beneficiarse conjuntamente de las mejoras y ventajas que proporcionan la aproximación de desarrollo de la ingeniería dirigida por modelos y la práctica de la integración continua. La aproximación de la ingeniería dirigida por modelos es el último salto natural de la ingeniería del software en cuanto a la búsqueda de métodos de desarrollo que elevan el nivel de abstracción hasta el punto en el que los expertos de un dominio de conocimiento, ajenos al mundo informático, son capaces de guiar y cambiar la lógica de los sistemas informáticos. La práctica de la integración continua es una recomendación de las principales metodologías de desarrollo, que tiene como objetivo la realización de integraciones automáticas del software en etapas tempranas del desarrollo, ofreciendo ventajas como la reducción del riesgo intrínseco que, dado su carácter temporal y único, tienen todos los proyectos. Con la unión de la ingeniería dirigida por modelos y de la práctica de la integración continua se busca ofrecer, a los equipos de desarrollo que trabajan utilizando algún tipo de iniciativa de la ingeniería dirigida por modelos, la posibilidad de integrar de forma continua y distribuida sus desarrollos. Al mismo tiempo, los clientes, verdaderos expertos del dominio de conocimiento en su ámbito de negocio, se benefician del aumento del nivel de abstracción de las técnicas de desarrollo para que ellos mismos, y de forma transparente, sean capaces de modificar su propio sistema informático sin la ayuda de personal técnico ajeno a su negocio, ahorrando así tiempo y costes. Para cumplir con el objetivo de esta Tesis doctoral se construye un prototipo que salva los impedimentos actuales que no permiten la unión entre estos dos nuevos activos de la ingeniería del software. Los principales problemas encontrados están relacionados con la selección de una iniciativa de desarrollo apropiada, los sistemas de control de versiones especialmente adaptados para trabajar con modelos, la generación incremental de artefactos a partir de modelos y la adaptación a las herramientas actuales de integración continua de forma optimizada. La separación del trabajo realizado en diferentes bloques permite ofrecer soluciones de forma tanto aislada como en conjunto, dando lugar a un trabajo iterativo e incremental de comienzo a fin. Para analizar las ventajas que ofrece la propuesta de este trabajo frente a otras posibilidades de desarrollo, se realiza una evaluación mediante la creación de diferentes casos de prueba en los que la medición de diferentes parámetros ofrecen una estimación numérica de las ventajas reales obtenidas. El análisis descriptivo, el contraste de hipótesis y las técnicas de regresión permiten una mejor interpretación de los resultados. Finalmente, se define el proceso, objetivo último de este trabajo, mediante la respuesta a diferentes preguntas planteadas, que facilitan su comprensión y entendimiento. === The purpose of this Thesis is to create a process in which the continuous integration practice can be applied to a model-driven software development in an e ective way, through which software developments can bene t jointly and simultaneously from the improvements and advantages provided by the model-driven engineering development approach and the continuous integration practice. The model-driven engineering approach is the last natural step of software engineering in the search for development approaches that raise the level of abstraction to the point that experts in a domain of knowledge, outside the computer world, are able to guide and change the logic of computer systems. The continuous integration practice is a recommendation of the most widely accepted development methodologies that aims to carry out automatic software integrations in early stages of development, o ering bene ts such as reducing the inherent risk that, given its unique nature, every project has. By merging the model-driven engineering and the continuous integration practice, the aim is to provide to development teams that work using some kind of model-driven engineering initiative, the possibility to integrate their developments in a continuous and distributed way. At the same time, customers, the real experts in the domain of knowledge in their eld of business, can bene t from the increased level of abstraction in developing techniques. Thus, they, in a transparent manner, are able to modify their own computer system without the help of external technical sta , so saving time and costs. To meet the objective of this Thesis, a prototype which saves all the current constraints that do not allow the union between these two new tools of software engineering is build. The main problems found were related to the selection of an appropriate development initiative, the version control systems specially adapted to working with models, the incremental generation of artifacts from models, and the optimized adaptation to existing continuous integration tools. The separation of work in di erent blocks can provide solutions, both in isolation or in conjunction, resulting in an iterative and incremental work from beginning to end. To analyze the bene ts of the proposal in this work compared to other development possibilities, an evaluation is performed by creating di erent test cases in which the measurement of di erent parameters can give a numerical estimate of the real bene ts obtained. The descriptive analysis, the hypothesis testing, and regression techniques allow a better interpretation of results. Finally, the process, the main objective of this work, is de ned by answering various questions posed to facilitate its comprehension and understanding.
author2 Cueva Lovelle, Juan Manuel
author_facet Cueva Lovelle, Juan Manuel
García Díaz, Vicente
author García Díaz, Vicente
author_sort García Díaz, Vicente
title MDCI: Model-Driven Continuous Integration
title_short MDCI: Model-Driven Continuous Integration
title_full MDCI: Model-Driven Continuous Integration
title_fullStr MDCI: Model-Driven Continuous Integration
title_full_unstemmed MDCI: Model-Driven Continuous Integration
title_sort mdci: model-driven continuous integration
publisher Universidad de Oviedo
publishDate 2011
url http://hdl.handle.net/10803/80298
work_keys_str_mv AT garciadiazvicente mdcimodeldrivencontinuousintegration
_version_ 1716593417508618240
spelling ndltd-TDX_UOV-oai-www.tdx.cat-10803-802982013-07-12T06:15:15ZMDCI: Model-Driven Continuous IntegrationGarcía Díaz, VicenteIngeniería dirigida por modelosIntegración continuaModeloMetamodeloComparación de modelosSistema de control de versionesGenerador de artefactosGeneración incrementalLenguaje de dominio específicoModel-Driven ArchitectureMeta-Object FacilityEcoreLenguajes y Sistemas informáticos004El propósito de esta Tesis es llevar a cabo un proceso en el que se aplique la práctica de la integración continua en un desarrollo de software dirigido por modelos de forma eficiente, mediante el cual los desarrollos de software puedan beneficiarse conjuntamente de las mejoras y ventajas que proporcionan la aproximación de desarrollo de la ingeniería dirigida por modelos y la práctica de la integración continua. La aproximación de la ingeniería dirigida por modelos es el último salto natural de la ingeniería del software en cuanto a la búsqueda de métodos de desarrollo que elevan el nivel de abstracción hasta el punto en el que los expertos de un dominio de conocimiento, ajenos al mundo informático, son capaces de guiar y cambiar la lógica de los sistemas informáticos. La práctica de la integración continua es una recomendación de las principales metodologías de desarrollo, que tiene como objetivo la realización de integraciones automáticas del software en etapas tempranas del desarrollo, ofreciendo ventajas como la reducción del riesgo intrínseco que, dado su carácter temporal y único, tienen todos los proyectos. Con la unión de la ingeniería dirigida por modelos y de la práctica de la integración continua se busca ofrecer, a los equipos de desarrollo que trabajan utilizando algún tipo de iniciativa de la ingeniería dirigida por modelos, la posibilidad de integrar de forma continua y distribuida sus desarrollos. Al mismo tiempo, los clientes, verdaderos expertos del dominio de conocimiento en su ámbito de negocio, se benefician del aumento del nivel de abstracción de las técnicas de desarrollo para que ellos mismos, y de forma transparente, sean capaces de modificar su propio sistema informático sin la ayuda de personal técnico ajeno a su negocio, ahorrando así tiempo y costes. Para cumplir con el objetivo de esta Tesis doctoral se construye un prototipo que salva los impedimentos actuales que no permiten la unión entre estos dos nuevos activos de la ingeniería del software. Los principales problemas encontrados están relacionados con la selección de una iniciativa de desarrollo apropiada, los sistemas de control de versiones especialmente adaptados para trabajar con modelos, la generación incremental de artefactos a partir de modelos y la adaptación a las herramientas actuales de integración continua de forma optimizada. La separación del trabajo realizado en diferentes bloques permite ofrecer soluciones de forma tanto aislada como en conjunto, dando lugar a un trabajo iterativo e incremental de comienzo a fin. Para analizar las ventajas que ofrece la propuesta de este trabajo frente a otras posibilidades de desarrollo, se realiza una evaluación mediante la creación de diferentes casos de prueba en los que la medición de diferentes parámetros ofrecen una estimación numérica de las ventajas reales obtenidas. El análisis descriptivo, el contraste de hipótesis y las técnicas de regresión permiten una mejor interpretación de los resultados. Finalmente, se define el proceso, objetivo último de este trabajo, mediante la respuesta a diferentes preguntas planteadas, que facilitan su comprensión y entendimiento.The purpose of this Thesis is to create a process in which the continuous integration practice can be applied to a model-driven software development in an e ective way, through which software developments can bene t jointly and simultaneously from the improvements and advantages provided by the model-driven engineering development approach and the continuous integration practice. The model-driven engineering approach is the last natural step of software engineering in the search for development approaches that raise the level of abstraction to the point that experts in a domain of knowledge, outside the computer world, are able to guide and change the logic of computer systems. The continuous integration practice is a recommendation of the most widely accepted development methodologies that aims to carry out automatic software integrations in early stages of development, o ering bene ts such as reducing the inherent risk that, given its unique nature, every project has. By merging the model-driven engineering and the continuous integration practice, the aim is to provide to development teams that work using some kind of model-driven engineering initiative, the possibility to integrate their developments in a continuous and distributed way. At the same time, customers, the real experts in the domain of knowledge in their eld of business, can bene t from the increased level of abstraction in developing techniques. Thus, they, in a transparent manner, are able to modify their own computer system without the help of external technical sta , so saving time and costs. To meet the objective of this Thesis, a prototype which saves all the current constraints that do not allow the union between these two new tools of software engineering is build. The main problems found were related to the selection of an appropriate development initiative, the version control systems specially adapted to working with models, the incremental generation of artifacts from models, and the optimized adaptation to existing continuous integration tools. The separation of work in di erent blocks can provide solutions, both in isolation or in conjunction, resulting in an iterative and incremental work from beginning to end. To analyze the bene ts of the proposal in this work compared to other development possibilities, an evaluation is performed by creating di erent test cases in which the measurement of di erent parameters can give a numerical estimate of the real bene ts obtained. The descriptive analysis, the hypothesis testing, and regression techniques allow a better interpretation of results. Finally, the process, the main objective of this work, is de ned by answering various questions posed to facilitate its comprehension and understanding.Universidad de OviedoCueva Lovelle, Juan ManuelPelayo García-Bustelo, Begoña CristinaUniversidad de Oviedo. Departamento de Informática2011-06-29info:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersion470 p.application/pdfhttp://hdl.handle.net/10803/80298TDR (Tesis Doctorales en Red)spainfo:eu-repo/semantics/openAccessEl acceso a los contenidos de esta tesis está condicionado a la aceptación de las condiciones de uso establecidas por la siguiente licencia Creative Commons: http://creativecommons.org/licenses/by-nc-nd/3.0/es/