Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,

Slides:



Advertisements
Similar presentations
Probabilistic Skyline Operator over Sliding Windows Wenjie Zhang University of New South Wales & NICTA, Australia Joint work: Xuemin Lin, Ying Zhang, Wei.
Advertisements

Domain Engineering Silvio Romero de Lemos Meira
G-RCA: A Generic Root Cause Analysis Platform for Service Quality Management in Large IP Networks He Yan, Lee Breslau, Zihui Ge, Dan Massey, Dan Pei, Jennifer.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
1 A Tool to Support Ontology Creation Based on Incremental Mini-ontology Merging Zonghui Lian.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
CoFM: A Web-based Collaborative Feature Modeling System for Internetware Requirements' Gathering and Continual Evolution Li Yi, Wei Zhang, Haiyan Zhao,
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Supporting Automatic Model Inconsistency Fixing Yingfei Xiong University of Tokyo, Japan Zhenjiang HuNational Institute of Informatics, Japan Haiyan ZhaoPeking.
Li Yi, APSEC ‘12 Constructing Feature Models Us­­ing a Cross-Join Merging Operator.
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
Usability Issues Documentation J. Apostolakis for Geant4 16 January 2009.
Product Configuration is a Collaborative Task… Towards a Framework for Collaborative and Coordinated Product Configuration Marcilio Mendonca, Krzysztof.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Approaching a Problem Where do we start? How do we proceed?
Knowledge Modeling, use of information sources in the study of domains and inter-domain relationships - A Learning Paradigm by Sanjeev Thacker.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Peking University
Space Operations as a Guide for a Real-World Scheduling Competition Eduardo Romero Marcelo Oglietti
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.
Collaborative Feature Modeling: An Extendable Voting-Based Approach with Divergence Tolerance and Consensus Facilitation Li Yi
Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Extended ReBAC Administrative Models with Cascading Revocation and Provenance Support Yuan Cheng 1 , 2, Khalid Bijon 2, and Ravi Sandhu 1 Institute for.
Genie Pal A Versatile Intelligent Assistant To Help Both Work And Personal life.
DARE: Domain analysis and reuse environment Minwoo Hong William Frakes, Ruben Prieto-Diaz and Christopher Fox Annals of Software Engineering,
CSC 421: Algorithm Design & Analysis
Modelling and Solving Configuration Problems on Business
Databases: What they are and how they work
Graphical Data Engineering
Logical Database Design and the Rational Model
Estimate Testing Size and Effort Using Test Case Point Analysis
Understanding Android Security
Software Requirements and the Requirements Engineering Process
The Development Process of Web Applications
Object-Oriented Analysis and Design
Action Editor Storyboard
The Object-Oriented Database System Manifesto
Complexity Time: 2 Hours.
The 2007 Winter Conference on Business Intelligence
Chapter 6: Design of Expert Systems
CSC 421: Algorithm Design & Analysis
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
Model-Driven Analysis Frameworks for Embedded Systems
On Efficient Graph Substructure Selection
Jim Fawcett CSE776 – Design Patterns Summer 2003
Interactive repairing of inconsistent knowledge bases
Chapter 4 Entity Relationship (ER) Modeling
Consideration on IPv6 Address Management
Object oriented analysis and design
IPOG: A General Strategy for T-Way Software Testing
Support for Managing Design-Time Decisions
Question Banks, Reusability, and DDI 3.2 (Use Parameters)
Automated Analysis and Code Generation for Domain-Specific Models
Understanding Android Security
Gradient Domain Salience-preserving Color-to-gray Conversion
Human Computer Interaction Lecture 14 HCI in Software Process
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

A Dynamic-Priority based Approach to Fixing Inconsistent Feature Models Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1, Wei Zhang1, Hong Mei1 1. Institute of Software, Peking University (China) 2. Generative Software Development Laboratory, University of Waterloo (Canada) 2. GRACE Center, National Institute of Informatics (Japan)

Outline Background & Motivation Approach Overview Implementation based on SkyBlue Case Studies Conclusion

Reuse the requirements Background A Feature Model = Features + Relationships captures the end-user’s understanding of the general capabilities of the products in a domain. captures the common and variable requirements of the products in a domain. Reuse the requirements In the first few slides, I will introduce 1) feature models and 2) inconsistency in feature models. I think most of the participants in the workshop are not familiar with feature models.

Example: Mobile Phone From David Benavides Complex Constraints: Legend Screen Calls Media Optional Feature GPS Mandatory Feature Require Exclude Basic Color High Resolution Camera MP3 Complex Constraints: All-Group({Screen}) requires Single-Group({Basic, Color, High Resolution}) All-Group({Media}) requires Multi-Group({Camera, MP3}) Introduce the basic modeling elements of feature models. feature; 2) Refinement Relationships; 3)Mandatory Features 4)Require Constraint; 5) Excludes Constraint 6) Composite Constraints Purpose: 1) Give the attendants a impression of feature models. 2) Let the attendants know that feature models are complex and it may difficult to maintain the consistency of large feature models. From David Benavides

Example: A Product Configuration √ Mobile Phone Legend X Screen √ Calls √ Media √ Optional Feature GPS Mandatory Feature Require Exclude X X √ √ X Basic Color High Resolution Camera MP3 Complex Constraints: All-Group({Screen}) requires Single-Group({Basic, Color, High Resolution}) All-Group({Media}) requires Multi-Group({Camera, MP3}) Introduce how to reuse requirements through selecting and deselecting features. Purpose: Introduce the usage and importance of feature models.

Inconsistency in Feature Models A feature model contains inconsistencies, if the model includes contradictory information. Inconsistency leads to the fact that no consistent product configuration can be derived from the feature model. Define the “Inconsistency” in our paper.

An Inconsistent Feature Model Example A B C D E F G An example to show the inconsistency in feature models. When “c excludes d” is added into the feature model, no valid products can be derived from this feature model. An Inconsistent Feature Model

Motivation It is difficult for domain engineers to fix inconsistent feature models How to detect the inconsistency? How to find a solution? Is there any alternative solution? Fixing inconsistency is especially difficult for large feature models. Real-would feature models often grow beyond one thousand of features The largest one reported has more than 5000 features (Czarnecki, She, FM for the Linux Kernel)

Motivation Existing feature model automatic analysis focus on inconsistency detection. providing reasons for the inconsistencies Automatic support is needed to help domain engineers fix inconsistent feature models.

(Extension of) Constraint Hierarchy Algorithm(SkyBlue) Our Approach We propose a dynamic priority-based approach to help domain engineers fix inconsistent feature models interactively. Dynamic priority and Interactive Fixing Process Incremental inconsistency checking Recommend solutions Choose other solutions through changing priorities (Extension of) Constraint Hierarchy Algorithm(SkyBlue)

Add a Constraint (with Priority) Approach Overview N Add a Constraint (with Priority) Check Inconsistency Inconsistent? Recommend a Solution Y Satisfied? Use priorities to express the domain engineers’ confidence on the constraints in the feature model Change the Priorities Rotatively Automatic Step Manual Step

Add excludes between C and D An Example Default Priority: 3 Root Feature Priority 6 A 3 3 3 4 5 3 5 B C D E 5 3 Add excludes between C and D F G Composite Constraint: All-Set(B) c-requires Single(F,G) Priority: 4

An Example A B C D E F G Recommended Solution: Delete Constraint Root Feature Priority 6 A Delete Constraint “B requires C” 3 3 3 4 5 3 5 B C D E 5 3 F G Composite Constraint: All-Set(B) c-requires Single(F,G) Priority: 4

An Example A B C D E F G 3 3 3 4 5 4 5 5 3 Composite Constraint: Root Feature Priority 6 A 3 3 3 4 5 4 5 B C D E 5 3 F G Composite Constraint: All-Set(B) c-requires Single(F,G) Priority: 4

An Example A B C D E F G Recommended Solution: Delete Constraint Root Feature Priority 6 A Delete Constraint “Mandatory B” 3 3 3 4 5 4 5 B C D E 5 3 F G Composite Constraint: All-Set(B) c-requires Single(F,G) Priority: 4

An Example A B C D E F G 3 3 4 5 4 5 5 3 Composite Constraint: Root Feature Priority 6 A 3 3 4 5 4 5 B C D E 5 3 F G Composite Constraint: All-Set(B) c-requires Single(F,G) Priority: 4

Outline Background & Motivation Approach Overview Implementation based on SkyBlue Case Studies Conclusion

SkyBlue (1/3) A constraint algorithm widely used in GUI Construction Very efficient: Incremental Consistency Checking Constraint Hierarchy Algorithm Each constraint is equipped with a set of methods Constraint:Feature A excludes Feature B Methods: A.bindstate := unbind B.bindstate := unbind Aexcludes B Legend: A B A B bind unbind Constraint Graph Feature Model

SkyBlue (2/3) SkyBlue checks the consistency by selecting a proper method for each constraint in the constraint graph. A Legend: Root A (Strongest) bind A unbind Mandatory (Strong) Mandatory (Strong) B C B exclude C (Medium) Introduce the process of selecting methods for constraints. Show the conflict during the process of selecting methods. Introduce the LGB. Show the link between the LGB and the PCS and CFM. B C Conflict! Conflict! Feature Model Constraint Graph

SkyBlue (3/3) SkyBlue can detect inconsistency unenforce weaker constraints to fix inconsistency The unenforced constraints cannot be enforced, unless their contradictory stronger constraints are deleted. We recommend deleting the unenforced constraints to fix inconsistency in feature models.

Our Implementation How to extend SkyBlue to support fixing inconsistency in feature models? Define the methods for constraints in feature models Revise the algorithm of selecting methods for constraints

Define the methods (1/2)

Define the methods (2/2) All-Set(A,B) composite-excludes Alternative-Set(C,D) Four methods: 1) {Unbind(A)}; 2){Unbind(B)}; 3) {Unbind(C), Unbind(D)}; 4){Bind(C), Bind(D)}

Outline Background & Motivation Basic Idea of Our Approach Challenges in Our Approach Case Studies Conclusion

Case Study An preliminary case study Construct feature models for the web store domain Five participants identify feature, refinements, simple constraints, composite constraints Record usage logs the scale of feature models, the number of the detected inconsistencies, the number of the recommended solutions, ect Investigate through questionnaires And so forth

Case Study Case study results the participants need recommended solutions when fixing inconsistency our system can help fix inconsistencies assigning priorities sometimes bring burden lack of the standards for the priorities of constraints adjusting priorities is relatively easier

Up to 4000 features and 330 explicit constraints. Experimental Results Generate feature models randomly. Up to 4000 features and 330 explicit constraints.

Conclusion Conclusion Adopt constraint hierarchy theory to fix inconsistency in feature models Provide a dynamic-priority based mechanism to find the desirable solution Extend SkyBlue to support fixing inconsistency in feature models

Thank you! Q&A wangbo07@sei.pku.edu.cn Thank you. Any questions?