46 research outputs found
An automated Model-based Testing Approach in Software Product Lines Using a Variability Language.
This paper presents the application of an automated testing approach for Software Product Lines (SPL) driven by its state-machine and variability models. Context: Model-based testing provides a technique for automatic generation of test cases using models. Introduction of a variability model in this technique can achieve testing automation in SPL. Method: We use UML and CVL (Common Variability Language) models as input, and JUnit test cases are derived from these models. This approach has been implemented using the UML2 Eclipse Modeling platform and the CVL-Tool. Validation: A model checking tool prototype has been developed and a case study has been performed. Conclusions: Preliminary experiments have proved that our approach can find structural errors in the SPL under test. In our future work we will introduce Object Constraint Language (OCL) constraints attached to the input UML mode
Automatic allocation of safety requirements to components of a software product line
Safety critical systems developed as part of a product line must still comply with safety standards. Standards use the concept of Safety Integrity Levels (SILs) to drive the assignment of system safety requirements to components of a system under design. However, for a Software Product Line (SPL), the safety requirements that need to be allocated to a component may vary in different products. Variation in design can indeed change the possible hazards incurred in each product, their causes, and can alter the safety requirements placed on individual components in different SPL products. Establishing common SILs for components of a large scale SPL by considering all possible usage scenarios, is desirable for economies of scale, but it also poses challenges to the safety engineering process. In this paper, we propose a method for automatic allocation of SILs to components of a product line. The approach is applied to a Hybrid Braking System SPL design
Reconfigurando aplicaciones multi-cloud con líneas de producto software dinámicas
La reconfiguración dinámica de aplicaciones multi-cloud es un reto
complejo aún no suficientemente explorado. En estos entornos las aplicaciones
o sus módulos pueden estar desplegados en diferentes proveedores. Por lo tanto,
reconfigurar en tiempo de ejecución estas aplicaciones puede requerir la
modificación de la distribución en múltiples y heterogéneos proveedores.
Obtener la nueva distribución para que sigan funcionando correctamente las
aplicaciones no es una tarea sencilla, pues tanto los requisitos de las
aplicaciones como las propiedades de los proveedores son muy diversos y
variables. Además, la migración de las aplicaciones o sus módulos en tiempo
real de un proveedor a otro puede conllevar problemas de compatibilidad y/o
dependencias entre los módulos. Por lo tanto, el manejo de la variabilidad
dinámica de las aplicaciones y proveedores, así como el de las dependencias
existentes es deseable que se haga a un alto nivel de abstracción. Las Líneas de
Producto Software Dinámicas (DSLP) utilizan modelos de variabilidad en
tiempo de ejecución para obtener los cambios que han de llevarse a cabo
durante la reconfiguración. En este trabajo de reflexión, exploramos el uso del
enfoque de DSPL, para que cuando ocurran problemas en los proveedores o se
violen los requisitos de las aplicaciones en entornos multi-cloud, las
aplicaciones puedan ser reconfiguradas y seguir proporcionando los servicios
adecuadamente a los usuarios.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Integrating the common variability language with multilanguage annotations for web engineering
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.Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech
Service-Oriented Dynamic Software Product Lines
An operational example of controls in a smart home demonstrates the potential of a solution that combines the Common Variability Language and a dynamic extension of the Business Process Execution Language to address the need to manage software system variability at runtime
Runtime variability for dynamic reconfiguration in wireless sensor network product lines
Runtime variability is a key technique for the success of Dynamic Software Product Lines (DSPLs), as certain application demand reconfiguration of system features and execution plans at runtime. In this emerging research work we address the problem of dynamic changes in feature models in sensor networks product families, where nodes of the network demand dynamic reconfiguration at post-deployment time
On the Influence of Modification Timespan Weightings in the Location of Bugs in Models
Bug location is a common task in Software Engineering, specially when maintaining and evolving software products. When locating bugs in code, results depend greatly on the way code modification timespans are weighted. However, the influence of timespan weightings on bug location in models has not received enough attention yet. Throughout this paper, we analyze the influence of several timespan weightings on bug location in models. These timespan weightings guide an evolutionary algorithm, which returns a ranking of model fragments relevant to the solution of a bug. We evaluated our timespan weightings in a real-world industrial case study, by measuring the results in terms of recall, precision, and F-measure. Results show that the use of the most recent timespan model modifications provide the best results in our study. We also performed a statistical analysis to provide evidence of the significance of the results