Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11,...
-
date post
19-Dec-2015 -
Category
Documents
-
view
216 -
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/1.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/2.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/3.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/4.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/5.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/6.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/7.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/8.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/9.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/10.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/11.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/12.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/13.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/14.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/15.jpg)
15
Cartoon of the Day
![Page 16: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/16.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/17.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/18.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/19.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/20.jpg)
20
Flintlock Components
![Page 21: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/21.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/22.jpg)
22
Putnam Machine Company, 1875
![Page 23: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/23.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/24.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/25.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/26.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/27.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/28.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/29.jpg)
29
RAD Tool
![Page 30: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/30.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/31.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/32.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/33.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/34.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/35.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/36.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/37.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/38.jpg)
38
Oral Culture of 5ESS
![Page 39: Product Line Engineering CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 11, 2003.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/39.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/40.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/41.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/42.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/43.jpg)
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.](https://reader035.fdocuments.net/reader035/viewer/2022062516/56649d3a5503460f94a14ed7/html5/thumbnails/44.jpg)
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.