Li Yi, APSEC ‘12 Constructing Feature Models Us­­ing a Cross-Join Merging Operator.

Slides:



Advertisements
Similar presentations
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Advertisements

Interactive Configuration
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Automated Planning for Feature Model Configuration based on Functional and Non-Functional Requirements Samaneh Soltani 1, Mohsen Asadi 1, Dragan Gašević.
8. Introduction to Denotational Semantics. © O. Nierstrasz PS — Denotational Semantics 8.2 Roadmap Overview:  Syntax and Semantics  Semantics of Expressions.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Reap What You Sow: Spare Cells for Post-Silicon Metal Fix Kai-hui Chang, Igor L. Markov and Valeria Bertacco ISPD’08, Pages
Logical Database Design
Efficient Query Evaluation on Probabilistic Databases
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Interactive Generation of Integrated Schemas Laura Chiticariu et al. Presented by: Meher Talat Shaikh.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Lecture 14 Language class LFSA –Study limits of what can be done with FSA’s –Closure Properties –Comparing to other language classes.
A First Attempt towards a Logical Model for the PBMS PANDA Meeting, Milano, 18 April 2002 National Technical University of Athens Patterns for Next-Generation.
Management of Blood Component Preparation Speaker: Chun-Cheng Lin National Taiwan University Co-authors: Chang-Sung Yu, Yin-Yih Chang.
1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
Winter 2004/5Pls – inductive – Catriel Beeri1 Inductive Definitions (our meta-language for specifications)  Examples  Syntax  Semantics  Proof Trees.
1 Describing and Utilizing Constraints to Answer Queries in Data-Integration Systems Chen Li Information and Computer Science University of California,
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
1 Location-Based Services Using GSM Cell Information over Symbian OS Final Year Project LYU0301 Mok Ming Fai (mfmok1) Lee Kwok Chau (leekc1)
Page 1 Multidatabase Querying by Context Ramon Lawrence, Ken Barker Multidatabase Querying by Context.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
1/25 Pointer Logic Changki PSWLAB Pointer Logic Daniel Kroening and Ofer Strichman Decision Procedure.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
Mining Binary Constraints in the Construction of Feature Models Li Yi Peking University March 30, 2012.
Themes of Presentations Rule-based systems/expert systems (Catie) Software Engineering (Khansiri) Fuzzy Logic (Mark) Configuration Systems (Sudhan) *
Binary Decision Diagrams (BDDs)
Software School of Hunan University Database Systems Design Part III Section 5 Design Methodology.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Dimitrios Skoutas Alkis Simitsis
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
CS 363 Comparative Programming Languages Semantics.
RRXS Redundancy reducing XML storage in relations O. MERT ERKUŞ A. ONUR DOĞUÇ
1 Introduction to Software Engineering Lecture 1.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Part4 Methodology of Database Design Chapter 07- Overview of Conceptual Database Design Lu Wei College of Software and Microelectronics Northwestern Polytechnical.
Complexity of Functions with Cartesian GP and Recursion. John Woodward. School of Computer Science, The University of Birmingham, United Kingdom. 1 OVERVIEW.
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
Chapter 3 Part II Describing Syntax and Semantics.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Composition in Modeling Macromolecular Regulatory Networks Ranjit Randhawa September 9th 2007.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
Efficient Rule-Based Attribute-Oriented Induction for Data Mining Authors: Cheung et al. Graduate: Yu-Wei Su Advisor: Dr. Hsu.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
Methodology - Logical Database Design. 2 Step 2 Build and Validate Local Logical Data Model To build a local logical data model from a local conceptual.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Logical Database Design and the Rational Model
Methodology Logical Database Design for the Relational Model
Daniel Amyot and Jun Biao Yan
Propositional Calculus: Boolean Algebra and Simplification
Bo Wang1, Yingfei Xiong2, Zhenjiang Hu3, Haiyan Zhao1,
Implementing Language Extensions with Model Transformations
Resolution Proofs for Combinational Equivalence
Algorithms.
Chen Li Information and Computer Science
Design Yaodong Bi.
Implementing Language Extensions with Model Transformations
Presentation transcript:

Li Yi, APSEC ‘12 Constructing Feature Models Us­­ing a Cross-Join Merging Operator

Outline  Introduction  Definition of the Merging Operator  Implementation of the Merging Operator  An Example  Related Work  Conclusions

Background: Feature Models  In software reuse, feature models (FMs) provide an effective way to organize and reuse software artifacts in specific domains.  FMs describe commonality and variability of the products in a domain.  Given an FM, products can be configured from the FM by selecting and deselecting the features  {Mobile Phone, Call, Screen, High Resolution, Media, Camera, MP3}.

One Possible Solution Constructing a complex FM via merging of a set of simple FMs, instead of constructing from scratch. Problem  It has been observed that the FM of a complex domain often contains thousands of features  With increasingly use of FMs in practice, the construction of FMs is becoming more and more complex for developers

In this Paper  We define and implement an FM merging operator  Define Cross-Join Semantics: Output FM expresses all valid input product joined with all valid combination of unique features  Prove the correctness of implementation  Existing Semantics  Do not allow join  Do not ensure the validity of combination  Existing Implementations  No proof of correctness

Outline  Introduction  Definition of The Merging Operation  Implementation  An Example  Related Work

A Motivating Example  Merging two feature models Input FM 1Input FM 2Output FM Mobile phone with a  SD or HD screen and 0, 1, or 2 of these modules:  Wi-Fi  3G Mobile phone with a  touch or non-touch screen and 1 or 2 of these modules:  Wi-Fi  3G Mobile phone with a screen of two characteristics:  SD or HD, and  Touch or Non-Touch and 0, 1, or 2 of these modules:  Wi-Fi  3G

Definition of Cross-Join Semantics

Outline  Introduction  The Merging Operation  Requirements  Semantics  Algorithm  An Example  Related Work

The Cross-product Semantics of Merging Operation

Outline  Introduction  The Merging Operation  Requirements  Semantics  Algorithm  An Example  Related Work

Algorithm Overview Preprocessing Merge Refinements Merge Constraints Post- processing Source FMs (With Rich-Refinement) Target FM Tree Structure Unnamed New Features Target FM Tree Structure Cross-Tree Constraints Unnamed New Features Source FMs Target FM Merging Rule Library (With Named New Features)

1. Preprocess the Source FMs  Generate rich-refinements  Rich: Variability + Semantics  Semantics of refinements (based on our previous work) Car EngineLight Whole-part refinement (2 mandatory parts) Screen BasicTouch XOR General-special refinement (2 XOR specializations) House AreaHeight Entity-attribute refinement (A mandatory & an optional attributes) DecompositionSpecializationCharacterization

2. Recursively Merge Refinements Algorithm 1: Merge the tree structure New Root New Root + Common Children New Root + Common Children + Unique Children

2.1 Rules for Merging Unique Children (Sample) Decomposition + Decomposition = Decomposition Phone CallsGPSScreenMedia Phone Calls GPSScreen Media + = Specialization + Specialization Screen HRLRTouchNon-Touch Screen + = Resolution Touch-ability HRLRTouchNon-Touch Specialized mandatory characteristics = Total: 7 rules

2.2 Rules for Merging Common Children (Sample) MandatoryOptionalXorOr Mandatory Optional Or Xor Or Total: 10 rules Based on Variability (Because no difference in Semantics)

3. Merge (Binary) Constraints No.Input 1Input 2Result 1A requires B 2A excludes B 3A requires B 4A excludes B 5A requires B 6A excludes B 7A requires B 8A excludes B 9A requires B 10A requires BB requires AA requires B and B requires A 11A requires BA excludes BNo constraints between A and B 12A excludes B Total: 12 rules

4. Post-process the Target FM  FM developers should assign proper names for the attribute-features generated automatically in the merging of unique children Screen HRLRTouchNon-Touch Screen + = Attribute 1 Attribute 2 HRLRTouchNon-Touch Screen Resolution Touch-ability HRLRTouchNon-Touch

Outline  Introduction  The Merging Operation  Requirements  Semantics  Algorithm  An Example  Related Work

D D D D S S S D S DD D D D S S S S

Mobile Phone Utility FunctionsSettings Media WinCE Connectivity Calls Messaging VoiceDataSMSMMSEMS Games Java OS Symbian Camera MP3 BluetoothUSB

Outline  Introduction  The Merging Operation  Requirements  Semantics  Algorithm  An Example  Related Work

Other Semantics of Merging Operation  Union  Intersection Screen FMProducts Low ResolutionHigh Resolution XOR {Screen, LR}, {Screen, HR} Input 1 Screen Non-Touch Touch XOR {Screen, Touch}, {Screen, Non-Touch} Input 2 Comparison Example

Screen Non-Touch LR XOR {Screen, Touch}, {Screen, Non-Touch}, {Screen, LR}, {Screen, HR} Union algorithm, answer A: Touch HR Screen Non-Touch LR {Screen, Touch, Non-Touch, HR}, {Screen, Touch, HR, LR}, … Union algorithm, answer B: Touch HR Screen {Screen} Intersection algorithm: (cut-off the unique features) None of these answers is desirable. FMProducts No Combination Violate Original Constraints Missing Unique Features

Other Merging Algorithms  Direct Mapping Algorithms  The input FMs can be directly mapped into a certain part of the output FM.  Quality of the output FM in their algorithms is not satisfying  Lots of redundancies (each common feature appears at least twice in the output FM)  The constraints between the features are not clear  Other Rule-based Algorithms  Some do not merge the cross-tree constraints  Their merging operation holds the union semantics, and it is not so suitable for the scenario described in this paper.  Logic-based Algorithms  Input  Logic Formulas  Output Logic Formula  Output  Much harder to implement  The computational complexity is exponential to the size of input FMs, while our algorithm is polynomial,  Transforming a logical formula to an FM gets a mal-structured FM

Conclusions and Future Work  In this paper, we propose an algorithm to merge feature models.  Our future work focuses on getting validation of scalability and usability of our merging operation  We plan to use the operation in our collaborative feature modeling environment. For example, synthesize multiple sub- trees which refine identical features. BBSForum … …… BBS (Forum) ……

THANK YOU ! Q & A