cofm: an environment for collaborative feature modeling li yi institute of software, school of eecs,...

38
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence Software Technology, Ministry of Education of China 2010.11

Upload: bruno-burns

Post on 01-Jan-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

CoFM:An Environment for Collaborative Feature Modeling

Li YiInstitute of Software, School of EECS, Peking UniversityKey Laboratory of High Confidence Software Technology,

Ministry of Education of China

2010.11

Page 2: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Summary & Future Work

Page 3: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Summary & Future Work

Page 4: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Challenges in FM Construction

Most existing feature modeling approaches treat the collaboration between stakeholders as a key

Few of them provide explicit support for such collaborationThe collaboration is often impacted by the limit of time and location of the stakeholders

Efficiency of the collaboration is often unsatisfied

The collaboration is usually domain-analyst-centricFMs are hard to construct (time-consuming and error-prone) and maintain

Page 5: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Basic idea of our approach

Provide an environment in which stakeholders can gather features and

relations among features of a domain, as many as possible

from which a stakeholder (e.g. a domain analyst) can extract all or part of the gathered features and relations to form a legal domain feature model

How?Stakeholders create new elements in a shared space.

They vote on existing elements to support or oppose the elements’ existence in the shared space.

Elements are extracted into their personal spaces based on their voting operations. (Support = In; Oppose = Out)

Page 6: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Basic idea (cont.)The shared space is an extended

feature model (EFM) In an EFM, we tolerate conflicts

The personal spaces are traditional feature models “Legal”, no conflicts Make a choice within conflicting elements in EFM

(by voting)

Page 7: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Summary & Future Work

Page 8: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

The meta-model of EFMs

+supporters+opponents

RelationshipElement

Feature

Refinement

Constraint

+parent

1

*

1

* +child

* *

EFM

*

Name

Description

Optionality

Stakeholder

View

Global

Working

Personal

Operation

Create Vote

1

*

1

1

1

1

Has attribute

*

1

1

1..*

* *

Page 9: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

The voting operationVoting options: YES or NO

Support or oppose an element’s existence in the EFM

Voting inference Ensure consistent votes from a certain stakeholder

a NO vote

a YES voteA

B

requires

A should require B;B should NOT exist;

Inconsistency

An example of inconsistent votes

requires

A

B

Page 10: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Voting inference rulesRule 1: Vote YES on relation R Vote

YES on each feature which is involved in R Existence of a relation requires the existence of its

involved features

Rule 2: Vote NO on feature F Vote NO on each relation which involves F

a NO vote

a YES vote

A

B

An example of inferred votes

A

B

A

B

inferred

inferred

A

B

inferredA

B

Page 11: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Special voting inference rule

Rule 2a: Create an element E Vote YES on E

Rule 2b: All votes on E are NO Remove E from the EFM

NOTES

When counting the votes, we do NOT distinguish explicit votes from inferred (implicit) votes.

If a stakeholder votes more than once (explicitly or implicitly) on an element, only the last vote counts.

Page 12: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Views for an EFMGlobal View

= all elements

Personal View for User X = all elements on which X has voted YES

Working View for User X = all elements on which X hasn’t voted NO = elements voted YES by X + elements

created by others and haven’t voted by X

The EFM itself

The personal spaces

Page 13: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Resolving conflictsAim: no conflicts in the personal view

How: 1. Perform conflict detection in the working view 2. The stakeholder make a choice from the

conflicting elements by voting YES or NO. 3. Perform conflict detection in the working view

again, if there is no conflict anymore, there surely is no conflict in the personal view

Page 14: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

An example

A B

C

Initial Working Viewrequires

excludes

These relations may be created by different people

A B

C

VoteN

A BCResulting Working View

No conflict is possible in the personal view now.

Page 15: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Types of conflictConflicting constraints

Occurs in traditional feature models as well.

Multi-positioned feature (conflicting refinements)

P1 P2

F

refines

Example

refines

These refinements may be created by different people

Page 16: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Summary & Future Work

Page 17: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Collaboratively constructing EFMs

An Online Updating strategy

Each operation is sent to the central FM when submitted

A valid operation is broadcasted to all sites

An invalid operation is undone at its original site

FM

Page 18: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

A

User 1

User 2

User 3A

Broadcast…

Send to…

The EFM

A

A U1 Create A

An example

Page 19: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

A

User 1

User 2

User 3A

A

A

C

C

C

C

U1 Create AU2 Create C

The EFM

Page 20: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

A

User 1

User 2

User 3A

A

A

C

C

C

C

B

B

B

B

Vote NO

XX

The EFM

Page 21: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

A

User 1

User 2

User 3A

A

A

C

C

C

C

B

B

B

B

The EFM

Vote NO

Vote NO

U1 Create AU2 Create CU1 Create BU3 Vote NO on B & CU1 Vote NO on CU2 Vote NO on B

Page 22: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

A

User 1’s personal view

User 2’s personal view

User 3’s personal view

A

A

A

U1 Create AU2 Create CU1 Create BU3 Vote NO on B & CU1 Vote NO on CU2 Vote NO on B

A: supported by 3 / 3B: supported by 1 / 3C: supported by 1 / 3The EFM

Result

CB

B

C

Page 23: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Coordinate operations from multiple users

Serialized processing strategy

The ClientSEND (o: Operation) Send operation o to the server. The ServerRECEIVE (o: Operation) Put o at the end of Operation_Queue.

MAIN_PROCESS p The first operation in the Operation_Queue. if (p is valid) Execute p on the EFM. Broadcast p. else if (p can be transformed)

q transformed(p) Execute q on the EFM. Broadcast q. else Inform the invalidity of p to its originator.

Page 24: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Operation transformation

Original operation

When it is invalid Transformed it to the following valid operation(s)

Create a feature named X

The name ‘X’ has already existed in current FM.

If X has been used by the feature of the ID F:Vote ‘YES’ on feature F;Vote ‘YES’ on the name X.

Create an alias X for some feature

The name ‘X’ has already existed in current FM.

Vote ‘YES’ on the name X.

Create a value V for an attribute of some feature

The value ‘V’ has already existed in this feature.

Vote ‘YES’ on V.

Create a relation R

R has already existed in current FM.

Vote ‘YES’ on R.

Create a relation R

R involves non-existing feature(s).

(Cannot be transformed.)

Vote on an element

This element does not exist.

(Cannot be transformed.)

An invalid operation will be transformed into valid operation(s), if any. The original operation and the transformed operation(s) have the same semantics.

Operations that cannot be transformed will fail and be undone at its originator’s site.

Page 25: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Summary & Future Work

Page 26: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Tool Support for CoFMC/S architectureSupport for concepts and process

introduced beforeSupport for communication via

comments and discussion pages

Support for customize new classes, relations and attributes

Page 27: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

The main modeling page

Feature Browser

Feature Editor

Miscellaneous Info

Page 28: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Cases

Future Work

Page 29: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Uses of the CoFM toolFeature request for tools being

developed in our research group, including CoFM itself

Domain analysis (including 2 cases)Case Intro # of

Features# of Participants

Time

Music Player Domain feature model for music playing software such as iTunes. It is a familiar domain to the participants.

158 3 About 1.5 hours

Job Finding Website

Domain feature model for job finding websites. It is an unfamiliar domain to the participants.

113 4 About 3 hours

Page 30: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Results from the Job Finding Website case

Page 31: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Results: contribution among participants

Participant

Number of features extracted into the personal view

Total Created by this participant

Created by others

P1 91 21 (23.1%) 70

P2 87 37 (42.5%) 50

P3 94 34 (36.2%) 60

P4 104 21 (20.2%) 83By collaborating with others, now the

participants work less, but get more. For each participant, up to 80% extracted features are

created by others and reused by the participant. The participants report that “it is easier to review an

existing feature than to think of a new one,” therefore their work load is reduced.

Page 32: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Results: Support rate in collected features

83 (74%)

24 (21%)

5 (4%)1 (1%)

Total: 113 features

Common Supported by 3 peopleSupported by 2 peopleUnique

This data may be helpful for discovering domain variability

Page 33: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Results: Phases of the work

20 40 60 80 1001201401601800

20

40

60

80

100

120

140

Newly created in last 20 minsChanged in last 20 minsUnchanged in last 20 mins

Time passed (in minutes)

Nu

mb

er

of

Featu

res

43

82

122128

117 121111

120113

Brainstorming Phase Evaluation Phase

Page 34: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Phases of the workBrainstorming phase

A large number of features are collected in a short period of time.

Parallel creation happens in different parts of the feature model.

Evaluation phase The total number of feature changes slightly. Participants focus on improving and refining raw

features• Remove redundant features• Improve unclear features• Find missing features• Add constraints between features• Extracting desired elements into their personal

views (by voting)

Page 35: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

AgendaMotivationThe CoFM

Concepts Process Tool Support Case s

Summary & Future Work

Page 36: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

SummaryCoFM provides a simple but effective

way to support collaborative feature modeling stakeholders can gather features and relations

among features of a domain into an extended feature model, as many as possible

a stakeholder (e.g. a domain analyst) can extract all or part of the extended feature model to form a traditional domain feature model

Preliminary cases give positive results Efficiency of feature modeling can be improved

Page 37: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Future WorkFunctions of the tool, such as

Provide statistics about feature models for the users

Calculate confidence/priority of users’ operation

More cases With larger scale, more people, and more

distributed

Do a comparison experiment with traditional (single person) feature modeling

Page 38: CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence

Thank you!!

Q&A