Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence."— Presentation transcript:

1 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

2 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Summary & Future Work

3 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Summary & Future Work

4 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 time and location of 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

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

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

7 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Summary & Future Work

8 The meta-model of EFMs +supporters +opponents Relationship Element Feature Refinement Constraint +parent 1 * 1 * +child * * EFM * Name Description Optionality Stakeholder View Global Working Personal Operation CreateVote 1 * 1 1 1 1 Has attribute * 1 1 1.. * **

9 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 a NO vote a YES vote A B requires A should require B; B should NOT exist; Inconsistency An example of inconsistent votes requires A B

10 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 a NO vote a YES vote A B An example of inferred votes A B A B inferred A B A B

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

12 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

13 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

14 An example AB C Initial Working View requires excludes These relations may be created by different people AB C Vote N A B C Resulting Working View No conflict is possible in the personal view now.

15 Types of conflict  Conflicting 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

16 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Summary & Future Work

17 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

18 A A User 1 User 2 User 3 A A Broadcast… Send to… The EFM A A A A U1 Create A An example

19 A A User 1 User 2 User 3 A A A A A A C C C C C C C C U1 Create A U2 Create C The EFM

20 A A User 1 User 2 User 3 A A A A A A C C C C C C C C B B B B B B B B Vote NO The EFM

21 A A User 1 User 2 User 3 A A A A A A C C C C C C C C B B B B B B B B The EFM Vote NO 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

22 A A User 1’s personal view User 2’s personal view User 3’s personal view A A A A A A 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: supported by 3 / 3 B: supported by 1 / 3 C: supported by 1 / 3 The EFM Result C C B B B B C C

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

24 Operation transformation Original operationWhen it is invalidTransformed 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 RR has already existed in current FM. Vote ‘YES’ on R. Create a relation RR involves non-existing feature(s). (Cannot be transformed.) Vote on an elementThis 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.

25 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Summary & Future Work

26 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

27 The main modeling page Feature Browser Feature Editor Miscellaneous Info

28 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Cases  Future Work

29 Uses of the CoFM tool  Feature request for tools being developed in our research group, including CoFM itself  Domain analysis (including 2 cases) CaseIntro# of Features # of Participants Time Music PlayerDomain feature model for music playing software such as iTunes. It is a familiar domain to the participants. 1583About 1.5 hours Job Finding Website Domain feature model for job finding websites. It is an unfamiliar domain to the participants. 1134About 3 hours

30 Results from the Job Finding Website case

31 Results: contribution among participants Participant Number of features extracted into the personal view TotalCreated by this participantCreated by others P19121 (23.1%)70 P28737 (42.5%)50 P39434 (36.2%)60 P410421 (20.2%)83  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.

32 Results: Support rate in collected features  This data may be helpful for discovering domain variability

33 Results: Phases of the work 43 82 122 128 117 121 111 120 113 Brainstorming PhaseEvaluation Phase

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

35 Agenda  Motivation  The CoFM  Concepts  Process  Tool Support  Case s  Summary & Future Work

36 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

37 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

38 Thank you!! Q&A


Download ppt "CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence."

Similar presentations


Ads by Google