150 likes | 258 Views
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
E N D
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 • 7 Conclusions and Future Work
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.
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.
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
3. Preliminaries • Introduce our works on feature model • Meta-model • Verification
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)
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.
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
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 属性
5. The Process • 5.1 Overview of a typical process • 分为几个:一个人的典型process • 多个人之间的交互过程
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
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
6. Tool Support and Case Study • First, a brief introduction to our tool prototype • Show the results of Co-FM