mike mannion, glasgow caledonian university hermann kaindl, … · 2020. 9. 5. · hermann kaindl,...

78
Glasgow Caledonian University, Vienna University of Technology Tutorial - 1 Engineering Requirements in Product Lines Mike Mannion, Glasgow Caledonian University Hermann Kaindl, Vienna University of Technology Institute of Computer Technology

Upload: others

Post on 08-Apr-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 1

Engineering Requirements in

Product Lines

Mike Mannion, Glasgow Caledonian University

Hermann Kaindl, Vienna University of Technology

Institute of Computer Technology

Page 2: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 2

Structure

• Introduction

• Product Line Models of Reusable Requirements

• Using a Product Line Model for Building a Single Product

• Verifying a Single Product Model

• Selection Decision Interdependencies

• Tool Support

• Lessons Learned

• Summary

Page 3: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 3

Part I

Introduction to Software Reuse and Product Line

Engineering

Page 4: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 4

Product Line Factors

Page 5: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 5

Reuse Framework

REUSE

PLANNING

REUSE

LEARNING

PRODUCT LINE

ENGINEERING

REUSE

MANAGEMENT

Page 6: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 6

Reuse Drivers

Business • Mass Customisation

• Time to market

• Response to increase in IT

system volume, size,

complexity

• Increase quality e.g. reliability, interoperability

• Lower costs

• Greater control over sub-contracted work if insist on use of reusable component

• Staff shortages

Technical • Object-oriented

technologies are a catalyst

• “glue” technologies

• Advances in collaboration

technologies: internet,

intranet, extranet

• Component development

toolkits

Page 7: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 7

Reuse Barriers

• Changing markets, changing products

• Priority on short-term profits

• Clarity of strategic objectives

• Unclear return on investment models

• Leadership and management capability

• Changes to organisational structures and culture

• Expertise in reuse processes, methods and tools

Page 8: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 8

Product Line Engineering

• Product Line

– set of software products sharing a set of common features satisfying the needs of a particular market but containing significant and predictable variability

• Product Line Engineering is a process that delivers software artefacts that can be reused to support the development of new products in the domain

• Product Variation Points, Product Variants

• New product construction grounded in selecting variants at variation points

Page 9: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 9

Software Product Line

Engineering Cycles

Design Implementation

Platform

Product

Domain

Requirements

Definition Phase

Domain

Design Phase

System

Requirements

Definition

Phase

System

Design Phase

Domain

Implementation Phase

System

Implementation Phase

= Filtering and Feedback

Requirements V & V

Domain

V &V Phase

System

V &V Phase

= Development

Page 10: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 10

Product Line Engineering

Methods

• 3 Tiered SPL [BigLever, ongoing in 2011]

• Feature-Oriented Reuse Method (FORM) [Kang 2002]

• Feature-Oriented Domain Analysis [Kang 1990]

• Product Line Practice (PLP) Initiative [Clements/Northrop 2001]

v4.2 on www.sei.cmu.edu/productlines

• PuLSE [Fraunhoffer IESE, 2000]

• Reuse-driven Software Eng Business [Jacobson et al. 1997]

• Organisation Domain Modelling [Simos 1996]

• Domain-Specific Software Architecture [Tracz 1993]

• Synthesis [Software Prod Consortium 1993]

Page 11: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 11

MRAM Process Model

Product

Line

Model

Use Product

Line Model to

Build Single

System Model

2

Domain Sources e.g. previous specifications,

experience, predicted needs

Build

Product

Line

Model

1

Verified

Single System

Requirements

selection

new requirements

new or amended requirements

Verify

Selected

Single

System

3

selected single system

system requirements

new or amended

requirements

error report

Page 12: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 12

Why Requirements Reuse ?

• Well-understood requirements are basis for

reusable architecture and components

• There are similarities in existing systems and

often similar requirements

• Reuse requirements rationale, terminology,

expression, validation information

• Acceptance tests and acceptance test plans and

procedures can be reused

• Saves considerable effort

Page 13: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 13

Why is Requirements Reuse difficult ?

Exercise

Page 14: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 14

Requirements Reuse

• Elicitation difficult because requirements document

structures differ eg terminology, writing styles

• Products evolve, need process to manage variability

• Need requirements database to avoid omission,

conflict, inconsistency and manage complexity

• need domain expert(s), expensive

Page 15: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 15

Part II

Product Line Models of Reusable

Requirements

Page 16: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 16

Product Line Model

• Natural language, atomic

• Tree structure

• Classification of reusable requirements – common

– variable (Variation Point)

– not reusable

• Mobile phone example – Common: There shall be the capability to make a telephone call.

– Variable: The mobile phone shall have a TV facility.

Page 17: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 17

MRAM

Metamodel

System

Name

Product Line Entity

Identifier

Synonyms

Glossary Information 1..*

1..*

relevant in

1..*

Viewpoint

Name

Rationale

Description

Product Line Requirement

Identifier Stability Verifiability Further information Cost Complexity Staff Knowledge Technology

1..* 1..*

active in

0..1

1..* statement about

1..* 1..*

contains

parent-child

0..*

Parameter Variation Point

Page 18: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 18

Product Line Model As Tree

Structure

Variation

Points

Variation

Point

Variation Points

Page 19: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 19

Common Requirements

• REQ 1

– There shall be a telephone number address book facility.

• REQ 1.1

– There shall be the facility to add a telephone number.

• REQ 1.2

– There shall be the facility to search for a telephone number.

• REQ 1.3

– There shall be the facility to delete a telephone number.

Page 20: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 20

Parent-Child Relationship

• Often undefined semantics.

• In our experience elaboration on lower level.

• Mutual dependency of parent and child.

• Both “in” or “out”.

Page 21: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 21

Variability Issues

Common

Features

(a) (b)

A

B

C

A

B C

(c)

A B

C

NB: A requirement’s

variability profile can

evolve over time.

Page 22: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 22

Variation Points

• Definition: any requirement which makes a system

different from another in the product line.

• Can come from (many) functional or non-functional

requirements.

• We model qualitative variation using Variation Points.

• We model quantitative variation using parameters.

• We model qualitative and quantitative variation using

parameterised Variation Points.

Page 23: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 23

Variation Point Types

1. Mutual exclusion: a set of mutually exclusive features

from which only one can be used in any system in the

domain

2. List of Alternatives: a set of features which are

optional but not mutually exclusive and at least one

will be chose.

3. Option: A single optional feature

4. Combination of above.

Page 24: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 24

Mutual Exclusion

Example

• REQ 2 – The mobile phone shall have a display.

• REQ 2.1

– The mobile phone shall have a black and white display.

• REQ 2.2

– The mobile phone shall have a colour display.

Page 25: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 25

Graphical Representation of a

Mutual Exclusion Example

REQ 2.1

Black and White

Mutual Exclusion REQ 2 The mobile

phone shall have a display.

REQ 2.4

Colour

Page 26: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 26

List of Alternatives

Example

• REQ 3

– There shall be the facility to make a telephone call.

• REQ 3.1

– A telephone call shall be made by dialling a number on the numeric keypad.

• REQ 3.2

– A telephone call shall be made by pressing a memory recall button to recall a stored number.

• REQ 3.3

– A telephone call shall be made by pressing a ring-back facility to dial the number of the last incoming call.

• REQ 3.4

– A telephone call shall be made by using speech recognition technology to interpret voice commands.

Page 27: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 27

Graphical Representation of a

List of Alternatives

REQ 3.3

Pressing

ringback

button

REQ 3.1

Dialling

number on

numeric

keypad

REQ 3.2 Pressing

memory recall

button

List of Alternatives REQ 3

There shall be the facility to

make a telephone phone call by:

REQ 3.4

Interpreting

voice

commands

Page 28: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 28

Option Example

• REQ 4

The mobile phone shall have an email facility.

Page 29: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 29

Graphical Representation of

an Option

Option REQ 4 The

mobile phone shall have

an email facility.

Page 30: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 30

Variation Point Combination

Example

•REQ 4 (Option) The mobile phone shall have an email facility.

•REQ 5 (Parent of List of Alternatives) The email facility shall use one of the following protocols.

•REQ 5.1 There shall be the facility to use the Post Office Protocol.

•REQ 5.2 There shall be the facility to use the Internet Message Access Protocol.

•REQ 5.3 There shall be the facility to use the Simple Mail Transfer Protocol.

Page 31: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 31

Graphical Representation of a

Variation Point Combination

Option REQ 4 The mobile phone shall have

an email facility.

List of Alternatives REQ 5 The email

facility shall use one of the following protocols

REQ 5.1 POP REQ 5.2 IMAP

REQ 5.3 SMTP

Page 32: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 32

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 33: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 33

What type of Variation Point is the availability of Office applications on mobile phones e.g. Word, Excel, Powerpoint?

Question ?

Page 34: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 34

Parameterised Requirements

• Example: The mobile phone shall respond to @X commands simultaneously within $Y seconds.

• Global parameters i.e. across many requirements (denoted by @).

• Local parameters i.e. local to this requirement only (denoted by $).

• A parameterised variation point is a variation point that also happens to contain parameters.

• If parameters removed, requirement remains variation point.

Page 35: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 35

Introducing New Requirements

Into A Product Line Model

Step 1 Common requirement ?

If yes, go to Step 4.

Step 2 Variable requirement - qualitative ?

If yes, determine whether the requirement is a Mutual Exclusion, List of

Alternatives or option and go to Step 4.

Step 3 Variable requirement - quantitative

If yes, determine how many parameters there should be and whether they

are local or global.

Step 4 Determine if the requirement can be a leaf child node of an existing

Variation Point requirement in the hierarchy or whether a new parent

requirement must be formed.

End.

Page 36: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 36

European Space Missions

• Cluster II: to investigate solar wind interaction with the

Earth's magnetic field in three dimensions.

• European Remote Sensing (ERS) ERS-1 ERS-2: earth

observation satellites measuring data and taking

images regardless of cloud and lighting conditions.

• Infrared Space Observatory (ISO): infrared waves to

investigate molecular structure of space.

Page 37: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 37

Spacecraft Control Systems

• A Spacecraft Mission Control System (MCS)

monitors and controls a satellite.

• Communicates to satellite using spacecraft

command sequences.

• MCS has a Mission Planning System (MPS).

• MPS generates commands but can be overridden.

Page 38: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 38

Advanced Mission Planning

Infrastructure Viewpoints

Mission

Planning

System

Mission Control

System

Spacecraft

Operations

Engineer

Flight

Dynamics

Ground

Station(s)

MPS

Designer

End User

Mission

Information

BaseMPS

User(s)

Simulator

Mission

Support

AMPI

Designer

Page 39: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 39

Case Study

Mission Planning Systems

• 4 MPS requirement spec:100-200 requirements each.

• Product Line Requirement Spec: 539 requirements; 13 viewpoints.

• 66% requirements emanated from existing requirement

specifications

– of these, 49% were common to more than 1 existing

requirements specification.

• 12% requirements brand new; 23% from other sources.

• 263 person-hours reviewing previous documentation and talking to

staff.

• 450 person-hours creating, reviewing, writing product line

requirement specification.

Page 40: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 40

Part I and II

Summary

• Plan, commit and organise for Product Line Software Engineering.

• Product line and systems engineering lifecycles.

• Managing variability.

• Structure and examples of product line models of requirements.

Page 41: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 41

Part III

Using a Product Line Model

for Building a Single Product

Page 42: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 42

Free Selection

• Free selection means allowing a single system

requirements engineer (user) to browse a

product line model and simply copy and paste a

single requirement from anywhere in the model

to the single system model.

Product Line Model Single System Model

copy and paste

Page 43: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 43

Problems of Free Selection

• Selecting a single requirement is often not

sufficient.

• Random choice can mean illegal choice

–e.g. 2 mutually exclusive requirements

–e.g. not choosing generic requirement.

• Untenable number of choices.

• BUT engineers like freedom of choice!!!

Page 44: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 44

Variation Point-Based

Selection

• Use tree structure and Variation Points to direct requirements selection.

• Start at one of the roots.

• Traverse depth first.

• Ask user to make a choice at each Variation Point.

• Common requirements are automatically selected if their parents are already selected or if they are a root node.

Page 45: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 45

Example

List of

Alternatives

Option

Mutual

Exclusion R1

R2.2

R1.1

R2.1.2.3

R1.2.2

R2.1

R2.1.3.1

R2.2.1

R2.1.2.1 R2.1.1.1

R1.2.1

R2

R2.2.1.1

R2.2.1

R2.1.2 R2.1.1 R2.1.3

R2.1.3.1.1

R1.2

Page 46: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 46

Example

List of

Alternatives

Option

Mutual

Exclusion R1

R2.2

R1.1

R2.1.2.3

R1.2.2

R2.1

R2.1.3.1

R2.2.1

R2.1.2.1 R2.1.1.1

R1.2.1

R2

R2.2.1.1

R2.2.1

R2.1.2 R2.1.1 R2.1.3

R2.1.3.1.1

R1.2

Page 47: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 47

Example

List of

Alternatives

Option

Mutual

Exclusion R1

R2.2

R1.1

R2.1.2.3

R1.2.2

R2.1

R2.1.3.1

R2.2.1

R2.1.2.1 R2.1.1.1

R1.2.1

R2

R2.2.1.1

R2.2.1

R2.1.2 R2.1.1 R2.1.3

R2.1.3.1.1

R1.2

Page 48: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 48

Example

List of

Alternatives

Option

Mutual

Exclusion R1

R2.2

R1.1

R2.1.2.3

R1.2.2

R2.1

R2.1.3.1

R2.2.1

R2.1.2.1 R2.1.1.1

R1.2.1

R2

R2.2.1.1

R2.2.1

R2.1.2 R2.1.1 R2.1.3

R2.1.3.1.1

R1.2

Page 49: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 49

Example

List of

Alternatives

Option

Mutual

Exclusion R1

R2.2

R1.1

R2.1.2.3

R1.2.2

R2.1

R2.1.3.1

R2.2.1

R2.1.2.1 R2.1.1.1

R1.2.1

R2

R2.2.1.1

R2.2.1

R2.1.2 R2.1.1 R2.1.3

R2.1.3.1.1

R1.2

Page 50: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 50

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 51: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 51

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 52: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 52

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 53: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 53

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 54: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 54

Mobile Phone Example

Pressing

memory

recall

button

Pressing

ringback

button

Option: email facility

List of Alternatives: email protocol

POP IMAP SMTP

Voice Colour

List of Alternatives: There

shall be the facility to make

a phone call by:

Dialling

number on

numeric

keypad

Black and

White

There shall be an

address book facility.

Delete from

address book Add to

address

book Search

address book

Mutual Exclusion: The mobile

phone shall have a display

Page 55: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 55

Case Study

SCOS 2000 Commanding

Requirements

• Spacecraft commands are organised into tasks

– Tasks can be grouped together into command sub-systems

– Tasks have parameters, which have attributes of type and

length so that each task can be executed with varying

amounts of information.

• Commanding Specification organised as hierarchy of sections of

requirements.

• Requirements well written: 10% re-written to make the implicit

variability more explicit.

• 2000 requirements; 778 commanding requirements

Page 56: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 56

Case Study

Reusable Requirement Type Numbers

Common 737

Parameterised Requirement 14

Mutual Exclusion Variation Point 3

List of Alternatives Variation Point 8

Option Variation Point 15

Parameterised Variation Point 1

Page 57: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 57

Advantages of Variation Point-

Based Selection

• Time & effort savings

–max 35 choices, not 778

–system requirements took days not weeks.

• Proportional to number of variation points.

• Time spent on selection implications, not definition, specification, linkage, traceability.

• Selections consistent with the product-line model are made.

• Limited user input because selections pruned.

Page 58: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 58

Part IV

Verifying a Single System Model

Page 59: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 59

Product Line Model Relations

and Formal Definitions

Product Line Relation Formal Definition

Product line model T1 T2 … Tn

Tree (T) a1 Я a2 Я ... Я an

Parent-Child ai aj

Mutual Exclusion Variation

Point

ai aj

List of Alternatives Variation

Point

ai aj

Option Variation Point (ai ¬aj) if i=j,

(ai ↔ aj) if i≠j

Page 60: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 60

Product Line Model Definition

• For a product line model P of product line

requirements a logical expression can be

defined as

• E(P) = {T1 T2 … Tn ¦ {Ti = ai1 Яi1 ai2 Яi2

ai3 Яi3 … Яi(n-1) ain; aij = s(rij)

–where rij must be a directly reusable requirement or

Variation Point;

–and Яij є {Яpc, Яsa, Яma, Яo} }

Page 61: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 61

Example

List of

Alternatives

R1.3 R1.2

R2.1 R2.2

R3.3 R3.1 R3.2

Option

R1.1

R1 Mutual

Exclusion

R4

R5.1 R5.2 R5.3

R5

R3.4

R2

List of

Alternatives

R3

Page 62: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 62

Mobile Phone Product Line

Model

((R1 (R1.1 R1.2 R1.3)) ………….(T1)

(R2 (R2.1 R2.2)) …………………(T2)

(R3 (R3.1 R3.2 R3.3 R3.4)) ….(T3)

(R4 ↔ (R5 (R5.1 R5.2 R5.3)))...….(T4)

Page 63: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 63

Free Selection: Example 1

Suppose the selected requirements are:

(R1, R1.1, R1.2, R1.3, R2, R2.1, R3, R3.1, R3.2, R4, R5, R5.1)

The product line logical expression becomes:

(TRUE (TRUE TRUE TRUE)) ……………………..(T1)

(TRUE (TRUE FALSE)) ……………………………..(T2)

(TRUE (TRUE TRUE FALSE FALSE)) …………(T3)

(TRUE ↔ ((TRUE (TRUE FALSE FALSE)))………..(T4)

(T1), (T2), (T3) and (T4) each evaluate to TRUE.

Hence T1T2T3T4 evaluates to TRUE.

Page 64: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 64

Suppose the selected requirements are:

(R1, R1.1, R1.2, R2, R2.1, R3, R3.1)

Product line logical expression is:

(TRUE (TRUE TRUE FALSE)) ….………………….(T1)

(TRUE (TRUE FALSE)) ……….………………………..(T2)

(TRUE (TRUE FALSE FALSE FALSE)) .…………..(T3)

(FALSE ↔ (FALSE (FALSE FALSE FALSE)))………..(T4)

(T2), (T3) and (T4) each evaluate to TRUE but (T1) evaluates to FALSE because the directly reusable requirement R1.3 was not selected. Hence T1T2T3T4 evaluates to FALSE.

Free Selection: Example 2

R1.3 not selected

Page 65: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 65

Verification Technique

• Helps verify whether the application requirements satisfy the constraints of the product line model.

• Variation Point-based selection always evaluates to TRUE for any resulting requirements selection of a single system.

• Debugging is a matter of isolating the tree in which the wrong selection combinations have been made.

• Easy to automate.

• Invites the engineer to consider reworking the model.

Page 66: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 66

Part V

Selection Decision Interdependencies

Page 67: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 67

Decision-Making

• large number of variation points and inter-dependencies makes holistic view difficult to see

• inter-dependencies between variation points, between variants, and between variation points and variants

• groups of selection decisions

• groups of inter-dependencies

• different reasons for an inter-dependency

• decision makers require additional information and advice about decisions already taken to inform decisions to be taken

• the transparent and consistent application of selection methods

• different priorities of variation points and variants

• populating of variation points with default variant values before a decision model is used

• making clear the scope and impact of a selection decision i.e. there can be interacting decisions within the same set of artefacts (e.g. features) and interacting decisions between different sets of artefacts (e.g. feature and design and components).

Page 68: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 68

Decision Model Construction &

Decision Making Process

Page 69: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 69

Selection Decision Metamodel

Page 70: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 70

Metal Processing Lines

PLC = Programmable Logic Controller

SCADA = Supervisory Control And Data Acquisition

Page 71: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 71

Case Study: Metal Processing Lines

Mondragón Sistemas de Información

• Product line for the coordinator PLC program

• 9 person-months to develop the decision model

with the tools.

• 510 requirements

• 201 common requirements

• 309 variable requirements

Page 72: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 72

Metal Processing Line

Decisions

Decision Model Element type Number of Elements

Decisions 309

Unrestricted Decision 8

Bounded Decision 168

Single Choice List Decision 108

Multiple Choice List Decision 25

Group 59

Collection 1

Choices 464

InterDependencies 198

Inter-Dependency Actions 319

Page 73: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 73

Cost-Benefits

Software Development Cost

0%12%

15%

8%8%

0%

20%

40%

60%

80%

100%

120%

<2002 2002 & 2003 2004 2005 2006

Years

Avera

ge T

ime S

pen

t o

n S

oft

ware

Develo

pm

en

t

A - Average time spent on project development B - Time Spent on SPL Infrastructure

Software Development Costs

0%10%

13%

10%12%

0%

20%

40%

60%

80%

100%

120%

<2002 2002 & 2003 2004 2005 2006

Years

Averag

e E

ffo

rt S

pen

d o

n S

oftw

are

Develo

pm

en

t

C - Average effort spent on project development D - Effort Spent on SPL Infrastructure

Effort spent on projects

Effort spent on PL infrastructure

Time spent on projects

Time spent on PL infrastructure

Page 74: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 74

Part VI

Tool Support

Page 75: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 75

Tools

• Gears (BigLever)

• Pure:: Variants (Pure Systems)

• X-Feature (ETH-Zürich)

• RequiLine (RWTH Aachen University)

• T-REK (Thalès/Telelogic)

• DecisionKing (Christian Doppler Laboratory for Automated

Software Engineering Johannes Kepler University)

• V-Define, V-Resolve (European Software Institute)

• TRAM (ESOC)

Page 76: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 76

Lessons Learned

• Metamodels enable consistent information

• Rework model if it breaks during selection or if

new requirements to be added

• Role of Product Line board

• Tool support essential

• Complex models – visualisation aids

• Managing Changing Variability

Page 77: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 77

Summary

• Describe a product line engineering lifecycle.

• Build a product line model.

• Develop a single system model from a product

line model.

• Use a product line engineering support tool.

Page 78: Mike Mannion, Glasgow Caledonian University Hermann Kaindl, … · 2020. 9. 5. · Hermann Kaindl, Vienna University of Technology Institute of Computer Technology Glasgow Caledonian

Glasgow Caledonian University, Vienna University of Technology Tutorial - 78

Selected work of presenters

SELLIER, D., MANNION, M., MANSELL, J., Managing Requirements Inter-dependency for Software Product Line Derivation, Requirements Engineering Journal 13(4): 299–313, 2008

MANNION, M., KAINDL, H., Using Parameters and Variation Points for Product Line Requirements’, Systems Engineering, Volume 11, Issue 1, Spring 2008

SELLIER, D., MANNION, M., Visualizing Product Line Requirement Selection Decisions, Proc of Workshop on Product Line Visualisation at 11th Software Product Line Conference, Kyoto, 10-14 September 2007

SELLIER, D., MANNION, M., BENGURIA, G., URCHEGUI, G., Introducing Software Product Line Engineering for Metal Processing Lines in a Small to Medium Enterprise, Proc of 11th Software Product Line Conference, Kyoto, 10-14 Sept 2007

MANNION, M., Using First Order Logic for Product Line Model Validation”, Proc of 2nd Software Product Line Conference, San Diego, 19-22 August 2002, 176-187.

MANNION, M., LEWIS, O., KAINDL, H., MONTRONI, G., WHEADON, J., Representing Requirements of Generic Software in an Application Family Model”. 2000. Lecture Notes in Computer Science (LNCS 1844), Software Reuse: Advances in Software Reusability, ed W Frakes, 6th International Conference, ICSR-6, Vienna, Austria, 27-29 June 2000, 153-169.

MANNION M., KEEPENCE B., KAINDL H., WHEADON J., Reusing Single Requirements From Product line Requirements, In Proceedings of 21st IEEE International Conference on Software Engineering (ICSE’99), May 1999, 453-462.