7 research outputs found

    A Generic method for assembling software product line components

    Get PDF
    Software product lines (SPL) facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors propose different approaches to implement and assemble the reusable components of an SPL. However, the construction and assembly of these components continue to be a complex and time-consuming process. This thesis analyzes the advantages and disadvantages of the current approaches to implement and assemble the reusable components of an SPL. Taking advantage of these elements and with the goal of developing a generic method (which can be applied to several software components developed in different software languages), we develop Fragment-oriented programming (FragOP), a framework to design, implement and reuse SPL domain components. FragOP is based on: (i) domain components, (ii) domain files, (iii) fragmentation points, (iv) fragments, (v) customization points, and (vi) customization files. FragOP was implemented in an open-source tool called VariaMos, and we also carried out three evaluations: (i) we created a clothing stores SPL, derived five different products, and discussed the results. (ii) We developed a discussion about the comparison between FragOP and other approaches. And (iii) we designed and executed a usability test of VariaMos to support the FragOP approach. The results show preliminary evidence that the use of FragOP reduces the manual intervention when assembling SPL domain components and it can be used as a generic method for assembling assets and SPL components developed in different software languages.Las l铆neas de productos de software (LPS) promueven la industrializaci贸n del desarrollo de software mediante la definici贸n y ensamblaje de componentes reutilizables de software. Actualmente existen diferentes propuestas para implementar y ensamblar estos componentes. Sin embargo, su construcci贸n y ensamblaje contin煤a siendo un proceso complejo y que requiere mucho tiempo. Esta tesis analiza las ventajas y desventajas de las diferentes estrategias actuales para implementaci贸n y ensamblaje de componentes de LPS. Con base en esto y con el objetivo de desarrollar un m茅todo gen茅rico (el cual se pueda aplicar a m煤ltiples componentes de software desarrollados en diferentes lenguajes), esta tesis desarrolla la programaci贸n orientada a fragmentos (FragOP), la cual define un marco de trabajo para dise帽ar, implementar y reutilizar componentes de dominio de LPS. FragOP se basa en: (i) componentes de dominio, (ii) archivos de dominio, (iii) puntos de fragmentaci贸n, (iv) fragmentos, (v) puntos de personalizaci贸n, y (vi) archivos de personalizaci贸n. Adem谩s, se realiz贸 una implementaci贸n de FragOP en una herramienta llamada VariaMos, y se llevaron a cabo tres evaluaciones: (i) se cre贸 una LPS de tiendas de ropa, se derivaron cinco productos y se discutieron los resultados. (ii) Se realiz贸 una discusi贸n acerca de la comparaci贸n de FragOP y otras propuestas actuales. Y (iii) se dise帽贸 una prueba de usabilidad acerca del soporte de VariaMos para FragOP. Los resultados muestran evidencia preliminar de que el uso de FragOP reduce la intervenci贸n manual cuando se ensamblan componentes, y que FragOP puede usarse como un m茅todo gen茅rico para el ensamblaje de componentes.Doctorad

    An Approach to Implement SPL Composed of Interconnected Applications and to Deploy them to the Cloud

    Get PDF
    Las l铆neas de productos de software (SPL) son una t茅cnica de reutilizaci贸n sistem谩tica que tanto la academia como la industria han estado utilizando en los 煤ltimos a帽os. La idea principal es generar diferentes productos de software a trav茅s de la reutilizaci贸n de un conjunto de assets. Distintos autores han propuesto diferentes enfoques y t茅cnicas para la construcci贸n y mantenimiento de estos assets. Sin embargo, la mayor铆a de estos enfoques est谩n dise帽ados para respaldar el desarrollo de aplicaciones independientes y no hay soporte para el despliegue de un producto. En un trabajo anterior, desarrollamos programaci贸n orientada a fragmentos (FragOP), que es un marco utilizado para dise帽ar, implementar y reutilizar activos SPL. Y una herramienta llamada VariaMos que admite FragOP. En este trabajo, mejoramos VariaMos y FragOP para admitir la definici贸n de LPS compuesta por aplicaciones interconectadas y automatizar el despliegue de las aplicaciones generadas en la nube. Finalmente, desarrollamos un ejemplo (un ToDo SPL) para mostrar algunos resultados preliminares del nuevo enfoque.Software product lines (SPL) are a systematic reuse technique that both academy and industry have been using in recent years. The main idea is to generate different software products through the reuse of a set of assets. Dif-ferent authors have proposed different approaches and techniques to the construction and maintenance of these assets. However, most of these ap-proaches are designed to support the development of standalone applica-tions, and there is not support for a product deployment. In a previous work, we developed fragment-oriented programming (FragOP), which is a frame-work used to design, implement, and reuse SPL assets. And a tool called VariaMos which supports FragOP. In this work, we enhanced VariaMos and FragOP to support the definition of SPL composed of interconnected appli-cations and automate the deployment of the generated applications to the Cloud. Finally, we developed a running example (a ToDo SPL) to show some preliminary results of the new approach

    Estudio, implementaci贸n y evaluaci贸n de la arquitectura para una herramienta de integraci贸n continua de investigaciones en ingenier铆a de l铆neas de productos de software

    Get PDF
    En repetidas ocasiones, las compa帽铆as se ven enfrentadas a tomar decisiones respecto a qu茅 tipo de tecnolog铆a utilizar o a c贸mo redise帽ar su base tecnol贸gica; en algunos casos, dichas decisiones se toman de manera acelerada con el 煤nico af谩n de generar tiempos de respuesta 贸ptimos y competitivos en el mercado con productos funcionales que satisfagan las necesidades puntuales del mercado. Bajo este enfoque, sin buscarlo, se incorpora una visi贸n nula de extensibilidad, de crecimiento y de oportunidad de mejora de una gran cantidad de atributos de calidad, generando as铆 altos 铆ndices de deuda t茅cnica, acoplamiento entre componentes e 铆ndices nulos de reusabilidad. Todo esto provoca en las empresas productoras de software un mayor esfuerzo en mantener, extender o reconstruir los cat谩logos de productos en un futuro cercano. En este trabajo proponemos y evaluamos la arquitectura de una aplicaci贸n Web susceptible de permitir el modelado y la simulaci贸n de sistemas (de software y ciber f铆sicos a varios niveles de abstracci贸n) en el marco de un programa de investigaci贸n llamado VariaMos. El contexto de VariaMos, por ser un programa de integraci贸n continua de resultados de investigaci贸n en un marco de ingenier铆a, est谩 caracterizado por un crecimiento constante de los lenguajes de modelado y de los mecanismos de razonamiento sobre los sistemas o las familias de sistemas que se creen y simulen con la aplicaci贸n Web asociada al programa (VariaMos). Por lo tanto, la arquitectura de dicha aplicaci贸n web debe incorporar est谩ndares adecuados para su correcta mantenibilidad, extensibilidad y crecimiento mediante la integraci贸n de las nuevas propuestas del equipo de trabajo de VariaMos. Para lograrlo, el proyecto de maestr铆a que reportamos en este manuscrito sigui贸 el siguiente proceso: Primero, identificamos los atributos de calidad de mayor relevancia siguiendo las recomendaciones presentadas en la norma (ISO/IEC 25000). Posterior a esto, construimos el marco referencial de la soluci贸n para con base en 茅l derivar la arquitectura candidata para VariaMos, as铆 mismo se detallar谩 la construcci贸n en diversas capas de la arquitectura requerida. El tercer paso consiste en familiarizar la propuesta ante en equipo de trabajo de VariaMos y realizar una retrospectiva de los beneficios de esta nueva propuesta con respecto a la versi贸n precedente de la herramienta VariaMos. En el cuarto paso, implementamos la versi贸n mejorada de la arquitectura y procedemos a realizar una evaluaci贸n de usabilidad de la aplicaci贸n Web resultante. Le evaluaci贸n pretende responder a la siguiente pregunta de investigaci贸n: 驴Cu谩les son las caracter铆sticas arquitecturales de una plataforma de modelado y de simulaci贸n de ingenier铆a que se pueda extender sin tener que redefinir la arquitectura de la plataforma a medida que los lenguajes de ingenier铆a o los mecanismos de razonamiento aumentan y en qu茅 medida se pueden aplicar en una aplicaci贸n Web de trabajo colaborativo? Estos resultados constituyen una prueba emp铆rica preliminar de los beneficios que esta nueva arquitectura ha aportado en favor de los objetivos estrat茅gicos y t茅cnicos de la nueva VariaMos y nos dan una serie de recomendaciones que permiten mejorar a煤n m谩s la herramienta. Para terminar, tomamos en consideraci贸n los resultados de la evaluaci贸n realizada para mejorar la aplicaci贸n Web que servir谩 de plataforma de trabajo para el grupo de trabajo de VariaMos en los pr贸ximos a帽os y documentamos el nuevo resultado en este manuscrito.On repeated occasions, companies are faced with making decisions regarding what type of technology to use or how to redesign their technologicalbase. In some cases, these decisions are taken in an accelerated manner with the sole aim of generating optimal and competitive response times in the market with functional products that satisfy specific market needs and which, in turn, without seeking to do so, incorporate a zero vision of extensibility, growth, opportunity for improvement and a large number of quality attributes that provide high quality to their products, thus generating high rates of technical debt, coupling between components and rates of improvement, incorporate a null vision of extensibility, growth, opportunity for improvement and a large number of quality attributes that provide high quality to their products, thus generating high rates of technical debt, coupling between components and null rates of reusability causing a greater effort to maintain, extend or even think about rebuilding their software capabilities in the near future. In this work, we propose and evaluate the architecture of a Web application capable of enabling the modelling and simulation of systems (software and cyber-physical at various levels of abstraction) within the framework of a research software called VariaMos. The context of VariaMos, being a software of continuous integration of research results in an engineering framework, is characterized by a constant growth of modelling languages and reasoning mechanisms on the systems or families of systems to be created and simulated with the web application associated with the software (VariaMos). Therefore, the architecture of this web application must incorporate adequate standards for its correct maintainability, extensibility, and growth through the integration of the new proposals of the VariaMos work team. To achieve this, the master project reported in this manuscript followed the following process: First, we identified the most relevant quality attributes following the recommendations presented in the standard (ISO/IEC 25000). Subsequently, we built the solution framework to derive the candidate architecture for VariaMos, and we will detail the construction of the required architecture in several layers. The third step consists of familiarizing the proposal to the VariaMos team and a retrospective review of the benefits of this new proposal with respect to the previous version of the VariaMos tool. In the fourth step, we implement the improved version of the architecture and proceed to perform a usability evaluation of the resulting web application. The evaluation aims to answer the following research question: What are the architectural features of an engineering modelling and simulation platform that can be extended without having to redefine the platform architecture as engineering languages or reasoning mechanisms grow, and to what extent can they be applied in a collaborative Web application? These results constitute a preliminary empirical proof of the benefits that this new architecture has brought in favour of the strategic and technical objectives of the new VariaMos and give us a series of recommendations that allow us to further improve the tool. Finally, we consider the results of the evaluation to improve the web application that will serve as a working platform for the VariaMos working group in the coming years and document the new result in this manuscript

    Aplicativo m贸vil para el sistema de inventario en la Botica Nuevo Per煤 E.I.R.L

    Get PDF
    La investigaci贸n difunde el desarrollo e implementaci贸n de un Aplicativo m贸vil para el sistema de inventario en la Botica Nuevo Per煤 E.I.R.L, puesto que la empresa presento como deficiencia el 铆ndice de rotaci贸n de stock y el nivel de cumplimiento en despachos. El objetivo propuesto de la investigaci贸n fue determinar el efecto de una Aplicaci贸n m贸vil para el sistema de inventario en la Botica Nuevo Per煤 E.I.R.L, en el a帽o 2021. La tesis est谩 conformada por cap铆tulos, divididos en: Introducci贸n, Marco te贸rico, Metodolog铆a de la investigaci贸n, Resultados, Discusi贸n, Conclusi贸n y Recomendaciones. De tal forma se describe los aspectos te贸ricos del sistema de inventario, tambi茅n las metodolog铆as que son base te贸rica para el desarrollo del aplicativo m贸vil. La herramienta tecnol贸gica aplicada con la metodolog铆a Scrum, por ser la que se adapta a las funcionalidades y requerimientos del proyecto de investigaci贸n, la caracter铆stica funcional es la cooperaci贸n de la parte del aliado estrat茅gico, lo cual permiti贸 aterrizar las bases te贸ricas y pr谩cticas para un producto 煤til. La implementaci贸n del aplicativo m贸vil permiti贸 incrementar el 铆ndice de rotaci贸n de stock de 40.76% al 85.64%, de igual forma, se increment贸 el nivel de cumplimiento en despachos del 41.62% al 85.11%. Como se manifiesta los resultados indicados previamente, admitieron llegar a la conclusi贸n que la aplicaci贸n m贸vil incremento de forma significativa esto conlleva a la mejora en todo lo propuesto en el proyecto de investigaci贸n

    Fragment-oriented programming: a framework to design and implement software product line domain components

    No full text
    Software product lines facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors have proposed different approaches to design and implement the components of a product line. However, the construction and integration of these components continue to be a complex and time-consuming process. This paper introduces Fragment-oriented programming (FragOP), a framework to design and implement software product line domain components, and derive software products. FragOP is based on: (i) domain components, (ii) fragmentations points and (iii)fragments. FragOP was implemented in the VariaMos tool and using it we created a clothing stores software product line. We derivedfive different products, integrating automatically thousands of lines of code. On average, only three lines of code were manually modified;which provided preliminary evidence that using FragOP reduces manual intervention when integrating domain componentsLas l铆neas de productos de software promueven la industrializaci贸n del desarrollo de software mediante la definici贸n y ensamblaje de componentes de software. Actualmente existen diferentes propuestas para implementar estos componentes. Sin embargo, su construcci贸n y ensamblaje contin煤a siendo un proceso complejo y que requiere mucho tiempo. Este art铆culo introduce la programaci贸n orientada a fragmentos (FragOP), la cual define un marco para implementar y ensamblar componentes de software. FragOP se basa en: (i) componentes de dominio, (ii) puntos de fragmentaci贸n y (iii) fragmentos. Utilizamos VariaMos y FragOP para crear una l铆nea de productos de software, la cual contiene 20 componentes y miles de l铆neas de c贸digo. Se derivaron 5 productos y en promedio solo 3 l铆neas de c贸digo se modificaron manualmente para completar cada derivaci贸n; lo cual provee una evidencia preliminar de que la utilizaci贸n de FragOP reduce la intervenci贸n manual en el proceso de integraci贸n de componentes de dominio

    Fragment-oriented programming: a framework to design and implement software product line domain components

    No full text
    Software product lines facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors have proposed different approaches to design and implement the components of a product line. However, the construction and integration of these components continue to be a complex and time-consuming process. This paper introduces Fragment-oriented programming (FragOP), a framework to design and implement software product line domain components, and derive software products. FragOP is based on: (i) domain components, (ii) fragmentations points and (iii)fragments. FragOP was implemented in the VariaMos tool and using it we created a clothing stores software product line. We derivedfive different products, integrating automatically thousands of lines of code. On average, only three lines of code were manually modified;which provided preliminary evidence that using FragOP reduces manual intervention when integrating domain components

    Fragment-oriented programming: a framework to design and implement software product line domain components

    No full text
    corecore