Tutorials

Accepted tutorials for SPLC 2024

Comparing Products using Similarity Matching

Date and time: Monday, September 2nd, 14:00 – 18:00

Organisers: Mike Mannion and Hermann Kaindl

Abstract: The volume, variety and velocity of products in software-intensive systems product lines is increasing. One challenge is to understand the range of similarity between products. Reasons for product comparison include (i) to decide whether to build a new product or not (ii) to evaluate how products of the same type differ for strategic positioning or branding reasons (iii) to gauge if a product line needs to be reorganized (iv) to assess if a product falls within the national legislative and regulatory boundaries. We will discuss two different approaches to address this challenge. One is grounded in feature modelling, the other in case-based reasoning. We will also describe a specific product comparison approach using similarity matching, in which a product configured from a product line feature model is represented as a weighted binary string, the overall similarity between products is compared using a binary string metric, and the significance of individual feature combinations for product similarity can be explored by modifying the weights. We will illustrate our ideas with a mobile phone example, and discuss some of the benefits and limitations of this approach.


Variability Modeling and Implementation with EASy-Producer

Date and time: Tuesday, September 3rd, 9:00 – 12:30

Organisers: Klaus Schmid and Holger Eichelberger

Abstract: The tutorial introduces the variability modeling capabilities of the EASy-Producer product line environment to the participants. 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. The tool-set consists of an interactive approach to product line definition and configuration through DSLs (IVML). The focus of the tutorial will be on variability modeling using DSL-based techniques, here the Integrated Variability Modeling Language IVML, but we will also provide an outlook on instantiating variability using EASy-Producer (VIL and VTL languages). 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. More recently, advanced topics such as variability-rich software ecosystems or large-scale variability models have received significant attention. However, so far there are very few tools that explicitly address these areas, both in industry and in research. EASy-producer supports concepts like deriving product lines through partial instantiation, product line composition or open variability (extending variability also in derived product lines). Each of the sub-product lines in a composition may contain its own variability model or its own derivation process. In the tutorial, we will discuss and exercise the basic and some of the advanced variability modeling capabilities. EASy-Producer has been developed over many years to support complex variability-intensive product lines. More recently, we also applied EASy-Producer to topological variability, model-based product line instantiation, continuous integration, and runtime variations. While being open source on GitHub\footnote{http://ssehub.net/} and available via our update site, the tool can be used on industrial product lines making it also particularly interesting to practitioners.


Open Science principles in software product lines: The case of the UVL ecosystem

Date and time: Tuesday, September 3rd, 14:00 – 17:30

Organisers: José A. Galindo, David Romero-Organvidez, Megha Bhushan, Jose-Miguel Horcas, David Benavides

Abstract: Open science is a movement aimed at making scientific research, data, and dissemination accessible. In this tutorial we will explore how to adapt this research philosophy to the context of the software product line community. To achieve this, we present a tooling ecosystem created with open science in mind. Concretely we will see how to rely on uvlhub for dataset sharing, flamapy to enrich extract the metrics and enable complex data search, and the fact Label tool to visualize the data at a glance. Participants will gain hands-on experience with each tool and learn how these tools can be integrated into their research workflows.