Managing Variability in Product Line Scoping Using Design Space Models
description
Transcript of Managing Variability in Product Line Scoping Using Design Space Models
![Page 1: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/1.jpg)
© Bedir Tekinerdoğan
Managing Variabilityin Product Line ScopingUsing Design Space Models
Bedir Tekinerdoğan & Mehmet Akşit
University of Twente
Dept. of Computer Science
Software Engineering
TRESE, Software Engineering
(bedir | aksit)@cs.utwente.nl
![Page 2: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/2.jpg)
2© Bedir Tekinerdoğan
Contents
Reuse
Product Line Engineering
Product Line Scoping
Design Space Modeling
Conclusion
![Page 3: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/3.jpg)
3© Bedir Tekinerdoğan
Development from scratch…
I want Car Insurance System
I want Health Insurance System
I want Life Insurance System
I want House Insurance System
I want Tarvel Insurance System
Life Insurance System
Architecture Design
Design
Implementation
Testing
Requirements Analysis
Health Insurance System
Car Insurance System
House Insurance System
Travel Insurance System
This takes too much time!
costs too much money!I want it faster and
cheaper!
![Page 4: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/4.jpg)
4© Bedir Tekinerdoğan
Nokia Facts
sells phones in more than 130 countries support 58 languages (Japanese, Arabic, Hebrew,
Chinese, etc. ) support multiple protocols
CDMA, TDMA, AMPS, GSM, GPRS, …
Hardware is constantly changing and software is constantly expanding.
Different UI support
From Slide from Anders Heie, Nokia Mobile Phones
![Page 5: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/5.jpg)
5© Bedir Tekinerdoğan
Example – Nokia Mobile Phones
![Page 6: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/6.jpg)
6© Bedir Tekinerdoğan
Development with reuse
I want Car Insurance System
I want Health Insurance System
I want Life Insurance System
I want House Insurance System
I want Travel Insurance System
Insurance Components
Component-BasedSoftware Engineering
ProductProduct
Product
![Page 7: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/7.jpg)
7© Bedir Tekinerdoğan
But where did the class/component
library come from?!
How where these components
planned for this application?!
Source of reusable components…
Insurance Components
?
![Page 8: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/8.jpg)
8© Bedir Tekinerdoğan
Domain Engineering - Development for reuseDomain Engineering:
the process of analysis,
specification and
implementation of software assets
in a domain which are used in
the development of multiple software products.
Relevant Domain
Knowledge
Relevant Domain
Knowledge
(Reusable)Domain
Knowledge
DomainEngineering
![Page 9: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/9.jpg)
9© Bedir Tekinerdoğan
Example - Domain Model for Insurance Systems
Insurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
![Page 10: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/10.jpg)
10© Bedir Tekinerdoğan
Domain Implementation
Generate reusable assets derived from domain architecture and catalog in component library
Domain ImplementationDomain Model
Reusable Assets...
Insurance Assets
Insurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
![Page 11: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/11.jpg)
11© Bedir Tekinerdoğan
The process of developing software products from software assets created by a domain engineering process.
Focus on a single system… but development is basically composition
Application n
Application 2
Application Engineering
(Reusable)Domain
Knowledgegenerate
Application 1
![Page 12: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/12.jpg)
12© Bedir Tekinerdoğan
Domain Engineering vs. Application Engineering
• How to apply it for building many applications?–Application Engineering
• How to make domain knowledge reusable?–Domain Engineering
Relevant Domain
Knowledge
Relevant Domain
Knowledge
(Reusable)Domain
Knowledge
DomainEngineering
Application n
Application 2
Application 1
ApplicationEngineering
![Page 13: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/13.jpg)
13© Bedir Tekinerdoğan
DOMAIN ENGINEERING
Two-Life Cycle Model
Domain Analysis
Domain Model
Domain Design
DomainSoftware
Architecture
Domain Implementation
Application EngineeringApplication Engineering
APPLICATION ENGINEERING
New Requirements
ApplicationPerformanceSpecification
ReusableAssets
AnalysisBased on
Domain Model
SystemSoftware
ArchitectureDesign
ApplicationSoftware
Architecture
ApplicationDevelopment
![Page 14: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/14.jpg)
14© Bedir Tekinerdoğan
Product AlternativesInsurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
DomainModel
1. health insurance that covers illness with own risk and direct premium
2. life insurance with service and periodical payment
3. Car insurance with coverage for damage, own risk and periodical payment
etc.
Altern atives
2976alternatives!
![Page 15: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/15.jpg)
15© Bedir Tekinerdoğan
Problem Statement:What are the product alternatives?
Alternative
Alternative
Alternative
AlternativeAlternative
AlternativeAlternative
Alternative
Alternative
AlternativeAlternative
AlternativeAlternative
AlternativeAlternative
What are thealternatives?
Insurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
Product Line Scoping
![Page 16: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/16.jpg)
16© Bedir Tekinerdoğan
Product Line Scoping Risks
Scope is too large product members might vary too much more difficult to define commonality and variability waste of resources
Scope is too small core assets might not be built in a generic enough fashion to
accommodate future growth product line will stagnate and no additional benefits
![Page 17: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/17.jpg)
17© Bedir Tekinerdoğan
Product Implementation alternatives Insurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
insuredObject()coverage()payment()conditions()premium()payee()....
InsuranceProduct
coverage()payment()conditions()premium()payee()....
InsuranceProduct
coverage()payment()conditions()premium()payee()....
LifeInsurance
coverage()payment()conditions()premium()payee()....
CarInsurance
coverage()payment()conditions()premium()payee()....
TravelInsurance
insuredObject()coverage()payment()conditions()premium()payee()....
InsuranceProduct
InsuredObject
Coverage
Payment
Conditions
Premium
Payee
AlternativeImplementations
DomainModel
![Page 18: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/18.jpg)
18© Bedir Tekinerdoğan
Problem Statement:What are the implementation alternatives?
Alternative
Alternative
Alternative
AlternativeAlternative
AlternativeAlternative
Alternative
Alternative
AlternativeAlternative
AlternativeAlternative
AlternativeAlternative
What are thealternatives?
Insurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
Product Implementation Scoping
![Page 19: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/19.jpg)
19© Bedir Tekinerdoğan
Design Spaces
A multi-dimensional representation of a set of alternatives for a given design problem
![Page 20: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/20.jpg)
20© Bedir Tekinerdoğan
Process for Scoping Design Space Represent Design Spaces Define constraints of alternatives Unfolding design space Reduce design space using selection and
elimination Map design space to implementation
![Page 21: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/21.jpg)
21© Bedir Tekinerdoğan
Represent Design SpaceInsurance Product
Insured Object Coverage PremiumConditionsPayment
Person
Corporation
MovableProperty
Realty
Service
Amount
Own Risk
Acceptance Exception
Payee
Person Corporation
Direct Periodical
Legend:
optional feature
alternative featuremandatory feature
or-feature
Illness
Life
Loss
Unemployment
Damage
InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee)
2976alternatives!
![Page 22: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/22.jpg)
22© Bedir Tekinerdoğan
Reducing Design Space
GenerateAlternatives
Restrict Design Space
Heuristics-BasedSelection and
Elimination
Selection ofSub-Spaces
#alternativesin design space
< max?
Eliminationof Sub-Spaces
no
yes
![Page 23: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/23.jpg)
23© Bedir Tekinerdoğan
Reducing Design Space
1. InsuredObject.Person mutex-with Coverage.DamageIf the ensured object is a person then the insurance product cannot include coverage ofdamage (for physical objects)
2. Coverage.Loss requires InsuredObject.MoveablePropertyIf the insurance product includes coverage for loss then the insured object can only be amoveable property
3. Coverage.Illness mutex InsuredObject.CorporationIf the insurance product includes coverage for illness then the insured object cannot be a person.
4. InsuredObject.Corporation requires Payee.CorporationIf the insured object is a corporation then the claimer should also be a corporation.
Define Constraints:
![Page 24: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/24.jpg)
24© Bedir Tekinerdoğan
Reducing Design Space
InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee)
HealthInsuranceProduct ::
Select from InsuranceProductWhere <Insbj.Person and (Cov.Illness or Cov.Life)>
Select/Eliminate subspaces
![Page 25: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/25.jpg)
25© Bedir Tekinerdoğan
Map to implementations
For example object-oriented implementation Mapping is a model transformation
InsuranceProduct = (InsObj Λ Cov Λ Paym Λ Cond Λ Prem Λ Payee)
Object = (CL ; OP; AT) 512000alternatives
ObjectInsurance :: InsuranceProduct Object
Design Space
![Page 26: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/26.jpg)
26© Bedir Tekinerdoğan
Rumi
Launcher: Open other tools from here
Model Builder Tool:A model is defined as a set of concepts, relations and constraints.
Feature Definer Tool:For defining distinctive features of concepts
Constraint Definer Tool:For defining constraints among concepts and features.
Design Space Composer:Map the defined models to the object model to depict the set of implementation alternatives, and set the adaptability properties.
Alternative Generator Tool:Generate alternatives after models, their constraints, and the design spaces have been defined. Select the appropriate alternatives.
![Page 27: Managing Variability in Product Line Scoping Using Design Space Models](https://reader036.fdocuments.us/reader036/viewer/2022081603/568139f4550346895da1aee9/html5/thumbnails/27.jpg)
27© Bedir Tekinerdoğan
Conclusion Quality is not improved how good the process is, but firstly what
kind of process you have Introducing a secondary lifecycle process (domain engineering)
supports quality: time-to-market Reuse
Product Line Engineering consists of Domain Engineering and Application Engineering
One of the most important issues in PLE is Product Line Scoping Current Product Line Scoping Techniques fail to depict the set of
alternatives explicitly We have applied design space modeling to represent design spaces
for Product Alternatives and Product Implementation Alternatives
The tool Rumi implements design space modeling techniques.