Cofm an environment for collaborative feature modeling
This presentation is the property of its rightful owner.
Sponsored Links
1 / 38

CoFM : An Environment for Collaborative Feature Modeling PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

CoFM : An Environment for Collaborative Feature Modeling

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


Cofm an environment for collaborative feature modeling

A

The EFM

A

User 3

C

A

User 1

C

C

User 2

U1 Create A

U2 Create C

A

C


Cofm an environment for collaborative feature modeling

A

The EFM

A

User 3

B

C

A

B

C

User 1

X

X

B

C

User 2

Vote NO

A

B

C


Cofm an environment for collaborative feature modeling

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


Cofm an environment for collaborative feature modeling

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 from the job finding website case

Results from the Job Finding Website case


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


Thank you q a

Thank you!!Q&A


  • Login