Cofm an environment for collaborative feature modeling
Download
1 / 38

CoFM : An Environment for Collaborative Feature Modeling - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

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. Agenda. Motivation The CoFM Concepts Process Tool Support Cases

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' CoFM : An Environment for Collaborative Feature Modeling' - tarala


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cofm an environment for collaborative feature modeling

CoFM:An Environment for Collaborative Feature Modeling

Li Yi

Institute of Software, School of EECS, Peking UniversityKey Laboratory of High Confidence Software Technology, Ministry of Education of China

2010.11


Agenda
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Summary & Future Work


Agenda1
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Summary & Future Work


Challenges in fm construction
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 collaboration

  • The collaboration is often impacted by the limit of timeand locationof the stakeholders

    • Efficiency of the collaboration is often unsatisfied

  • The collaboration is usually domain-analyst-centric

    • FMs are hard to construct (time-consuming and error-prone) and maintain


Basic idea of our approach
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 createnew elements in a shared space.

Theyvote 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)


Basic idea cont
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)


Agenda2
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Summary & Future Work


The meta model of efms
The meta-model of EFMs

Create

Vote

Constraint

*

Operation

Relationship

Element

Refinement

Stakeholder

*

*

+supporters

+opponents

*

*

1

1

Feature

+parent

*

+child

1

*

1

1

1..*

Global

EFM

Name

1

1

Working

Description

*

*

View

1

1

Personal

Optionality

Has attribute


The voting operation
The voting operation

  • Voting options: YES or NO

    • Support or oppose an element’s existence in the EFM

  • Voting inference

    • Ensure consistent votes from a certain stakeholder

An example of inconsistent votes

a NO vote

A

A

a YES vote

requires

requires

Inconsistency

B

B

A should require B;

B should NOT exist;


Voting inference rules
Voting inference rules

  • Rule 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

An example of inferred votes

a YES vote

A

A

inferred

a NO vote

A

B

inferred

B

A

A

inferred

B

B

B


Special voting inference rule
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.


Views for an efm
Views for an EFM

  • Global 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


Resolving conflicts
Resolving conflicts

  • Aim: 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


An example
An example

These relations may be created by different people

requires

Initial Working View

A

B

excludes

C

N

A

B

Vote

C

A

B

C

Resulting Working View

No conflict is possible in the personal view now.


Types of conflict
Types of conflict

  • Conflicting constraints

    • Occurs in traditional feature models as well.

  • Multi-positioned feature (conflicting refinements)

Example

These refinements may be created by different people

P1

P2

refines

refines

F


Agenda3
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Summary & Future Work


Collaboratively constructing efms
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


An example1
An example

A

The EFM

Send to…

A

User 3

A

User 1

Broadcast…

User 2

U1 Create A

A


A

The EFM

A

User 3

C

A

User 1

C

C

User 2

U1 Create A

U2 Create C

A

C


A

The EFM

A

User 3

B

C

A

B

C

User 1

X

X

B

C

User 2

Vote NO

A

B

C


A

The EFM

A

User 3

B

C

A

B

C

User 1

Vote NO

B

C

U1 Create A

U2 Create C

U1 Create B

U3 Vote NO on B & C

U1 Vote NO on C

U2 Vote NO on B

User 2

A

Vote NO

B

C


Result

A: supported by 3 / 3

B: supported by 1 / 3

C: supported by 1 / 3

A

The EFM

A

B

User 3’s personal view

User 1’s personal view

B

C

A

User 2’s personal view

U1 Create A

U2 Create C

U1 Create B

U3 Vote NO on B & C

U1 Vote NO on C

U2 Vote NO on B

A

C


Coordinate operations from multiple users
Coordinate operations from multiple users

  • Serialized processing strategy

The Client

SEND (o: Operation)

Send operation o to the server.

The Server

RECEIVE (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.


Operation transformation
Operation transformation

  • 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.


Agenda4
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Summary & Future Work


Tool support for cofm
Tool Support for CoFM

  • C/S architecture

  • Support for concepts and process introduced before

  • Support for communication via comments and discussion pages

  • Support for customize new classes, relations and attributes


The main modeling page
The main modeling page

Feature Editor

Feature Browser

Miscellaneous Info


Agenda5
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Cases

  • Future Work


Uses of the cofm tool
Uses of the CoFM tool

  • Feature request for tools being developed in our research group, including CoFMitself

  • Domain analysis (including 2 cases)



Results contribution among participants
Results: contribution among participants

  • By 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.


Results support rate in collected features
Results: Support rate in collected features

  • This data may be helpful for discovering domain variability


Results phases of the work
Results: Phases of the work

128

122

121

120

117

113

111

82

43

Brainstorming Phase

Evaluation Phase


Phases of the work
Phases of the work

  • Brainstorming 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)


Agenda6
Agenda

  • Motivation

  • The CoFM

    • Concepts

    • Process

    • Tool Support

    • Case s

  • Summary & Future Work


Summary
Summary

  • CoFM 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


Future work
Future Work

  • Functions 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



ad