will be presented in the 24th International Conference on Engineering of Complex Computer Systems (ICECCS 2019) https://formal-analysis.com/iceccs/2019/
10-13 November 2019 - Hong Kong, China
Software Product Lines (SPLs) represent one of the most exciting paradigm shift in software development in the two last decades. Multiple approaches have been proposed addressing the different activities of variability design and manipulation, reusable assets implementation, or product derivation.
However, adopting an SPL approach and managing variability is still a major challenge and represents a risk for a company. First, compared to single-system development, SPL variability management implies a methodology that highly impacts the life cycle of the products as well as the processes and roles inside the company. Second, adopting an SPL from the beginning, called proactive SPL adoption, is subject to two main assumptions: 1) these companies must have, in advance, a complete understanding of the variability to anticipate all possible variations; 2) these companies should start from scratch to specify the variability and implement the reusable assets. Thus, instead of adopting an SPL, many companies usually start from a set of existing systems that must undergo a well-defined re-engineering process. Many approaches to conduct such re-engineering processes have been proposed and documented in research literature.
In this tutorial, after introducing SPLs and their concepts, we introduce the re-engineering processes for SPL adoption and a summary of the research literature. Attendees will have the possibility to experiment hands-on with SPL open source tools and also on our tools for SPL re-engineering such as FeatureIDE and BUT4Reuse.
The tutorial is structured as follows:
Extractive SPL adoption activities including feature Identification and location, constraints mining, reusable assets and feature model extraction.
Extracting SPL from existing variants using the BUT4Reuse platform. We will use the examples and the benchmarks provided by the BUT4Reuse platform (https://github.com/but4reuse/but4reuse/wiki/Examples).
Tewfik Ziadi is Associate Professor of Software Engineering at Sorbonne Université. Tewfik Ziadi is co-leading the MoVe research team in the LIP6 lab. He is interested in software engineering including Software Product Line Engineering (SPLE), and Model Driven Software Engineering (MDE) for the design and the development of Software Systems with applications in different domains including robotics and multi-agent systems. In 2016, Tewfik Ziadi received his Habilitation in Computer Science (in French Habilitation à Diriger des Recherches) from UPMC. He earned a PhD in Computer Science in 2004 from University of Rennes 1. Tewfik Ziadi co-authored 40 journal and conference publications and he is a member of the Steering Committee of the SPLC conference and the general co-chair of SPLC 2019. He is also a founding member of the LOUISE action that gathers the main researchers on SPLE in France. He is a co-developer of the BUT4Reuse platform for Bottom-Up technologies for Reuse. He is the scientific coordinator of the ITEA REVaMP2 project that gathers 28 partners in 5 countries.