1 / 15

2010.1.14

Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation. 2010.1.14. Outline. 1 Introduction 2 Related Work 3 Preliminaries 4 The Conceptual Model 5 The Collaboration Mechanism 6 Tool Support and a Case Study

kent
Download Presentation

2010.1.14

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. Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation 2010.1.14

  2. Outline • 1 Introduction • 2 Related Work • 3 Preliminaries • 4 The Conceptual Model • 5 The Collaboration Mechanism • 6 Tool Support and a Case Study • 7 Conclusions and Future Work

  3. 1. Introduction • Background • The problem • New products emerge so rapidly that software domains become complex and fast-changing, thus an ultimate domain expert is hard to find, and domain experts have to share their knowledge to obtain a relatively comprehensive understanding of a domain, otherwise the quality of the feature model cannot be guaranteed. • In addition, the construction of feature models is a time-consuming and error-prone task, especially for one person. • The existing approaches cannot tackle this problem very well.

  4. 1. Introduction • Our solution: a collaborative approach to feature modeling, which captures consensus and divergence among modelers to obtain a comprehensive understanding of a domain, while allowing individuals to express their own understandings freely and benefit from others.

  5. 2. Related Works • Works on feature modeling • no one has explicitly incorporated “collaboration” in the process of construction, • yet there are a few works on collaborative FM/SPL configuration. (Staged configuration, multi-step) • Our previous works on FM verification. • Works on generic collaboration • use locking and revisions to prevent overwriting

  6. 3. Preliminaries • Introduce our works on feature model • Meta-model • Verification

  7. 4 & 5. Our Approach • Key points: • Static • Global Model, Working Model, Private/Personal Model, and their meanings (一个Model, Global View, W View, P View) - (一个人多个WorkingView,每个WV对应一个product) • Elements and operations on them (create and vote) • Vote propagation rules • Dynamic • Activity-level coordination (the process) • Verification • Feature-level coordination (what happens when multiple users are operating on the same feature)

  8. 4. Concept Model • 4.1 Overview • We allow users to create their parts of model without the risk of overwriting others’ work. • However, we still allow them to eliminate unacceptable parts from the model, if they can reach such consensus. • We achieve these by allowing them only to create and vote, and implementing other operations via these two operations.

  9. 4. Concept Model • 4.2 Basic Operations: Create and Vote • Explain how an element can be removed. (If all voters say NO to it.) • 4.3 Vote Propagation Rules Vote NO on Feature F  Vote NO on all relationships involving F Vote YES on Relationship R  Vote YES on all features involved in R Vote NO on Feature F  Vote NO on F’s attributes Vote YES on F’s attributes  Vote YES on Feature F Create X  Vote YES on X

  10. 4.4 Global Model, Working Model, and Private Model consists of Global Model Element 1 m n Feature Relationship Opposed * is subset of consists of Working Model Neutral * Name Constraint Refinement is subset of Description Private Model Supported * consists of Optionality 属性

  11. 5. The Process • 5.1 Overview of a typical process • 分为几个:一个人的典型process • 多个人之间的交互过程

  12. A Typical Process 1 Operations committed by other users User joins/creates a modeling project Global Model 2 System updates/generates his WM and PM System updates the GM 3 5 Working Model System verifies WM, reports errors and controversies User commits operations on his WM Private Model 4

  13. 5. The Process • 5.2 Verification on Working Model • New error types: more than one parent, no parent • 5.3 Feature-level coordination (what happens when multiple users operate on same feature) • Although we eliminated the risk of overwriting, there’s still a “False Deletion” problem • A is working on feature F1 but hasn’t committed any operation yet • Others’ votes lead to a “All-No” vote on F1 • The problem can be detected and solved easily

  14. 6. Tool Support and Case Study • First, a brief introduction to our tool prototype • Show the results of Co-FM

  15. 7. Conclusions and Future Work • …

More Related