Collaborative Feature Modeling: An Extendable Voting-Based Approach with Divergence Tolerance and Consensus Facilitation Li Yi 2010.05.04.

Slides:



Advertisements
Similar presentations
C6 Databases.
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Chapter 4.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
Systems Analysis and Design 9th Edition
USING VIEWPOINTS FOR REQUIREMENTS ELICITATION Aluno: Cleviton Monteiro Professor: Jaelson Castro
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Transaction Processing Lecture ACID 2 phase commit.
Transaction Management and Concurrency Control
Introduction to UML Visual modeling Models and its importance
Transaction Processing IS698 Min Song. 2 What is a Transaction?  When an event in the real world changes the state of the enterprise, a transaction is.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 1: Introduction to Decision Support Systems Decision Support.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews 2. Workshops 3. Brainstorming.
Chapter 4.
Transaction Management and Concurrency Control
1 Introducing Scenario Network Data Editing and Enterprise GIS January 27, 2010 Minhua Wang, Ph.D. Citilabs, Inc.
Year 6 PYP Exhibition Information Session 2015
Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation RE’10 Yi Li.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Mining Binary Constraints in the Construction of Feature Models Li Yi Peking University March 30, 2012.
CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao,
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Gila Basin Collaborative Modeling Project 20 September 2005 Kickoff Workshop.
ITEC224 Database Programming
Storyboarding 1. Purpose of Storyboarding  To gain an early reaction from users on the concepts proposed for the application.  They are an effective.
1Mr.Mohammed Abu Roqyah. Introduction and Conceptual Modeling 2Mr.Mohammed Abu Roqyah.
Intro to Music Theory What is Music Theory?  What is music?  We know it when we hear it... But objectively what is it? Is this music?
1 MFI-3 Ontology Evolution Metamodel HE Keqing,HE Yangfan 2007,6.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
…using Git/Tortoise Git
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Chapter 6 Determining System Requirements. 2 2 What are Requirements? “Requirements are … a specification of what should be implemented. They are descriptions.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Chapter 23 Project Development Team © 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible.
C6 Databases. 2 Traditional file environment Data Redundancy and Inconsistency: –Data redundancy: The presence of duplicate data in multiple data files.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University
OOAD Unit – I OBJECT-ORIENTED ANALYSIS AND DESIGN With applications
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Part4 Methodology of Database Design Chapter 07- Overview of Conceptual Database Design Lu Wei College of Software and Microelectronics Northwestern Polytechnical.
A Use Case Based Approach to Feature Models’ Construction Bo Wang, Wei Zhang, Haiyan Zhao, Zhi Jin, Hong Mei Key Laboratory of High Confidence Software.
Human Computer Interaction
Lecture 10 More Innovation SE3821 Software Requirements and Specification Dr. Rob Hasker (based on slides by Dr. Brad Dennis)
Systems Analysis and Design 8th Edition
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Alison Pamment CF Standard Names Status, Process and Development Alison Pamment
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Building Systems for Today’s Dynamic Networked Environments A Methodology for Building Sustainable Enterprises in Dynamic Environments through knowledge.
Slide 1 Software Construction Software Construction Lecture 3.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 6.0.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Software Configuration Management
Working in Groups in Canvas
Chapter 3: The Requirements Workflow
Bringing Home the Bacon: Grant Writing Basics Unit 7 Grant Submission
Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,
Chapter 2 – Software Processes
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Introducing Scenario Network Data Editing and Enterprise GIS
Ensuring Name Uniqueness
Versioning in Adaptive Hypermedia
Presentation transcript:

Collaborative Feature Modeling: An Extendable Voting-Based Approach with Divergence Tolerance and Consensus Facilitation Li Yi

Agenda Background Our Approach An Example Future Work

Background: Feature Models from Feature Oriented Domain Analysis (FODA) Feasibility Study, CMU/SEI-90-TR-21, 1990 Refinement Feature Constraint

First, a feature model needs to be constructed… …with collaboration between stakeholders FM (from FODA & FORM)

However, few of existing methods have supported such collaborations explicitly, leading to problems… It takes a lot of effort for domain analysts to obtain knowledge from others, and the result is greatly depended on domain analysts’ experience – FM constructions are time-consuming and error-prone – The quality of constructed FMs cannot be well controlled – FMs are difficult to maintain and evolve with the domain

We propose a collaborative way to construct feature models Why feature models can be constructed in such way? – Elements of a feature model are loosely coupled… e.g. the proportion of constraints is usually low – …which means a feature model can be constructed incrementally a feature model can be divided into several parts, and these parts can be constructed concurrently

Agenda Background Our Approach – Concepts – Process An Example Future Work

Basic Idea... User 1 created feature Play Control User 1 created feature Audio Control User 2 created relation Audio Control refines Play Control User 2 voted NO to feature Online Playing User 1 created relation Online Playing requires Play Control... create/vote A Shared Feature Model create/vote User 1 sees this feature modelUser 2 sees this feature model Extendable Feature Model The voting-based approach brings: - Divergence tolerance - Consensus facilitation

The Meta-model of Extendable Feature Models (EFM) Relationship Vote-able Element Feature Refinement Constraint +parent 1 * 1 * +child * * EFM * User View Global Working Personal Operation CreateVote 1 * * 1 ** Attribute Value 1..* 1 Type 1 String Text Enumeration Numeric Default Attributes: Name, Description, Optionality

Operations for Users Creating – a new feature – a new attribute for all features – a different value for an attribute – a new relationship Voting – features – values of an attribute – relationships

Automatic Voting Propagation The problem of inconsistent voting operation from one user F-A F-B requires The user voted NO on it The user voted YES on it F-A F-B requires F-A should require F-B; F-B should not exist;

Voting Propagation Rules (VPRs) VPR-1a: Vote NO on Feature F  Vote NO on every Relationship R which involves F. VPR-1b: Vote YES on Relationship R  Vote YES on every feature which is involved in R. F-A F-B The user voted NO on it A NO from the user is propagated to it F-A F-B F-A F-B F-A F-B F-A F-B The user voted YES on it A YES from the user is propagated to it

VPRs (Feature/Value) VPR-2a: Vote YES on a value of an attribute of Feature F  Vote YES on F VPR-2b: Vote NO on Feature F  Vote NO on all values of all attributes of F

Creating & Voting Create a Vote-able Element VE  Vote YES on VE – All vote on VE is NO  Delete VE NOTE: We don’t distinguish explicit votes from propagated votes. All contributors have equal rights of decision.

Various Views for Each User Global View of EFM e for user X GV(e, X) = {all elements which has at least one YES vote} Working View of EFM e for user X WV(e, X) = {all elements on which X hasn’t voted NO} Personal View of EFM e for user X PV(e, X) = {all elements on which X has voted YES} Anything available Anything that I don’t dislike, or I haven’t noticed Anything I want

Possible Usage of the Views Use the working view as the main workspace. Use the global view to avoid information missing. Use personal views to track different perspectives Service-Level Function/Behavior- Level PV of an end user PV of a programmer

Agenda Background Our Approach – Concepts – Process An Example Future Work

The Process Discuss with others Switch between views Submit operations Stakeholder 1 Propagate votes Coordinate and apply changes EFM Update views Stakeholder 2Stakeholder 3... Stakeholder Activity Supporting Activity LEGEND Artifact

Issues in the Process Concurrency Control: How to coordinate simultaneous operations from different stakeholders on the same element? Model Checking: What will happen if multiple operations leading to conflicts in the EFM (e.g. require-exclude conflict)?

Concurrency Control The Create-Create conflict create E S2 S1 create E update EFM time Duplicate Creation create E S2 S1 create E success time vote YES on E create name N for feature F1 S2 S1 create name N for feature F2 update EFM time Conflicting Aliases create name N for feature F1 S2 S1 create name N for feature F2 success time fail and undo

Concurrency Control The Vote-Vote conflict The Create-Vote conflict S2 S1 time Unreachable Vote E ( create ) vote NO on E vote YES on E update EFM S2 S1 time E ( create ) vote NO on E vote YES on E success fail and undo Incomplete Creation S2 S1 time F1 (create) vote NO on F1 create constraint F1  F2 update EFM S2 S1 time F1 (create) vote NO on F1 create constraint F1  F2 success fail and undo

Model Checking No model checking for the shared EFM – divergence tolerance Need model checking for everyone’s working and personal view – Everyone is self-correct. Perform model checking for working view only – The personal view is a subset of the working view.

Feature Model Browser Feature Editor Miscellaneous Information

Agenda Background Our Approach An Example Future Work

An Example A feature model of the “Music Player Software” domain is collaboratively constructed by 2 users 1. User A creates some features as a start. Music Player Play Control PlayPauseStop

Play Control Basic Control PlayPauseStop Music Player 2.1 User B has different opinion on the refinements… Music Player Play Control PlayPauseStop Vote NO by user B Created by user B B’s working view (begin)B’s working view (end) Created by user A

Play Control Basic Control PlayPauseStop Music Player 2.2 …and user B adds more features/relations. Created by user B B’s working view Created by user A Audio Control Equalizer Online Radio Playing

3.1 After that, the model checking on user A’s working view reports an error. (3 features have more than one parent.) A’s working view (begin) Play Control Basic Control PlayPauseStop Music Player Created by user B Created by user A Audio Control Equalizer Online Radio Playing

3.2 User A agrees user B’s change of the refinements, but disagrees some other elements… A’s working view (submitting operations…) Play Control Basic Control PlayPauseStop Music Player Created by user B Created by user A Audio Control Equalizer Online Radio Playing Vote NO by user A Online Song Playing Newly created by A

A’s working view (end) Play Control Basic Control PlayPauseStop Music Player Created by user B Created by user A Audio Control Equalizer Online Song Playing

4.1 Current working view of user B Play Control Basic Control PlayPauseStop Music Player Created by user B Created by user A Audio Control Equalizer Online Song Playing Online Radio Playing

4.2 Current EFM Play Control Basic Control PlayPauseStop Music Player Created by user B Created by user A Audio Control Equalizer Online Song Playing Online Radio Playing Divergence between A and B

Future Work Improvements – Voting propagation rules – Confidence of the votes – Details about extendable attributes Tool Support and Case Studies – Group scale: small (3-5 persons), medium (10+) – Experience: low (an unfamiliar domain for most collaborators), centralized (a few experts), high (a familiar domain for most collaborators)

Thanks for your listening! Comments and questions are appreciated