Title: Managing Variability in Product Line Scoping Using Design Space Models
1Managing Variabilityin Product Line
ScopingUsing Design Space Models
- Bedir Tekinerdogan Mehmet Aksit
- University of Twente
- Dept. of Computer Science
- Software Engineering
- TRESE, Software Engineering
- (bedir aksit)_at_cs.utwente.nl
2Contents
- Reuse
- Product Line Engineering
- Product Line Scoping
- Design Space Modeling
- Conclusion
3Development from scratch
Life Insurance System
Health Insurance System
Car Insurance System
House Insurance System
Travel Insurance System
4Nokia 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
5Example Nokia Mobile Phones
6Development with reuse
7Source of reusable components
But where did the class/component library come
from?! How where these components planned for
this application?!
?
Insurance Components
8Domain Engineering - Development for reuse
- Domain 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
9Example - Domain Model for Insurance Systems
10Domain Implementation
- Generate reusable assets derived from domain
architecture and catalog in component library
Domain Implementation
Reusable Assets...
Domain Model
Insurance Assets
11Application Engineering
- 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
(Reusable) Domain Knowledge
Application 2
generate
Application 1
12Domain Engineering vs. Application Engineering
- How to make domain knowledge reusable?
- Domain Engineering
- How to apply it for building many applications?
- Application Engineering
Relevant Domain Knowledge
13Two-Life Cycle Model
DOMAIN ENGINEERING
Domain Analysis
14Product Alternatives
Domain Model
2976 alternatives!
15Problem StatementWhat are the product
alternatives?
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Product Line Scoping
16Product 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
17Product Implementation alternatives
Domain Model
18Problem StatementWhat are the implementation
alternatives?
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Alternative
Product Implementation Scoping
19Design Spaces
- A multi-dimensional representation
- of a set of alternatives
- for a given design problem
20Process 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
21Represent Design Space
2976 alternatives!
22Reducing Design Space
23Reducing Design Space
1. InsuredObject.Person mutex-with
Coverage.Damage If the ensured object is a person
then the insurance product cannot include
coverage of damage (for physical objects) 2.
Coverage.Loss requires InsuredObject.MoveablePrope
rty If the insurance product includes coverage
for loss then the insured object can only be
a moveable property 3. Coverage.Illness mutex
InsuredObject.Corporation If the insurance
product includes coverage for illness then the
insured object cannot be a person. 4.
InsuredObject.Corporation requires
Payee.Corporation If the insured object is a
corporation then the claimer should also be a
corporation.
24Reducing Design Space
- Select/Eliminate subspaces
InsuranceProduct (InsObj ? Cov ? Paym ? Cond ?
Prem ? Payee)
25Map to implementations
- For example object-oriented implementation
- Mapping is a model transformation
InsuranceProduct (InsObj ? Cov ? Paym ? Cond ?
Prem ? Payee)
512000 alternatives
Object (CL OP AT)
26Rumi
27Conclusion
- 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.