1
Product Configuration is a Collaborative Task… Towards a Framework for Collaborative and Coordinated Product Towards a Framework for Collaborative and Coordinated Product Configuration Configuration Marcilio Mendonca, Krzysztof Czarnecki, Toacy Oliveira, Donald Cowan Marcilio Mendonca, Krzysztof Czarnecki, Toacy Oliveira, Donald Cowan {marcilio,dcowan}@csg.uwaterloo.ca, {marcilio,dcowan}@csg.uwaterloo.ca, [email protected], [email protected] [email protected], [email protected] » A framework to support collaborative and coordinated software product configuration. Digital Camera Product Line Product Configuration HP PS M425 Configuration Agents Technical & 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-model CCPC core elements and relationships Metrics and Reasoning Size, coupling, decision power, … Querying CCPC models Algorithms Conflict detection, resolution, classification, decision propagation, metrics support, … Tool Support Specification and execution of CCPC models Other Issues: Awareness, Traceability, Negotiation, Transmissio n Cruise Control 4.0 Leathe r Manual Automatic [1] [1] [1..*] Optional feature Optional feature Mandatory feature Mandatory feature Engine 3.0 Seats Normal Transmission Manual requires ely accepted technique in Software Product Lines to represent software commonalities and gement) selecting desired features on a Feature Model dels were not created with Collaboration in mind CCPC CCPC Spec Tool Spec Tool CCPC CCPC Execution Tool Execution 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 Login Header Transfer Database Sec http Network [1..*] Min [1] ftp [1..*] Requires Requires Requires Excludes {Web Designer} {Security Specialist} {Network Administrator} {System Admin.} {Project Manager} {Database Manager} Ms https Transfer Auth. Data Protocol Security Performanc e Web Portal Persistence GUI XML Templates Resolution User Login Header Transfer Database Sec http Network [1] [1..*] Min [1] ftp [1..*] Requires Requires Requires Excludes Ms https Transfer Auth. Data Protocol Security Performance Web Portal Conventional Feature Model Collaborative Feature Model Persisten ce GUI Securit y Network Performanc e Web Portal {Project Manager} {System Admin.} {Network Administrator} {Security Specialist} {Database Manager} {Web Designer} GUI Templates User Login Auth Security Auth Data Transfer Performance Ms Sec Min 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 2006 OOPSLA 2006 Software Product Lines General Framework A Typical Product Configuration Car Configuration Space: Web Portal (active) GUI Securit y Performance Network Web Portal {Project Manager} ? «Undecided» «Decided» ? «Undecided» Persistenc e «Decided» «Domain Concept» X «Decided» {WD} {SS} {SA} {SS} Configuration Space: Security (inactive) Auth. Data Transf er [1..*] Securi ty {NA} {SA} {WD} {PM} {DM} {Security Specialist} ? «Undecided» ? «Undecided» ? «Undecided» ? «Undecided» {PM(WD)} Configuration Views [1] Persistence

Product Configuration is a Collaborative Task… Towards a Framework for Collaborative and Coordinated Product Configuration Marcilio Mendonca, Krzysztof

Embed Size (px)

Citation preview

Page 1: Product Configuration is a Collaborative Task… Towards a Framework for Collaborative and Coordinated Product Configuration Marcilio Mendonca, Krzysztof

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