El autor Leire Etxeberria ha publicado 8 artículo(s):
Nowadays, embedded systems are gaining importance. At the same time, the development of their software is increasing its complexity, having to deal with quality, cost, and time-to-market issues among others. With stringent quality requirements such as performance, early verification and validation become critical in these systems. In this regard, advanced development paradigms such as model-driven engineering (MDE) and software product line engineering (SPLE) bring considerable benefits to the development and validation of embedded system software. However, these benefits come at the cost of increasing process complexity.
This work presents a process based on UML and MARTE for the analysis of embedded model-driven product lines. It specifies the tasks, the involved roles, and the work products that form the process and how it is integrated in the more general development process.
In order to manage and perform model analysis for ensuring the quality of the products of the Software Product Line (SPL), it is necessary to establish a process with the aim of tackling the complexity. Following established product line development practices, two separate processes were defined for model based analysis:
Model based Analysis Process in Domain Engineering: This process sets the infrastructure to perform the analysis of the products of the product line. That is, it defines the analysis core assets.
Model based Analysis Process in Application Engineering: Based on the above mentioned analysis core assets, this process specifies how they are applied to perform model analysis.
1.1 Model based Analysis Process in Domain Engineering
If the goal is to develop and analyze an embedded SPL, the core assets developed in Domain Engineering (e.g., models, as MDE is applied), must be prepared to perform analysis later on. This is the aim of the Model based Analysis Process in Domain Engineering. This process takes the feature model and the design models as input and outputs core assets that will serve as the building blocks for model analysis in Application Engineering.
The following tasks are performed: Feature Model Elaboration: The variability in functionalities and quality attributes is defined using a feature model. Allocation Variability Elaboration: An allocation variability branch is added to the Feature model to add variability in deployment. Analysis Variability Elaboration: An analysis variability branch is added to the Feature model to add information related to critical scenarios to be analyzed and analysis types for each quality attribute defined before. Real-Time Specification: The SPL design models must be annotated with temporal information (performance…) using MARTE profile (considering also variability). Transformation Definition: To be able to generate the analysis models automatically, the required transformations must be defined. This task is performed once as the defined transformations can be reused.
1.2 Model based Analysis Process in Application Engineering
Previously developed core assets in Domain Engineering are used in Application Engineering process to perform model analyses, prioritizing the critical scenarios of each specific product model of the SPL.
Desired features must be selected from the different branches of the feature model. In this way, the specific product model configuration is defined considering the specified constraints. This model will be used to obtain the specific instances of Analysis Models using the defined transformations to get the specific product analysis model derived from the SPL design models.
Existing tools that support the tasks to be performed in the process are also described. A classification of such tools and a study of traceability among them are provided, allowing engineering teams to choose the most adequate chain of tools to support the process.
Autores: Lorea Belategi / Goiuria Sagardui / Leire Etxeberria / Maider Azanza /
Mutation testing has been found to be an efficient technique in order to assess the quality of a test suite. The use of Simulink models is increasing in both industry and academia to model and simulate complex systems such as Cyber-Physical Systems (CPSs). An advantage of Simulink is its ease to integrate software and control algorithms with complex mathematical models that typically represent continuous dynamic behaviors. In addition to that, the increasing trend of industry in adopting product line engineering methods to efficiently support the variability that their products demand is resulting in configurable Simulink models. Consequently, many configurations can be employed to test the configurable system. Each of these configurations will have a set of mutants, which will be in accordance with the configuration characteristics (i.e., features). However, manually generating and configuring mutants for each of the configurations is a time-consuming and non-systematic process. To deal with this problem, we propose a methodology supported by a tool that automatically generates mutants for configurable Simulink models.
Autores: Aitor Arrieta / Urtzi Markiegi / Leire Etxeberria /
Palabras Clave: Cyber-Physical Systems - Feature Modeling - MATLAB/Simulink - Mutation testing - Product Line Engineering
El paper fue publicado en julio de 2016 en la conferencia GECCO (The Genetic and Evolutionary Computation Conference), que es un congreso de clase 2 del ranking SCIE de congresos relevantes. Hasta la fecha, según google scholar, ha recibido un total de dos citas. Cyber-Physical Systems (CPSs) can be found in many sectors (e.g., automotive and aerospace). These systems are usually configurable to give solutions based on different needs. The variability of these systems is large, which implies they can be set into millions of configurations. As a result, different testing processes are needed to efficiently test these systems: the appropriate configurations must be selected and relevant test cases for each configuration must be chosen as well as prioritized. Prioritizing the order in which the test cases are executed reduces the time for detecting faults in these kinds of systems. However, the test suite size is often large and exploring all the possible test case orders is infeasible. Search algorithms can help find optimal solutions from a large solution space. This paper presents an approach based on weight-based search algorithms for prioritizing the test cases for configurable CPSs. We empirically evaluate the performance of the following algorithms with two case studies: Weight-Based Genetic Algorithms, Random Weighted Genetic Algorithms, Greedy, Alternating Variable Method and Random Search (RS). Our results suggest that all the search algorithms outperform RS, which is taken as a baseline. Local search algorithms have shown better performance than global search algorithms.
Autores: Aitor Arrieta / Shuai Wang / Goiuria Sagardui / Leire Etxeberria /
Palabras Clave: Configurable Cyber-Physical Systems - Search Algorithms - Test Case Prioritization - Testing
Variability modeling is demanded by industrial companies to support customization of their products. However, not all the software tools include variability modeling mechanisms. IBM Rhapsody is one of the leading environments for modeling complex industrial systems. In this paper we present Delta Rhapsody, a tool for modeling variability in IBM Rhapsody models employing the delta modeling paradigm.
Autores: Xabier Perez / Oskar Berreteaga / Leire Etxeberria / Aitor Arrieta / Urtzi Markiegi /
Palabras Clave: Delta Modelling - Rhapsody - Variability
Simulink models are commonly employed to simulate and test complex systems such as Cyber-Physical Systems (CPSs). These systems are becoming highly configurable, and techniques from the product line engineering context (e.g., feature models) are being acquired by industrial practitioners to model the variability. Having variability in these systems means that there might be several configurations to test. Selecting relevant configurations by considering feature models following combinatorial techniques has been widely investigated by the software engineering community. However, efficiently testing each configuration has attracted little attention, which is not that trivial. One important aspect when testing such systems is automation. This tool paper presents ASTERYSCO, which aims at automatically generating test system instances in Simulink for testing specific configurations of configurable CPSs.
Autores: Aitor Arrieta / Leire Etxeberria / Justyna Zander /
Palabras Clave: Cyber-Physical Systems - Feature Modeling - MATLAB/Simulink - Product Line Engineering
Los ascensores son sistemas complejos que integran ademásde software, componentes eléctricos, mecánicos, etc. La complejidad deestos sistemas es aumentada además al tener en cuenta la variabilidad:un ascensor puede ser instalado en edificios de más o menos pisos, puedetener diferente puertas, los actuadores y sensores pueden variar, etc.La validación del software de estos sistemas es compleja en diferentesaspectos. Este artículo presenta un trabajo industrial para la validaciónde software embebido congurable refactorizado en el contexto del sectordel transporte vertical.
Autores: Goiuria Sagardui / Leire Etxeberria / Joseba Andoni Agirre / Aitor Arrieta / Carlos F. Nicolas / Jose Maria Martin /
Palabras Clave: Ascensores - Test - Validación - Variabilidad
Artículo relevante publicado en 2018 en el ISTContext: Software Product Line (SPL) testing is challenging mainly due to the potentially huge number ofproducts under test. Most of the research on this field focuses on making testing affordable by selecting arepresentative 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 featuresin 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 theirsuspiciousness (i.e., likelihood of being faulty) using spectrum-based localization techniques. Then, a novel faultisolation 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 differentsizes. 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, faultswere 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 helpfulcomplement for the numerous approaches for testing SPLs.
Autores: Aitor Arrieta / Sergio Segura / Urtzi Markiegi / Goiuria Sagardui / Leire Etxeberria /
Palabras Clave: Debugging - Feature Models - software product lines - Spectrum-based fault localization
Prodevelop A Test Automation Case Study: From academic research to the real-world tool chain
Autores: Ismael Torres / Tanja Vos / Urtzi Markiegi / Ernesto Calás / Fernando Pastor / Leire Etxeberria / Iñigo Aldalur / Xabier Valencia /
Palabras Clave: GUI Test automation - Industrial case study - Knowledge transfer - Testing traceability