product configuration is a collaborative task… towards a framework for collaborative and...
TRANSCRIPT
Product Configuration is a Collaborative Task…
Towards a Framework for Collaborative and Coordinated Product ConfigurationTowards a Framework for Collaborative and Coordinated Product ConfigurationMarcilio Mendonca, Krzysztof Czarnecki, Toacy Oliveira, Donald Cowan Marcilio Mendonca, Krzysztof Czarnecki, Toacy Oliveira, Donald Cowan {marcilio,dcowan}@csg.uwaterloo.ca, [email protected], [email protected]{marcilio,dcowan}@csg.uwaterloo.ca, [email protected], [email protected]
» A framework to support collaborative and coordinated software product configuration.
Dig
ital C
amer
aP
rodu
ct L
ine Product
Configuration HP PS M425
Configuration AgentsTechnical & Business
Market Requirements
Market Segments
Configuration Decisions HP PS R725
HP PS R927
Product Configuration
Configuration Decisions
• Auto OFF mode: yes • Battery type: lithium-ion • Memory size: 512Mb• Digital media type: MS DUO PRO
Dad (Batteries/Memory)
• Zoom: optical 3x, digital 6x• Flash range: 0.2 - 4.2m • Lens: Carl Zeiss Vario-Tessar• LCD size: 2'' or greater• Computer compatibility: Mac/OS
Mom (Quality Photos)
• Movie mode: yes• Audio: yes• File formats: jpeg, mpeg• Computer compatibility: Win-XP• Video output: NTSC/PAL
Son (Short Movies)
… but Support for Collaborative Configuration is Lacking in Software Product Lines
Feature Models are Extended to Support Collaboration (Collaborative Feature Models)
Manufacturing Product Selection
We Propose a Framework for Collaborative Configuration
Product Line Core Assets
Variability
DOMAIN ENGINEERING APPLICATION ENGINEERING
Product Decisions
Product Configuration Process
Decision Model
Mappings
Products
Production
Semi-automated
Fully-automated
Stakeholders
Application Engineer
product requirements
configuration actions
Current approaches to Product Configuration fail in supporting Collaboration: Put heavy burden on application engineers Are difficult to scale and time-consuming Waste configuration knowledge Conflict management is complex Lack support for collaboration
A Meta-modelCCPC core elements and relationships
Metrics and ReasoningSize, coupling, decision power, …
Querying CCPC models
AlgorithmsConflict detection, resolution, classification, decision propagation, metrics support, …
Tool SupportSpecification and execution of CCPC models
Other Issues: Awareness, Traceability, Negotiation, …
Transmission Cruise Control
4.0 Leather Manual Automatic
[1] [1] [1..*]
Optional featureOptional featureMandatory featureMandatory feature
Engine
3.0
Seats
Normal
Transmission
Manual
requires
Feature Modeling is a widely accepted technique in Software Product Lines to represent software commonalities and variabilities (variability management) Products are specified by selecting desired features on a Feature Model Unfortunately, Feature Models were not created with Collaboration in mind
CCPC CCPC Spec ToolSpec Tool
CCPC CCPC Execution ToolExecution Tool
CCPC Model
+
Feature model Annotated feature model
Product Specification
CCPC Model
Example of a Feature Model for a Car Collaborative Configuration Phases
How can we effectively support Collaborative Product Configuration while enforcing the proper
Coordination of the configuration decisions?
Illustration – Collaborative Configuration of a Web Portal Product Line
GUI
XML Templates Resolution
User LoginHeader
TransferDatabase Sec
http
Network[1..*]
Min
[1]
ftp
[1..*]
Requires
Requires
RequiresExcludes
{Web Designer}
{Security Specialist}
{Network Administrator}
{System Admin.}
{Project Manager}
{Database Manager}
Ms
https
TransferAuth. Data Protocol
Security Performance
Web Portal
Persistence GUI
XML Templates Resolution
User LoginHeader
TransferDatabase Sec
http
Network
[1][1..*]
Min
[1]
ftp
[1..*]
Requires
Requires
Requires
Excludes
Ms
https
TransferAuth. Data Protocol
Security Performance
Web PortalConventional Feature Model
Collaborative Feature Model
Persistence
GUI
Security
Network
Performance
Web Portal
{Project Manager}
{System Admin.}
{Network Administrator}
{Security Specialist}{Database Manager}
{Web Designer}GUI
Templates
User Login
Auth
Security
AuthDataTransfer
Performance MsSecMin
Database Data
GUI
Resolution
Transfer
Https
Https
Ms
Decision Coupling and Dependencies
{Project Manager}
{Security Specialist}
{Web Designer}
{Database Manager}
{Network Administrator}
{System Administrator}
{Security Specialist}
{Project Manager}
{Security Specialist}
Specifying Priorities to Support Conflict Resolution
OOPSLA 2006OOPSLA 2006
Software Product Lines General Framework A Typical Product Configuration
Car
Configuration Space: Web Portal (active)
GUI Security PerformanceNetwork
Web Portal
{Project Manager}
?«Undecided» «Decided»?«Undecided»
Persistence«Decided»
«Domain Concept»
X«Decided»
{WD} {SS} {SA}{SS}
Configuration Space: Security (inactive)
Auth. Data Transfer
[1..*]
Security
{NA}{SA}
{WD}
{PM}
{DM}
{Security Specialist}
?«Undecided»
?«Undecided» ?«Undecided»?«Undecided»
{PM(WD)}
Configuration Views
[1]
Persistence