Tutorials

Accepted tutorials for SPLC 2020

Software Reuse and Mass Personalization

Presenters: Mike Mannion (Glasgow Caledonian University, UK) and Hermann Kaindl (Vienna University of Technology, Austria)

Abstract: Several socio-economic trends are driving customer demands towards individualization. Many suppliers are responding by offering supplier-led software product design customization choices (“mass customization”). Some are also offering customer-led software product design choices (“mass personalization”). This tutorial introduces these concepts and explores the implications for software product line development. One particular technical challenge is being able to respond to and manage at scale the increasing variety of common, supplier-led and customer-led features. We will discuss two different approaches to address this challenge. One is grounded in feature modelling, the other in case-based reasoning. Both approaches aim to support the identification and selection of similar products. However, they each place different emphases on these activities, use different product descriptions, and deploy different product derivation methods. Accordingly, each approach has different key properties, benefits and limitations.

Objectives: At the end of this tutorial, participants will understand the trends towards customization and mass personalization, describe the impact on software product development, explain two approaches to managing feature variety and reuse at scale and discuss outstanding challenges.

Intended Audience: Attendees will be assumed to have familiarity with software product line engineering and feature modelling but do not need a background in case-based reasoning, because the fundamental ideas and concepts will be introduced.

Variability Realization in UML/SysML Models 

Presenters: Martin Becker (Fraunhofer IESE, Germany) and  Andreas Schäfer (Fraunhofer IESE, Germany)

Abstract: The tutorial takes on an industrial challenge of rising importance: efficiently trading system variants in the context of model-based system and software engineering MBSE). Motivated by experiences from different industrial settings, the tutorial reveals the increasing need for guidance and decision support on how to handle variants and variability in SysML and UML models in an adequate manner. While a substantial amount of variability realization approaches have already been discussed on the level of source code, there is little guidance for practitioners on the model level. With this, there is major uncertainty in dealing with concurrent changes and parallel modeling of similar system variants. With this tutorial, we want to (i) raise awareness for the need of respective guidance and decision support, (ii) identify some key context factors to consider, and (iii) discuss well known variability mechanisms from the code level for their applicability in UML/SysML models.

Machine Learning and Configurable Systems: A Gentle Introduction

Presenters:  Juliana Alves Pereira (PUC-Rio), Hugo Martin (Univ Rennes, IRISA, Inria, CNRS, France), Paul Temple (University of Namur, Belgium), and Mathieu Acher (Univ Rennes, IRISA, Inria, CNRS, France)

Abstract: The goal of this tutorial is to give a gentle introduction to how machine learning can be used to support various activities related to the engineering of configurable systems and software product lines. This is our second practical tutorial in this trending field. The tutorial is based on a systematic literature review and includes practical tasks (specialization, performance prediction) on real-world systems (VaryLaTeX, x264). The material is designed for academics and practitioners with basic knowledge in software product lines and machine learning. Advanced topics will be discussed at the end of the tutorial with participants.

Textual Variability Modelling and Implementation using EASy-Producer

Presenters:  Klaus Schmid (University of Hildesheim, Germany),  Holger Eichelberger (University of Hildesheim, Germany), and  Sascha El-Sharkawy (University of Hildesheim, Germany)

Abstract: The tutorial introduces the variability modeling capabilities of the EASy-Producer product line environment. EASy-Producer is an open-source toolset for engineering product lines, variability-rich software ecosystems, and dynamic software product lines. It has been applied in several industrial case studies and research projects showing its practical applicability both from a stability and a capability point of view. While the tool-set also includes an interactive approach to product line definition and configuration through DSLs, the focus of the tutorial will be on variability modeling using DSL-based techniques. The focus will be on modeling using the Integrated Variability Modeling Language IVML and the underlying conceptual approach, which differ from traditional feature modeling, but we will also provide an outlook on instantiating variability using EASy-Producer. As an outcome, the participants of the tutorial will understand the capabilities and design decisions of the toolset and gain a basic practical understanding of how to use it to define variability models, constraints and product configurations. The tutorial will also address the capabilities to handle variability-rich software ecosystems, an area for which so far few adequate tools exist.