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

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

CS 542: Topics in Distributed Systems Diganta Goswami.
A component- and message-based architectural style for GUI software
© 2000 Technology Builders, Inc. All rights reserved. A Requirements-Based Approach To Delivering E-business and Enterprise Applications Scott Jefferies.
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Chapter 4 Quality Assurance in Context
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
CS CS 5150 Software Engineering Lecture 12 Usability 2.
CS 582 / CMPE 481 Distributed Systems
Hands-On Microsoft Windows Server 2003 Administration Chapter 3 Administering Active Directory.
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation RE’10 Yi Li.
The chapter will address the following questions:
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao,
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Li Yi, APSEC ‘12 Constructing Feature Models Us­­ing a Cross-Join Merging Operator.
ITEC224 Database Programming
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
1. 2 IMPORTANCE OF MANAGEMENT Some organizations have begun to ask their contractors to provide only project managers who have been certified as professionals.
IST 210 Database Design Process IST 210 Todd S. Bacastow January 2005.
Data Warehouse Overview September 28, 2012 presented by Terry Bilskie.
2/6/01D-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Using PARTS to Illustrate Requirements Concepts.
Emerging Technologies Work Group Master Data Management (MDM) in the Public Sector Don Hoag Manager.
Chapter 8 Cookies And Security JavaScript, Third Edition.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Using error reports in SPI Tor Stålhane IDI / NTNU.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th Jae young George.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
IS2210: Systems Analysis and Systems Design and Change Twitter:
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Using the Right Method to Collect Information IW233 Amanda Murphy.
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.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University
Part4 Methodology of Database Design Chapter 07- Overview of Conceptual Database Design Lu Wei College of Software and Microelectronics Northwestern Polytechnical.
1 Standard Student Identification Method Jeanne Saunders Session 16.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
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.
IAD 2263: System Analysis and Design Chapter 3: Investigating System Requirements.
Database Design – Lecture 4 Conceptual Data Modeling.
Collaborative Feature Modeling: An Extendable Voting-Based Approach with Divergence Tolerance and Consensus Facilitation Li Yi
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
CS223: Software Engineering Lecture 13: Software Architecture.
Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.
Chapter Two Copyright © 2006 McGraw-Hill/Irwin The Marketing Research Process.
Data Mining and Data Warehousing: Concepts and Techniques What is a Data Warehouse? Data Warehouse vs. other systems, OLTP vs. OLAP Conceptual Modeling.
CASE Tools and Joint and Rapid Application Development
Lec 6: Practical Database Design Methodology and Use of UML Diagrams
Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,
Metadata The metadata contains
Presentation transcript:

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

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

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

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

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)

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)

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

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 * Has attribute * * **

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

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

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.

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

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

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.

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

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

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

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

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

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

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

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

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.

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.

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

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

The main modeling page Feature Browser Feature Editor Miscellaneous Info

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

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

Results from the Job Finding Website case

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 P (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.

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

Results: Phases of the work Brainstorming PhaseEvaluation Phase

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)

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

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

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

Thank you!! Q&A