Transcript
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

Recommended