200 likes | 411 Views
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
E N D
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 • 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
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
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
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
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
Feature Model Construction Meta-model of Feature Model ICFEM 2004, Seattle
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
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
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
Constraint Formalization (1/2) • Formalization of constraints imposed by feature model constructors. ICFEM 2004, Seattle
Constraint Formalization (2/2) • Formalization of constraints imposed by refinements. ICFEM 2004, Seattle
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
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
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
An Example • A feature model Constructor imposed constraints Refinement imposed constraints ICFEM 2004, Seattle
An example • All-Group in the feature model ICFEM 2004, Seattle
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
An example • The result of this verification is that ICFEM 2004, Seattle
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