1 / 38

CoFM : An Environment for Collaborative Feature Modeling

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

tarala
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  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 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;

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

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

  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. An example A The EFM Send to… A User 3 A User 1 Broadcast… User 2 U1 Create A A

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

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

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

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

  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 • 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 Editor Feature Browser 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 CoFMitself • Domain analysis (including 2 cases)

  30. Results from the Job Finding Website case

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

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

  33. Results: Phases of the work 128 122 121 120 117 113 111 82 43 Brainstorming Phase Evaluation 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

More Related