Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11,...

44
Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11,...

Page 1: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

Product Line Engineering

CS 415, Software Engineering II

Mark Ardis, Rose-Hulman Institute

March 11, 2003

Page 2: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

2

Acknowledgements

• David Weiss

• Lloyd Nakatani

• Janel Green

• Bob Olsen

• Paul Pontrelli

Page 3: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

3

Outline

1. What is product line engineering?

2. How did we use product line engineering at Lucent?

3. Why did product line engineering work (at Lucent)?

Page 4: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

4

Airbus Beats Boeing in Huge Jetliner Deal with USAir (11/6/96 NY Times)

• USAir, which had never bought a plane from Airbus, will purchase 120 Airbus A319s, A320s, and A321s...

• USAir’s current fleet is a hodgepodge of nine types of aircraft

• A simplified domestic fleet would allow USAir to lower costs.

• Importance of Commonality– USAir will reduce costs by using one aircraft type– Airbus is reducing its production costs by reusing one

aircraft type

Page 5: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

5

Airbus Wins $4 Billion Order From Iberia, Beating Boeing (2/4/98 NY Times)

• Iberia ordered 76 planes:– 9 A319’s, each with capacity

for 124 passengers– 36 A320’s, each with capacity

for 150 passengers– 31 A321’s, each with capacity

for 185 passengers

Page 6: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

6

Airbus Wins $4 Billion Order...

• “Iberia president said single-aisle Airbus models... though differing in passenger capacity, had identical cockpits and mechanical specifications that offered savings in crew training and maintenance.”

Page 7: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

7

Product Line Approach

• Reorganize the software development process– Evolve a family rather than build single

systems– Invest in family infrastructure: Capitalize

• Develop systematic approach to building flexible application generators

Page 8: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

8

Application Environment

FAST: Family-oriented Abstraction, Specification, Translation

Domain Engineering

Application Engineering

Applications

Feedback

Page 9: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

9

Domain Engineering

Application Environment

Domain Analysis

Domain Model

Domain Implementation

Analysis Document,Application Modeling

Language

Tools,Process

Page 10: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

10

Application Engineering

Application Engineering

Application

Application EnvironmentApplicationRequirements

Page 11: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

11

Economics of Families

CurrentPractice

Number of Family Members

Cumulative Cost Domain

Engineering

Page 12: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

12

Defining a Family:Commonality Analysis

• Dictionary: Technical vocabulary of the domain

• Commonalities: Assertions about every member of the family

• Variabilities: Assertions about variation across the family

• Consensus process– All domain experts invited to participate– Led by a trained moderator– Real-time editing of the document

Page 13: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

13

Application Engineering Environment

• A language for specifying family members

• Translators from specification to code• Libraries of common code • Supporting tools

– Simulator– Test case generator– Verifier

Page 14: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

14

FAST Benefits

• Improved Understanding

• Shorter Intervals

• Lower Costs (Domain Dependent)

• Process Innovation

• Improved Technology

Page 15: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

15

Cartoon of the Day

Page 16: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

16

How Did We Use Product Line Engineering at Lucent?

Page 17: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

17

Eli Whitney

• Born December 8, 1765• Raised on a farm in

rural Massachusetts• Attended Yale College

1789-1792• What did Whitney do in

1793?

Page 18: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

18

The Cotton Gin

• Whitney invented the cotton gin in 1793

• Southern planters refused to pay royalties on patent– The gin was easy to

manufacture– Southern legislatures

conspired against Whitney

Page 19: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

19

Eli Whitney

• Whitney’s company was out of business by 1797

• What did Whitney do in 1798?

Page 20: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

20

Flintlock Components

Page 21: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

21

Whitney’s Gamble on Automation

• Whitney offered to make 10,000 muskets in 2 years

• No other manufacturer had ever made more than a few hundred muskets

• Automation was needed to improve the efficiency of the locksmiths

• Whitney invented milling machines to produce interchangeable parts

• Demonstrated for Congress in 1802

Page 22: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

22

Putnam Machine Company, 1875

Page 23: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

23

Configuration Control

• Software that enables changes in switch configuration while the switch is operating– Ensures that requested configurations are valid

and safe– Reconfigures– Example: Remove a Protocol Handler (PH) from

service and replace it with a spare

• New switching technology requires new configuration controllers– New unit types for new functionality of lower cost

Page 24: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

24

Maintenance Domain Structure

Human MachineInterface

Diagnostics

Hardware SoftwareInterface

MaintenanceAdministrator

Fault Detectionand Analysis

RoutineMaintenance

InitializationControl

ConfigurationControl

Page 25: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

25

Commonality Analysis of Configuration Control

• 1 staff-year effort over 6 months by 6 experts

• Produced a Commonality Analysis– Definitions: rational vocabulary– Commonalities: reusable algorithms– Variabilities: relationships between devices– Parameters of Variation: enumerated types

• Reviewed by organization

Page 26: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

26

Building Technology for Configuration Control

• 2 staff-years effort over 12 months by 3 experts

• Languages -- capture generic algorithms and parameters

• Translators -- translate to executable code

• Interface to legacy system• Graphical editor

Page 27: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

27

SMALL-D

Configuration Control Architecture

SMALL-V SMALL-R

Domain Engineering Environment

Application Engineering Environment

VFSMC Data

Application

RAD

Page 28: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

28

Configuration ControlDevelopment Environment

ApplicationEngineer

DomainEngineer

Application SpecificConfiguration Control

ReusableAssets

ApplicationData

ApplicationEnvironment

Interface

RAD

C Code

KnowledgeBase

Page 29: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

29

RAD Tool

Page 30: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

30

Reusable Assets

• Validations -- generic algorithms for every unit type

• Realizations -- generic algorithms for every unit type

• Relationships– data that is used to drive the generic algorithms– design information shared across development

Page 31: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

31

Applications• Project 1 (1994)

– re-engineering project to demonstrate feasibility– replaced existing code and demonstrated in lab

• Project 2 (1996)– shadow project to demonstrate performance– duplicated work of another team and compared results

• Project 3 (1997-1998)– first real application– reworked domain analysis as work progressed

• Project 4 (1999)– production use

Page 32: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

32

CAL HSIDECC

PSAD

AIMTLP

TRPTAC

0

20

40

60

80

100

Interval Reduction on 5ESS Projects

Page 33: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

33

Measuring Benefits

• Siy and Mockus studied the effect of domain engineering on the AIM project:– Studied 22,804 MRs involved in 1351

distinct software features over a 7 year period

– Found that domain engineered MRs took 1/4 of the time of other MRs

– Total savings was $6M - $9M for 1999.

Page 34: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

34

Where is Domain Engineering Being Used in Lucent?

• Switching– Naperville, IL– Boulder, CO– Hilversum, Netherlands– Malmesbury, England– Poland

• Wireless– Software development processes

Page 35: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

35

Why Did Product Line Engineering Work

(at Lucent)?

Page 36: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

36

Diffusion of Innovations• Classic work by Everett M. Rogers (ISBN 0-02-926671-

8)• Discovered keys to technology transfer:

– Relative advantage• How much better is it?

– Compatibility• Is it consistent with values, experiences, and needs?

– Complexity• How difficult is it to understand and use?

– Trialability• How easily may it be tried experimentally?

– Observability• How visible are the results of use?

Page 37: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

37

Technology Transfer at Lucent

• Estimates are that we only use about 10% of the good ideas developed within Bell Labs Research

• What’s wrong with the other 90%?– Relative advantage?– Compatibility?– Complexity?– Trialability?– Observability?

Page 38: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

38

Oral Culture of 5ESS

Page 39: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

39

Problems of Oral Culture

• No History (Goody and Watt)– Story changes with each telling– Evolution breeds decay

• No abstraction (Luria)– Insistence on reasoning in terms of ground

elements– Refusal to extend arguments to

abstractions

Page 40: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

40

From Orality to Literacy

• Write it down

• Identify abstractions

• Construct languages

• Create in the new languages

Page 41: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

41

Power of Written Language

• Generic algorithms of Configuration Control– Translated to flowcharts and English for review– Executed in simulator for further review– Translated to VFSM for execution

• Commonality Analysis of Configuration Control– Starting point for DECC implementation– Starting point for 4 other designs

Page 42: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

42

Diffusion of Domain Engineering

• Relative advantage: – Solution to the right problem

• Compatibility: – by the right people

• Complexity: – using the right tools and methods

• Trialability:– so that anyone can try it

• Observability: – and see the results

Page 43: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

43

Conclusion

• Domain engineering reduces interval and cost of software development

• Resulting products are more consistent and easier to maintain

• Capturing domain knowledge in written form was the key

Page 44: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.

44

References

Siy and Mockus, "Measuring domain engineering effects on software coding cost", 6th International Symposium on Software Metrics, 304-311, November 4-6, 1999.

Ardis, Dudak, Dor, Leu, Nakatani, Olsen, Pontrelli, "Domain engineered configuration control", Software Product Line Conference, August 28-31, 2000.

Ardis and Green, "Successful introduction of domain engineering into software development", Bell Labs Technical Journal 3(3), July-September 1998.