Product line engineering
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

Product Line Engineering PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on
  • Presentation posted in: General

Product Line Engineering. CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003. Acknowledgements. David Weiss Lloyd Nakatani Janel Green Bob Olsen Paul Pontrelli. Outline. What is product line engineering? How did we use product line engineering at Lucent?

Download Presentation

Product Line Engineering

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Product line engineering

Product Line Engineering

CS 415, Software Engineering II

Mark Ardis, Rose-Hulman Institute

March 11, 2003


Acknowledgements

Acknowledgements

  • David Weiss

  • Lloyd Nakatani

  • Janel Green

  • Bob Olsen

  • Paul Pontrelli


Outline

Outline

  • What is product line engineering?

  • How did we use product line engineering at Lucent?

  • Why did product line engineering work (at Lucent)?


Airbus beats boeing in huge jetliner deal with usair 11 6 96 ny times

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


Airbus wins 4 billion order from iberia beating boeing 2 4 98 ny times

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


Airbus wins 4 billion order

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.”


Product line approach

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


Fast family oriented abstraction specification translation

Application Environment

Application Engineering

Applications

FAST: Family-oriented Abstraction, Specification, Translation

Domain Engineering

Feedback


Domain engineering

Domain Analysis

Domain Model

Domain Implementation

Application Environment

Domain Engineering

Analysis Document,

Application Modeling

Language

Tools,

Process


Application engineering

Application

Requirements

Application Environment

Application Engineering

Application

Application Engineering


Economics of families

Economics of Families

CurrentPractice

Cumulative

DomainEngineering

Cost

Number of Family Members


Defining a family commonality analysis

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


Application engineering environment

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


Fast benefits

FAST Benefits

  • Improved Understanding

  • Shorter Intervals

  • Lower Costs (Domain Dependent)

  • Process Innovation

  • Improved Technology


Cartoon of the day

Cartoon of the Day


How did we use product line engineering at lucent

How Did We Use Product Line Engineering at Lucent?


Eli whitney

Eli Whitney

  • Born December 8, 1765

  • Raised on a farm in rural Massachusetts

  • Attended Yale College 1789-1792

  • What did Whitney do in 1793?


The cotton gin

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


Eli whitney1

Eli Whitney

  • Whitney’s company was out of business by 1797

  • What did Whitney do in 1798?


Flintlock components

Flintlock Components


Whitney s gamble on automation

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


Putnam machine company 1875

Putnam Machine Company, 1875


Configuration control

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


Maintenance domain structure

Human Machine

Interface

Routine

Maintenance

Initialization

Control

Maintenance

Administrator

Fault Detection

and Analysis

Diagnostics

Hardware Software

Interface

Maintenance Domain Structure

Configuration

Control


Commonality analysis of configuration control

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


Building technology for configuration control

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


Configuration control architecture

RAD

SMALL-V

SMALL-D

SMALL-R

C Data

VFSM

Application

Configuration Control Architecture

Domain Engineering Environment

Application Engineering Environment


Configuration control development environment

Application

Engineer

Domain

Engineer

Configuration ControlDevelopment Environment

Application

Data

RAD

Reusable

Assets

Knowledge

Base

C Code

Application

Environment

Interface

Application Specific

Configuration Control


Rad tool

RAD Tool


Reusable assets

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


Applications

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


Interval reduction on 5ess projects

Interval Reduction on 5ESS Projects


Measuring benefits

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.


Where is domain engineering being used in lucent

Where is Domain Engineering Being Used in Lucent?

  • Switching

    • Naperville, IL

    • Boulder, CO

    • Hilversum, Netherlands

    • Malmesbury, England

    • Poland

  • Wireless

    • Software development processes


Why did product line engineering work at lucent

Why Did Product Line Engineering Work (at Lucent)?


Diffusion of innovations

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?


Technology transfer at lucent

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?


Oral culture of 5ess

Oral Culture of 5ESS


Problems of oral culture

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


From orality to literacy

From Orality to Literacy

  • Write it down

  • Identify abstractions

  • Construct languages

  • Create in the new languages


Power of written language

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


Diffusion of domain engineering

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


Conclusion

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


References

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.


  • Login