1 / 20

A Propositional Logic-Based Method for Verification of Feature Models

A Propositional Logic-Based Method for Verification of Feature Models. Wei Zhang, Haiyan Zhao , Hong Mei Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China. Background. Software reuse by customization

carrington
Download Presentation

A Propositional Logic-Based Method for Verification of Feature Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Propositional Logic-Based Method for Verification of Feature Models Wei Zhang, Haiyan Zhao, Hong Mei Institute of Software, School of Electronics Engineering and Computer Science, Peking University, Beijing, 100871, China

  2. Background • Software reuse by customization • Phase 1: Produce reusable software artifacts. • Phase 2: Customize these artifacts to accommodate different reuse context. • Feature-oriented approaches to improve the customization of the problem space of software • Elements in these artifacts be cohesive enough • Dependencies between elements be specified clearly ICFEM 2004, Seattle

  3. Use features and relationships between features (feature model) to specify the problem space. Problem space Feature Relationships between features Feature-oriented view of the problem space Feature-Oriented Approaches • Treat features as the basic entities in the problem space • A feature describes a software characteristic from user or customer views, • A feature essentially consists of a cohesive set of individual requirements. ICFEM 2004, Seattle

  4. Customizing resolutions at binding-time 1 Partially Customized Feature Model 1 Customizing resolutions at binding-time 2 Partially Customized Feature Model 2 Customizing resolutions at binding-time N Partially Customized Feature Model N Customizing resolutions at binding-time N+1 Feature-Oriented Approaches • The reuse process The Domain Feature Model Customization The Application Feature Model ICFEM 2004, Seattle

  5. The Problem • Lack formal support to verify partially customized feature models. • Lead to the results: • The difficulty of customization is increased • The cost of constraint modeling and maintenance is increased How to address? ICFEM 2004, Seattle

  6. Formal Verification of Feature Models • Overview of the Process 1. Feature Model 4. SUS Verification Construction Criteria Application 2. Constraint - 5. Tailoring & 3. Constraint Simplification Formalization Binding ICFEM 2004, Seattle

  7. Feature Model Construction Meta-model of Feature Model ICFEM 2004, Seattle

  8. Feature Model Construction • Feature Models = Features + Relationships • The Binding-State of Features • Bound • Removed • Undecided • The Binding-Time of Features • A phase in the software life-cycle when a feature should either be bound to or removed form the current feature model. • Two Kinds of Relationships • Refinements • Constraints ICFEM 2004, Seattle

  9. Refinements Feature model construction • Decomposition • Detailization • Specialization Whole Edit decomposition Paste Delete Copy Part Entity Graph-Move detailization Behavior Attribute Moving-Mode Moving-Constraint specialization specialization Outline-Moving Content-Moving Horizontal Vertical ICFEM 2004, Seattle

  10. An Example : A require E, Cexclude F , Mutex - Group (A, B, C), single - bound (A, B, C) require D. Constraints Feature model construction • Basic constraints • require, mutual require • exclude • Group constraints • Mutex-Group • None-Group • All-Group • Binding predicates: • single-bound • multiple-bound • all-bound • Composite constraints • (multiple/all/single)-bound + require/exclude ICFEM 2004, Seattle

  11. Constraint Formalization (1/2) • Formalization of constraints imposed by feature model constructors. ICFEM 2004, Seattle

  12. Constraint Formalization (2/2) • Formalization of constraints imposed by refinements. ICFEM 2004, Seattle

  13. Constraint Simplification • 1.Find All-Group constraints in constraints imposed by refinements. • 2.Designate each All-Group constraint with a new name. • 3.If a feature in a All-Group constraint also involved in other constraints, then replacing the feature with the new name associated with the All-Group constraint. AS1 := All-Group(parent, mc-1, mc-n) Multiple-Bound(oc-1, oc-m) AS1 All-Group(parent, mc-1, mc-n), Multiple-Bound(oc-1, oc-m)  parent. AS2 := All-Group(a, b, c, f, g) AS3 := All-Group(d, h, i) Multiple-Bound(AS3, e) AS2, j AS3. All-Group(a, b, c, f, g), All-Group(d, h, i), Multiple-Bound(d, e) a, j  d. The essence of constraint simplification is to treat all features in a All-Group constraint as a whole (as an atomic entity in customization). The result is that the number of constraints is decreased and the number of variables involved in constraints is decreased, ICFEM 2004, Seattle

  14. bound undecided removed tailoring action The SUSVerification Criteria (1/2) • Features in a feature model can be partitioned into three sets according to their binding-states. • BFSet = { f | f.binding-state = bound }; • UFSet = { f | f.binding-state = undecided }; • RFSet = { f | f.binding-state = removed }; • A binding resolution describes whether to bind an undecided feature or to remove it. binding action ICFEM 2004, Seattle

  15. The SUSVerification Criteria (2/2) • {C1, C2, ..., Cn} is the set of logic sentences capturing all constraints in a feature model. • UFSet-I denotes the set of all possible interpretations of the proposition symbols in UFSet. • The SUS verification criteria • Satisfiability: • I UFSet-I, I |= i=1,..., n Ci • Usability: • f UFSet, I UFSet-I, I |= (i=1,..., n Ci ) f • Suitability: • f UFSet, I UFSet-I, I |= (i=1,..., n Ci ) ( f ) ICFEM 2004, Seattle

  16. An Example • A feature model Constructor imposed constraints Refinement imposed constraints ICFEM 2004, Seattle

  17. An example • All-Group in the feature model ICFEM 2004, Seattle

  18. An example • Input Files to the Model Checker SMV MODULE main VAR as :boolean; as :boolean; 0 1 as :boolean; as :boolean; 2 3 as :boolean; as :boolean; 4 5 as :boolean; 6 This input is used to check the ASSIGN Satisfiability of constraints. //empty This input is used to check the // as = 1; Usability of . as i i // as = 0; This input is used to check the i . SPEC Suitability of as i AG !( ( as < - > ( as | as ))& 0 1 2 ( as < - > ( as | as ))& 4 5 6 Refinement imposed constraints ( as - > as )& 4 0 ( as - > as )& 3 2 ( as - > ! as ) & 1 2 ( as - > ! as ) & 5 6 ( as - > as ) & Constructor imposed constraints 0 6 ( as - > ! as ) & 6 3 ( as - > ! as ) 1 3 ) ICFEM 2004, Seattle

  19. An example • The result of this verification is that ICFEM 2004, Seattle

  20. Conclusion • Propose a formal method to verify the partially customized feature model • Integrate the verification with binding times • Propositional logic • Improve the customization in simplicity and efficiency ICFEM 2004, Seattle

More Related