CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University 2010.10.28.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Catholic School Councils A summary of 19 page document listed on school website.
USING VIEWPOINTS FOR REQUIREMENTS ELICITATION Aluno: Cleviton Monteiro Professor: Jaelson Castro
Object-Oriented Analysis and Design
Transaction Management and Concurrency Control
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Transaction Management and Concurrency Control
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Transaction Management and Concurrency Control
Collaborative Feature Modeling: A Voting Based Approach with Divergence Tolerance and Consensus Facilitation RE’10 Yi Li.
Chapter 9 Architecture Alignment. 9 – Architecture Alignment 9.1 Introduction 9.2 The GRAAL Alignment Framework  System Aspects  The Aggregation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
UML - Development Process 1 Software Development Process Using UML (2)
CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao,
ITEC224 Database Programming
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
2-Oct-15 Bojan Orlic, TU/e Informatica, System Architecture and Networking 12-Oct-151 Homework assignment 1 feedback Bojan Orlic Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 6 SAS ® OLAP Cube Studio. Section 6.1 SAS OLAP Cube Studio Architecture.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
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.
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Transaction Communications Yi Sun. Outline Transaction ACID Property Distributed transaction Two phase commit protocol Nested transaction.
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.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Facility Reporting v. 1.0 Managing Clinical Staffing Reports on the Illinois Outcomes Website May 20, 2009.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Chapter 6 Determining System Requirements. 2 2 What are Requirements? “Requirements are … a specification of what should be implemented. They are descriptions.
1 Al-Quds Open Univ. E-Learning Experience. 2 Projects Started Multimedia CDs Production of multimedia content packaged on CD for certain course topics.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
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.
1 June 10-15, 2012 Growing Community; Growing Possibilities Switching to on-line evaluations for courses at UC Berkeley Daphne Ogle, Lead Design, UC Berkeley.
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.
Website that support online communities 1. Wikis 2. Blogs 3. Forums 4. Social networking sites.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
© 2014 International Technology and Engineering Educators Association STEM  Center for Teaching and Learning™ Game Art and Design Unit 2 Lesson 1 Skills.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Process by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
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.
Paideia Seminar O is a collaborative, intellectual dialogue about a text, facilitated with open-ended questions. O learning goals are to help students.
Software Project Configuration Management
Transaction Management and Concurrency Control
Choreographies: the idea
Built by Schools for Schools
Project Plan Template (Help text appears in cursive on slides and in the notes field)
Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,
Fundamentals of Databases
Automating and Validating Edits
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Presentation transcript:

CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Summary & Future Work

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Summary & Future Work

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

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

However, few of existing methods and tools have supported such collaboration explicitly, leading to problems… The collaboration is often constrained by the limit of time and distribution of location among the stakeholders – Thus the efficiency of the collaboration is often unsatisfied The collaboration is usually domain-analyst-centric – It takes a lot of effort for domain analysts to obtain necessary knowledge from other stakeholders, which makes FM construction a time-consuming and error-prone task – FMs are hard to maintain and evolve with the (often fast changing) domain

Our Approach: the CoFM Environment Provide an environment to allow multiple users to construct FMs collaboratively Basic Idea A A B B A A A A C C A C B User 1 User 2 User 3 Supported by: 3 / 3 Supported by: 1 / 3

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Summary & Future Work

The Meta-model of Feature Models in CoFM +supporters +opponents Relationship Element Feature Refinement Constraint +parent 1 * 1 * +child * * FM * Name Description Optionality Stakeholder View Global Working Personal Operation CreateVote 1 * Has attribute * * **

Operations for Users Creating operations – Add a new element to the shared FM Voting operations – Express opinions to an existing element: support/oppose the element’s existence in the FM – Voting options: YES or NO

Automatic Voting Inference The problem of inconsistent voting operation from a user Example: 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; Existence of a relationship needs the existence of its involved features Inconsistency

Voting Inference Rules (VIRs) VIR-1a: Vote NO on feature F  Vote NO on each relationship R which involves F VIR-1b: Vote YES on relationship R  Vote YES on each feature which is involved in R F-A F-B The user voted NO on it An inferred NO vote F-A F-B F-A F-B F-A F-B F-A F-B The user voted YES on it An inferred YES vote

VIRs(Feature/Attribute) VIR-2a: Vote YES on an attribute of feature F  Vote YES on F VIR-2b: Vote NO on feature F  Vote NO on all attributes of F Existence of an attribute of a feature requires the existence of the feature

VIR (from Creating) VIR-3: Create an element E  Vote YES on E Although we haven’t provided the deleting operation directly, we allow users to delete via voting – All votes on element E are NO  Delete E NOTE: We don’t distinguish explicit votes from inferred votes.

Views of the Shared Feature Model Global View GV = {all elements which has at least one YES vote} Working View for User X WV(X) = {all elements on which X hasn’t voted NO} Personal View for User X PV(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

Role of the Views A A B B A A A A C C A C B User 1 User 2 User 3 Supported by: 3 / 3 Supported by: 1 / 3 Global views show the whole picture of the shared FM Personal views show each user’s understanding of the domain In between, working views hide unwanted elements of the users; it is designed as the main workspace of the users.

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Summary & Future Work

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

An Example of the Process How to construct this… A A B B A A A A C C A CB User 1 User 2 User 3 3 / 3 1 / 3

A A User 1 User 2 User 3 A A Broadcast… Send to… The Shared Feature Model A A A A U1 Create A

A A User 1 User 2 User 3 A A The Shared Feature Model A A A A C C C C C C C C U1 Create A U2 Create C

A A User 1 User 2 User 3 A A The Shared Feature Model A A A A C C C C C C C C B B B B B B B B Vote NO U1 Create A U2 Create C U1 Create B U3 Vote NO on B & C

A A User 1 User 2 User 3 A A The Shared Feature Model A A A A C C B B CB 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 User 2 User 3 A A The Shared Feature Model A A A A C B 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 A: supported by 3 / 3 B: supported by 1 / 3 C: supported by 1 / 3

Issue in the Process Concurrency Control: How to coordinate simultaneous operations from different stakeholders on the same element? There are possibly 3 types of concurrency control issues, according to the operations Create / Create Vote / Vote Create / Vote

Concurrency Control The Create-Create conflict create E S2 S1 create E update FM 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 FM 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 S2 S1 time Unreachable Vote E ( create ) vote NO on E will lead to deletion vote YES on E update FM S2 S1 time E ( create ) vote NO on E vote YES on E success fail and undo ?

Concurrency Control The Create-Vote conflict Incomplete Creation S2 S1 time F1 (create) vote NO on F1 leads to deletion create constraint F1  F2 update FM S2 S1 time F1 (create) vote NO on F1 create constraint F1  F2 success fail and undo ? The creation is incomplete because corresponding vote inference cannot be finished.

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study 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 Uses – Domain analysis (including 2 case studies) – Feature request for tools being developed in our research group, including CoFM itself

The editing location of others Controversial features

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Future Work

The 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 of the Job Finding Website Case

Result (cont.): Distribution of Contributions among Participants

Result (cont.): Distribution of Features’ Support Rates

Main Observations Ob 1: The collaborative work can be roughly divided into 2 phases – Brainstorming phase: a large number of features are created over a short period of time – Evaluation phase: adjust features and relationships; lots of voting operations and comments

Evidence from the Job Finding Website Case Brainstorming PhaseEvaluation Phase

Main Observations (cont.) Ob 2: The efficiency of domain feature modeling is improved, in 3 dimensions: – Parallel construction happens in different part of a feature model – Low interferer between different user’s work – Users often get inspired by others’ work

Agenda Motivation The CoFM – Concepts – Process – Tool Support – Case Study Summary & Future Work

Summary CoFM provides a simple but effective way to support collaborative feature modeling – Creating and Voting as the basic operations – Rules to ensure correctness of committed operations – Views to help people work Case study gives positive results – Efficiency of feature modeling is improved

Future Work Functions of the tool – Provide statistics about feature models for the users. – Enable users to export their personal (views of) feature models to local documents, or into other tools. Calculate confidence/priority of users’ operation Provide mechanisms to identify constraints between features for users (semi-auto.) More cases (larger scale, more people, and more distributed)

Thanks for your listening! Comments and questions are appreciated!