david weiss [email protected]

27
Software Product- Line Engineering: A Family-Based Software Development Process: Defining The Family David Weiss [email protected]

Upload: erna

Post on 07-Jan-2016

51 views

Category:

Documents


2 download

DESCRIPTION

Software Product-Line Engineering: A Family-Based Software Development Process: Defining The Family. David Weiss [email protected]. FAST Process. A process for defining families and developing environments for generating family members Find abstractions common to the family - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: David Weiss weiss@sei.pku

Software Product-Line Engineering: A Family-

Based Software Development Process:

Defining The FamilyDavid Weiss

[email protected]

Page 2: David Weiss weiss@sei.pku

FAST Process

• A process for defining families and developing environments for generating family members– Find abstractions common to the family– Define a process for producing family members– Design a language for specifying family members– Generate software from specifications

• Family-oriented Abstraction, Specification, Translation

Session 2 20 May 2009 DMW 2

Page 3: David Weiss weiss@sei.pku

Product Engineering Environment

A FAST Process

Domain Engineering

Product Engineering

Products

Feedback

Investment

Payback

Session 2 20 May 2009 DMW 3

Page 4: David Weiss weiss@sei.pku

The Domain Model

• Conceptual Framework– Family Definition

• Commonalities and Variabilities Among Family Members• Common Terminology for the Family• Decision Model

– Economic Analysis– Product Line Architecture– Optional: Application Modeling Language (AML): Language

for stating requirements

• Mechanism for generating products– Composer or Compiler (AML)

Session 2 20 May 2009 DMW 4

Page 5: David Weiss weiss@sei.pku

The Conceptual Framework (1)• Qualify The Domain

– Is it economically viable?– Artifact: Economic Model

• Define The Family– What do members of the family have in common and how do

they vary?– Artifact: The Commonality/Variability Analysis

• Define The Decision Model– What decisions must be made to identify a family member?– Artifact: The Decision Model Table

Session 2 20 May 2009 DMW 5

Page 6: David Weiss weiss@sei.pku

The Conceptual Framework (2)• Create The Architecture

– What is a good modular structure and a good uses structure?

– Artifacts: Module Guide, Interface Specifications, Uses Relation

• Design The System Composition Mapping– What modules are needed for which decisions?– Artifacts: System Composition Mapping, Uses Relation

• Design The Product Engineering Environment– What are good mechanisms for using the decision model to

produce products or to generate products from the AML?– Artifacts: Decision Model GUI, Generator or Compiler (AML)

Session 2 20 May 2009 DMW 6

Page 7: David Weiss weiss@sei.pku

Defining Requirements For The Family: The Commonality Analysis

• Must specify requirements that are– common to all family members (commonalities)

– variable among family members (variabilities)

• Commonalities: Assumptions that hold for every member of the family

• Variabilities: Assumptions that define the range of variation for the family

• Parameters of Variation: Quantification of the variabilities• Dictionary of terms

– Technical terms that define a vocabulary for the domain

Session 2 20 May 2009 DMW 7

Page 8: David Weiss weiss@sei.pku

Organization of A Commonality/Variability Analysis

1. Introduction & Overview

2. Commonalities

3. Variabilities

4. Parameters of Variation

5. Dictionary

6. Issues

7. Notes

8. Review Questions

Session 2 20 May 2009 DMW 8

Page 9: David Weiss weiss@sei.pku

The Floating Weather Station: An Example

Session 2 20 May 2009 DMW 9

Page 10: David Weiss weiss@sei.pku

The Floating Weather Station

• Floating Weather Station (FWS) buoys are deployed at sea and periodically report the current wind speed via messages sent by radio. Each member of the FWS family contains an onboard computer that controls the operation of the buoy while it is at sea.

Session 2 20 May 2009 DMW 10

Page 11: David Weiss weiss@sei.pku

A Few FWS Commonalities

The following statements are basic assumptions about the FWS domain, i.e., they are true of all FWS systems.

C1. At fixed intervals, the FWS monitors the wind speed at its location.

C2. The FWS is equipped with one or more sensors that monitor wind speed.

Session 2 20 May 2009 DMW 11

Page 12: David Weiss weiss@sei.pku

A Few FWS Variabilities

The following statements describe how FWS may vary.

V1. The number of wind speed sensors on a FWS may vary. (C2)

V2. The sensor period of the sensors on a FWS may vary (C1, C2)

Session 2 20 May 2009 DMW 12

Page 13: David Weiss weiss@sei.pku

A Few Parameters of Variation

Parameter Meaning Value Set Binding Time

Default

P1. SensorCount (V1)

Number of wind sensors

[1..5] Specification 1

P2. SensorPeriod (V2)

Sensor period [1..600] sec. Specification 5

Session 2 20 May 2009 DMW 13

Page 14: David Weiss weiss@sei.pku

Dictionary of Terms

Term Meaning

Sensor period The number of seconds between sensor readings

Wind speed The speed of the wind in knots: nautical miles per hour

Session 2 20 May 2009 DMW 14

Page 15: David Weiss weiss@sei.pku

From Parameters Of Variation To Implementations: The Decision Model

Session 2 20 May 2009 DMW 15

System Composition Mapping

Page 16: David Weiss weiss@sei.pku

Session 2 20 May 2009 DMW 16

Engineer Application

Process Artifact

Key:

Validation & Acceptance

Customer(s)

Delivered System

Requirements

Decisions

Components+Tools+Processes

Code & Documentation

Decision Model

Page 17: David Weiss weiss@sei.pku

Summary

• Product Line Scope Is Defined By Commonality/Variability Analysis

• Commonalities Define What’s Common To All Family Members

• Variabilities Define The Range Of The Family• Parameters Of Variation Quantify The Range• Decision Model Uses Parameters of Variation In

Specifying Individual Products

Session 2 20 May 2009 DMW 17

Page 18: David Weiss weiss@sei.pku

Terminology

• Family• Product Line• Conceptual Model• Domain Engineering• Domain Model• Product Engineering (aka Application Engineering)• Product Engineering Environment• Decision Model• Commonality/Variability Analysis• System Composition Mapping• Application Modeling Language

Session 2 20 May 2009 DMW 18

Page 19: David Weiss weiss@sei.pku

“If I have seen farther than others it is because I have stood on the shoulders of giants.”

-- Isaac Newton

Session 2 20 May 2009 DMW 19

Page 20: David Weiss weiss@sei.pku

“Everything should be as simple as possible, but no simpler.”

-- Albert Einstein

Session 2 20 May 2009 DMW 20

Page 21: David Weiss weiss@sei.pku

Exercise 3: Scoping A Family Part 1

For the family you proposed in Exercise 1, define 3 commonalities and 3 variabilities

Commonalities

1.

2.

3.

Session 2 20 May 2009 DMW 21

Page 22: David Weiss weiss@sei.pku

Exercise 3: Scoping A Family Part 1 (cont)

For the family you proposed in Exercise 1, define 3 commonalities and 3 variabilities

Variabilities

1.

2.

3.

Session 2 20 May 2009 DMW 22

Page 23: David Weiss weiss@sei.pku

Exercise 3: Scoping A Family Part 2

Review the Commonality/Variability Analysis for the FWS

Issues:

Session 2 20 May 2009 DMW 23

Page 24: David Weiss weiss@sei.pku

Exercise 3: Scoping A Family Part 3

Propose one new commonality and (at least) one new variability for the FWS.

Commonality:

Variability:

Session 2 20 May 2009 DMW 24

Page 25: David Weiss weiss@sei.pku

FWS Commonalities

The following statements are basic assumptions about the FWS domain, i.e., they are true of all FWS systems.

Behavior

C1. At fixed intervals, the FWS transmits messages containing an approximation of the current wind speed at its location.

C2. The wind speed value transmitted is calculated as a weighted average of the sensor readings, calculated over several readings for each sensor.

Devices

C3. The FWS is equipped with one or more sensors that monitor wind speed.

C4. The FWS is equipped with a radio transmitter that enables it to send messages.

C5. Each sensor comes equipped with a software driver for it and a unique identifier. (See Appendix II for association of sensors and identifiers.)

C6. Each sensor on board a FWS has a way of indicating its reliability.

Session 4 21 May 2009 DMW 25

Page 26: David Weiss weiss@sei.pku

FWS Variabilities

The following statements describe how a FWS may vary.

Behavior

V1. The formula used for computing wind speed from the sensor readings may vary. In particular, the weights used for the high resolution and low resolution sensors may vary, and the number of readings of each sensor used (the history of the sensor) may vary.

V2. The types of messages that an FWS sends may vary according to both content and format. There are currently only two types of messages, described in section 8., Appendix I.

V3. The transmission period of messages from the FWS may vary.

Devices

V4. The number of wind speed sensors on a FWS may vary.

V5. The resolution of the wind speed sensors may vary.

V6. The sensor period of the sensors on a FWS may vary.

V7. The wind speed sensor hardware on a FWS may vary.

V8. The transmitter hardware on a FWS may vary.

V9. The method used by sensors to indicate their reliability may vary.

Session 4 21 May 2009 DMW 26

Page 27: David Weiss weiss@sei.pku

Teams

Role Responsibility Person

Systems Engineer Commonality/variability analysis, decision model

Architect Module, uses, process structures, interface specifications

Developer Module implementation

Tester & Integrator Module tests, System generation and verification

Project Manager Economic model, project plan

Session 2 20 May 2009 DMW 27