25
1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

1

Product Lines 2:Escaping from the Oral Culture

CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman InstituteNovember 2, 2004

Page 2: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

2

Outline

Economics of product lines Implementing product lines Oral culture

Page 3: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

3

Economics of Families

CurrentPractice

Number of Family Members

Cumulative Cost Product Line

Approach

Page 4: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

4

Application Environment

Product Line Engineering Model

Domain Engineering

Application Engineering

Applications

Feedback

Page 5: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

5

Domain Engineering

Application Environment

Domain Analysis

Domain Model

Domain Implementation

Analysis Document,Application Modeling

Language

Tools,Process

Page 6: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

6

Application Engineering

Application Engineering

Application

Application EnvironmentApplicationRequirements

Page 7: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

7

Application Environment

Product Line Engineering Model

Domain Engineering

Application Engineering

Applications

Feedback

Page 8: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

8

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 9: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

9

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

Whitney’s company was out of business by 1797

What did Whitney do in 1798?

Page 10: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

10

Flintlock Components

Page 11: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

11

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 12: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

12

Putnam Machine Company, 1875

Page 13: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

13

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 COGS

Page 14: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

14

Commonality Analysis of Configuration Control 1 staff-year effort over 6 months by 6 experts Produced a Commonality Analysis

Definitions: rational vocabularyCommonalities: reusable algorithmsVariabilities: relationships between devicesParameters of Variation: enumerated types

Reviewed by organization

Page 15: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

15

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 16: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

16

SMALL-D

Configuration Control Architecture

SMALL-V SMALL-R

Domain Engineering Environment

Application Engineering Environment

VFSMC Data

Application

RAD

Page 17: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

17

Configuration ControlDevelopment Environment

ApplicationEngineer

DomainEngineer

Application SpecificConfiguration Control

ReusableAssets

ApplicationData

ApplicationEnvironment

Interface

RAD

C Code

KnowledgeBase

Page 18: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

18

RAD Tool

Page 19: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

19

Reusable Assets

Validations -- generic algorithms for every unit type

Realizations -- generic algorithms for every unit type

Relationshipsdata that is used to drive the generic algorithmsdesign information shared across development

Page 20: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

20

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 21: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

21

CALHSI DECC

PSAD

AIMTLP

TRPTAC

0

20

40

60

80

100

Interval Reduction on 5ESS Projects

Page 22: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

22

Oral Culture

Page 23: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

23

Problems of Oral Culture

No History (Goody and Watt)Story changes with each tellingEvolution breeds decay

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

elementsRefusal to extend arguments to abstractions

Page 24: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

24

From Orality to Literacy

Write it down Identify abstractions Construct languages Create in the new languages

Page 25: 1 Product Lines 2: Escaping from the Oral Culture CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute November 2, 2004

25

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