Tutorial: Using Feature Models to Manage Variability and Requirements Reuse

Instructor: Danilo Beuche (pure-systems, Germany)

Date: May 21, 2018

Goal: A well-known and proven solution to the challenge of large-scale systematic reuse is product line engineering (PLE).  The tutorial will introduce you to the world of product line engineering by teaching you how to use (and create) feature models, a widely used form of variability modeling. To demonstrate how useful feature models are for solving reuse problems, you’ll learn how to improve systematic requirements reuse with the help of feature models. The demonstrated ideas translate well to other engineering assets such as models, code, etc. but the tutorial will use requirements as its example.

For whom this tutorial could be?

The intended audience is practitioners and researchers that want to learn how to carry out variability modeling (with feature models) for product lines successfully with special focus on requirements. So if you are interested in product line engineering or just in systematic requirements reuse, this tutorial would be a good place to start learning the basic concepts.

Background Knowledge:

(a ) Open minded

(b ) Some engineering background helpful

How will the tutorial be structured?

The tutorial is intended to be interactive and actively involves all participant in small exercises, guided discussions, and practical work with feature models both on paper/white boards as well as with a product line engineering tool (pure::variants) in combination with a requirements management tool representative.

For the tool-based exercises we will provided a browser based environment which can be accessed using your own laptop via internet or with provided computers. No software installation required on your machines, just internet access and Javascript-enabled modern browser.

The duration is 5 hours and splits in three main parts:

9:30. Introduction (0:45)

(a) Product Line Basics
(b) Development Scenarios

10:15-10:45 Coffee break

10:45-13:00. Feature Modelling (2:15)

(a) Basics
(b) Feature Modelling Exercise 1
(c) What is a feature?
(d) Feature Modelling Exercise 2

13:00-14:00 Lunch

14:00-16:00. Using Feature Models (2:00)

(a) Linking feature models to requirement assets
(b) Maintaining feature models
(c) Common Pitfalls

16:00-16:30 Questions and closing