Arquitecturas Software y Variabilidad

URI permanente para esta colección:

Artículos en la categoría Arquitecturas Software y Variabilidad publicados en las Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 12 de 12
  • Resumen
    Reducing Coordination Overhead in SPLs: Peering in on Peers
    Montalvillo Mendizabal, Leticia; Diaz, Oscar. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Abstract. SPL product customers might not always wait for the next core asset release. When an organization aims to react to market events, quick bug fixes or urgent customer requests, strategies are needed to support fast adaptation, e.g. with product-specific extensions, which are later propagated into the SPL. This leads to the grow-and-prune model where quick reaction to changes often requires copying and specialization (grow) to be later cleaned up by merging and refactoring (prune). This paper focuses on the grow stage. Here, application engineers branch off the core-asset Master branch to account for their products' specifics within the times and priorities of their customers without having to wait for the next release of the core assets. However, this practice might end up in the so-called "integration hell". When long-living branches are merged back into the Master, the amount of code to be integrated might cause build failures or requires complex troubleshooting. On these premises, we advocate for making application engineers aware of potential coordination problems right during coding rather than deferring it till merging time. To this end, we introduce the notion of "peering bar" for Version Control Systems, i.e. visual bars that reflect whether your product's features are being upgraded in other product branches. In this way, engineers are aware of what their peers are doing on the other SPL's products. Being products from the same SPL, they are based on the very same core assets, and hence, bug fixes or functional enhancements undertaken for a product might well serve other products. This work introduces design principles for peering bars. These principles are fleshed out for GitHub as the Version Control System, and pure::variants as the SPL framework.
  • Resumen
    Past and future of software architectures for context-aware systems: A systematic mapping study
    Roda, Cristina; Navarro, Elena; López-Jaquero, Víctor; Zdun, Uwe; Simhandl, Georg. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    There is a growing interest on context-aware systems in recent years. Con-text-aware systems are able to change their behaviour depending on new conditions regarding the user, the platform and the environment. These sys-tems are evolving towards interacting with the user in a transparent and ubiq-uitous manner, especially by means of different types of sensors, which can gather a wide range of data from the user, the platform the user is interacting with, and the environment where such interaction is taking place. It is worth noting that the software architecture of a system is a key artefact during its development and its adaptation process. Hence, the definition of the soft-ware architecture becomes essential while developing context-aware systems since it should reflect how the context is tackled for adaptation purposes. With the aim of studying this issue, we have designed and conducted a sys-tematic mapping study to provide an overview about the different architec-tural approaches used in context-aware systems. One of the main findings of this study is that there are not many software architecture proposals that deal with context-awareness in an explicit way during the adaptation process. It was also detected that there are Human Computer Interaction (HCI) works that focus on context-aware adaptations but neglect partially or completely any possible change in the system architecture during the adaptation process. Due to this, we perceived a need to analyse what research works highlight the use of context and its relationship to the software architecture in existing context-aware systems. Therefore, this mapping study attempts to bridge the gap between Software Architecture and HCI in order to align the adaptation at the architectural level (changes in the configuration of architectural com-ponents) and at the HCI level (changes in the interaction modality or the user interface in general).
  • Artículo
    Incorporación de Tecnologías de Desarrollo Dirigido por Modelos en una PYME
    Cortiñas, Alejandro; Rodríguez Luaces, Miguel; Pedreira, Oscar; Vilares, Javier. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    En este artículo se describe la integración de una herramienta de generación de código fuente en una empresa mediana de desarrollo de software.
  • Artículo
    A general approach to Software Product Line testing
    Ruiz, Elvira G.; Ayerdi, Jon; Galindo, José A.; Arrieta, Aitor; Sagardui, Goiuria; Benavides, David. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Variability is a central concept in Software Product Lines (SPLs). It has been extensively studied how the SPL paradigm can improve both the efficiency of a company and the quality of products. Nevertheless, this brings several challenges when testing an SPL, which are mainly caused by the potentially huge amount of products that can be derived from an SPL. There exist different studies proposing methods for testing SPLs. Also there are secondary studies reviewing and mapping the literature of the existing proposals. Nevertheless, there is a lack of systematic guidelines for practitioners and researchers with the different steps required to perform a testing strategy of an SPL. In this paper, we present a first version of a tutorial that summarizes the existing proposals of the SPL testing area. To the best of our knowledge, there is no similar attempt in existing literature. Our goal is to discuss this tutorial with the community and enrich it to provide a more solid version of it in the future.
  • Artículo
    Aplicación de Tecnología de Líneas de Producto Software a Sistemas de Gestión del Trabajo en Movilidad
    Cortiñas, Alejandro; Pedreira, Oscar; Rodríguez Luaces, Miguel; Saavedra Places, Ángeles; Rodríguez Brisaboa, Nieves. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    En este artículo presentamos el trabajo que en el Laboratorio de Bases de Datos estamos realizando en el marco de GEMA, un proyecto de investigación financiado en la convocatoria Conecta-PEME 2018. El objetivo de GEMA es construir una Línea de Producto Software para generar aplicaciones GTM que incorporen módulos avanzados de gestión y explotación de la movilidad como: planificación de rutas, agendas dinámicas y horarios; trayectorias semánticas; y almacenamiento compacto y explotación de la información móvil para la toma de decisión gerencial. Describimos aquí la motivación y los objetivos concretos del proyecto y principales retos a afrontar, y los avances ya realizados.
  • Artículo
    Variabilidad en visualización de datos: retos y posibilidades
    Galindo, José A.; Ruiz, Elvira G.; Benavides, David. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Los sistemas de visualizaci´on de la informaci´on nos permiten visualizar datos usando abstracciones de los mismos, por ejemplo, usando gr´aficos de barras o de tartas. No obstante, la diversidad de visualizaciones dificulta la correcta elecci´on de los sistemas m´as apropiados para cada conjunto de datos. La ingenier´?a de l´?neas de producto y sistemas de alta variabilidad ha generado m´ultiples t´ecnicas que permiten la configuraci´on ´optima de productos software dados unos requisitos o caracter´?sticas. En este trabajo proponemos el uso y adaptaci´on de las t´ecnicas de configuraci´on, derivaci´on y an´alisis autom´atico existentes en el ´area de lineas de producto software al contexto de la visualizaci´on. Permitiendo de esta forma el guiado sobre las opciones de configuraci´on para visualizar un conjunto de datos.
  • Resumen
    Variability Models for Generating Efficient Configurations of Functional Quality Attributes
    Horcas Aguilera, José Miguel; Pinto, Mónica; Fuentes, Lidia. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other non-functional requirements, like for instance, performance. Objective: This paper presents a process that helps developers to automatically generate optimum configurations of functional quality attributes in terms of energy efficiency and performance. Functional quality attributes refer to the behavioral properties that need to be incorporated inside a software architecture to fulfill a particular quality attribute (e.g., encryption and authentication for the security quality attribute, logging for the usability quality attribute). Method: Quality attributes are characterized to identify their design and implementation variants and how the different configurations influence both energy efficiency and performance. A usage model for each characterized quality attribute is defined. The variability of quality attributes, as well as the energy efficiency and performance experiment results, are represented as a constraint satisfaction problem with the goal of formally reasoning about it. Then, a configuration of the selected functional quality attributes is automatically generated, which is optimum with respect to a selected objective function. Results: Software developers can improve the energy efficiency and/or performance of their applications by using our approach to perform a richer analysis of the energy consumption and performance of different alternatives for functional quality attributes. We show quantitative values of the benefits of using our approach and discuss the threats to validity. Conclusions: The process presented in this paper will help software developers to build more energy efficient software, whilst also being aware of how their decisions affect other quality attributes, such as performance.
  • Resumen
    Integrating the Common Variability Language with Multilanguage Annotations for Web Engineering
    Horcas Aguilera, José Miguel; Cortiñas, Alejandro; Fuentes, Lidia; Rodríguez Luaces, Miguel. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches even though the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming. Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts). We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications. In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.
  • Artículo
    Modelando la Variabilidad de Características Complejas en Líneas de Productos Software
    Horcas Aguilera, José Miguel; Pinto, Mónica; Fuentes, Lidia. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    A pesar de la gran cantidad de trabajos y de herramientas existentes en el ámbito de las Líneas de Productos Software, muchos dominios de aplicación actuales no pueden verse beneficiados del uso de una Línea de Producto Software. Además, fuera del mundo académico, la empresa sigue siendo bastante reticente a usar este enfoque. En este artículo reflexionamos sobre las razones de esta falta de adopción, tanto desde el punto de vista de las características complejas que son imprescindibles en los sistemas actuales, como del soporte que las herramientas existentes proporcionan.
  • Resumen
    Spectrum-based fault localization in software product lines
    Arrieta, Aitor; Segura, Sergio; Markiegi, Urtzi; Sagardui, Goiuria; Etxeberria, Leire. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Artículo relevante publicado en 2018 en el IST Context: Software Product Line (SPL) testing is challenging mainly due to the potentially huge number of products under test. Most of the research on this field focuses on making testing affordable by selecting a representative subset of products to be tested. However, once the tests are executed and some failures revealed, debugging is a cumbersome and time consuming task due to difficulty to localize and isolate the faulty features in the SPL. Objective: This paper presents a debugging approach for the localization of bugs in SPLs. Method: The proposed approach works in two steps. First, the features of the SPL are ranked according to their suspiciousness (i.e., likelihood of being faulty) using spectrum-based localization techniques. Then, a novel fault isolation approach is used to generate valid products of minimum size containing the most suspicious features, helping to isolate the cause of failures. Results: For the evaluation of our approach, we compared ten suspiciousness techniques on nine SPLs of different sizes. The results reveal that three of the techniques (Tarantula, Kulcynski2 and Ample2) stand out over the rest, showing a stable performance with different types of faults and product suite sizes. By using these metrics, faults were localized by examining between 0.1% and 14.4% of the feature sets. Conclusion: Our results show that the proposed approach is effective at locating bugs in SPLs, serving as a helpful complement for the numerous approaches for testing SPLs.
  • Artículo
    Variabilidad de Presentación en DPL
    Carsí Cubel, José; Penadés Gramage, Mª Carmen; Canós Cerdá, José H.. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Document Product Lines (DPL) es una aproximación sistémica a la generación de documentos de contenido variable basada en las ideas de las líneas de producto software. En este artículo se presenta una extensión a DPL que tiene en cuenta la variabilidad basada en el diseño de los documentos, tanto a nivel de familia de documentos como a nivel de los documentos concretos. Se detalla cómo se ha implementado en el framework DPLfw y se ilustra con un ejemplo.
  • Artículo
    Social Internet of Things: architectural approaches and challenges
    Ochoa-Zambrano, Juan; Garbajosa, Juan. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Social Internet of Things takes a step forward over the traditional IoT, introducing a new paradigm that combines the concepts of social networks with the IoT, to obtain the benefits of both worlds, as in the case of Social Internet of Vehicles. With the emergence of Social Internet of Things, new challenges also arise that need to be analyzed in depth. In this article, the key architectural components and challenges that the implementation of Social Internet of Things must address have been identified through the analysis of available literature, and the architectures that have been proposed in recent years. Challenges include trustworthiness, navigability, scalability, security, and reliability of the system.