Product families – another area for OMG technology? Overview

advertisement
Product families –
another area for OMG technology?
Øystein Haugen
University of Oslo / ICT-Norway
on behalf of the European
”Families” project
http://www.esi.es/en/Projects/Families/
ICT Norway / UiO 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
1
Overview
• A motivating example: A Watch Product Line
• possible feature diagram
• possible UML 2 diagram (with profiled additions)
• associated metamodel / conceptual model
• Motivation for System Families / Product Lines
• the Families project based on ESAPS and CAFE
• not only language – also organization and process (BAPO)
• Why standardization?
• Why we want to get OMG involved
• The relationship with MDA
• The possible OMG approaches
• RFI (Request for Information)
• RFP (Request for Proposal)
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
2
The Watch (feature diagram)
Watch
Functionality::StopWatch =>
Precision > 5 ^ #Buttons > 2
Functionality
WorldTime => Alarm
^StopWatch ^ Timer
Color
OneOrMore
mandatory
Time
Speaker::Poly::numberofbits=64 =>
Precision > 5
optional
mandatory
WorldTime Alarm StopWatchTimer
one
Speaker
Precision
one
value
black
plain
red
poly
#Buttons
Waterproof
value
<<range>>
mandatory
1..6
mandatory
metallic
depth
value
numbits
one
<<range>>
{8,16,32,64}
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
3
The Watch (UML 2++)
Watch
PolyphonicSpeaker
color: Color
precis: Precision
numberofbits:{8,16,32,64}
«optional» wp:Waterproof «value» depth
«mandatory» Functionality {
«mandatory» «interaction» Time
«one-or-more» {
«interaction» Timer
«interaction» StopWatch
«interaction» Alarm
«interaction» WorldTime
} «constrained by» {WorldTime => Alarm ^StopWatch ^ Timer}
} «constrained by»{Functionality::StopWatch => Precision > 5 ^ #Buttons > 2}
Speaker
PolyphonicSpeaker
PlainSpeaker
:Display
:Button[1..n]
buttons
«one» Speaker
visual
«variant»
«enumeration»
«enumeration»
Waterproof
Color
«enumeration»
Precision
:PlainSpeaker
«variant»
:PolyphonicSpeaker
ICT Norway / UiO, 03/02/2005
audio
0m
5m
20 m
100 m
300 m
black
metallic
green
yellow
red
0.001 s
0.01 s
0.1 s
1s
10 s
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
4
The conceptual metamodel (1)
Resolution
ModelElement
affected
resolves
Model
*
VariabilityConstraint
VariationElement
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
5
The conceptual metamodel (2)
VariabilityConstraint
description: String
PropertyConstraint
AlternativeConstraint
MandatoryConstraint
type: String
RangeConstraint
min: real
max: real
ICT Norway / UiO, 03/02/2005
range_min: int
range_max: int
OptionalConstraint
{resolutions.size=2}
range_min:int=1
range_max:int=1
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
6
The SportyWatch (feature diagram)
Sporty
Watch
mandatory
Functionality
resolved
resolved
Color
Speaker
one
resolved
black
Precision
resolved
resolved
plain
7
#Buttons
Waterproof
value
mandatory
2..6
metallic
Time
Alarm StopWatchTimer
depth
value
<<range>>
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
7
SportyWatch (UML 2++)
SportyWatch
color: Color {black or metallic}
precis: Precision {precis==7}
wp:Waterproof «value» depth
«interaction» Timer
«interaction» StopWatch
«interaction» Alarm
visual
:Display
:Button[2..6]
buttons
audio
:PlainSpeaker
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
8
Product Family Engineering
Product Family
Family/Domain Engineering
Classification
Evolution
(Domain
Artifact Base)
Evaluation
Product
Requirements
Documentation
Identification
Adaptation
Application Engineering
ICT Norway / UiO, 03/02/2005
Feedback
Product Line
Infrastructure
Domain
Product
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
9
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
10
The Families history
ICT Norway / UiO, 03/02/2005
The Family Members
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
11
Functionality
Market relevance
Market Requirements
Tactical
Development
(Application Driven)
Surface indicates effort
Application
development
Market
pressure
Family
development
Strategic
Development
(Domain Driven)
t1
ICT Norway / UiO, 03/02/2005
t2
t3
Total
development
Time
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
12
Software development concerns
BAPO
The way to make
profit from the
resulting products
plan, market &
sell diversity
B
O
Business
Organization
Organisational
structures and
responsibilities
during
development
A
Architecture
The technology needed
to build systems
design for reuse &
diversity
P
Process
Activities and
dependencies during
development
develop for & with
reuse
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
13
Cross-Fertilization
• feature modeling
• decision/resolution process
• domain specific languages
B
O
Business
Organization
A
Architecture
P
Process
INFLUENCE
LEVERAGE
• A platform-independent
modeling approach
• An iterative refinement process
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
14
What now?
• RFI (Request For Information)
• An RFI is a Request for Information. It surveys the computing
industry, collecting information that OMG members use to
form and guide new standards-setting efforts.
• Do we need this?
• RFP (Request For Proposals)
• A Profile of UML
• A Process within the MDA domain
ICT Norway / UiO, 03/02/2005
Eureka ∑! 2023 Programme, ITEA project ip02009, FAMILIES
15
Download