Verification of Aspectual Composition in Feature ... - SEFM 2012
Verification of Aspectual Composition in Feature ... - SEFM 2012
Verification of Aspectual Composition in Feature ... - SEFM 2012
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang, Ridha Khedri, Jason Jaskolka<br />
{zhangq33, khedri, jaskolj}@mcmaster.ca<br />
Department <strong>of</strong> Comput<strong>in</strong>g and S<strong>of</strong>tware, McMaster University<br />
Canada L8S 4L7, Hamilton, Ontario<br />
October 3, <strong>2012</strong><br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
1 / 34
Outl<strong>in</strong>e<br />
1 Introduction and Motivation<br />
2 Aspect-Oriented Product Family Algebra (AO-PFA)<br />
3 <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA Specifications<br />
Validity Criteria <strong>of</strong> Aspect Specifications<br />
4 Conclusion and Future Work<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
2 / 34
Outl<strong>in</strong>e<br />
1 Introduction and Motivation<br />
2 Aspect-Oriented Product Family Algebra (AO-PFA)<br />
3 <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA Specifications<br />
Validity Criteria <strong>of</strong> Aspect Specifications<br />
4 Conclusion and Future Work<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
3 / 34
Product Family Eng<strong>in</strong>eer<strong>in</strong>g and <strong>Feature</strong><br />
Oriented S<strong>of</strong>tware Development (FOSD)<br />
Doma<strong>in</strong> Eng<strong>in</strong>eer<strong>in</strong>g<br />
Doma<strong>in</strong><br />
Analysis<br />
Doma<strong>in</strong><br />
Design<br />
Doma<strong>in</strong><br />
Implementation<br />
<strong>Feature</strong> Model Evolution<br />
Automatic Reason<strong>in</strong>g<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Models<br />
<strong>Feature</strong> Modules<br />
Application Eng<strong>in</strong>eer<strong>in</strong>g<br />
Product Configuration<br />
� Select & dis-select<br />
features<br />
� Obta<strong>in</strong> a complete, valid<br />
configuration.<br />
Product Generation<br />
� Compos<strong>in</strong>g feature<br />
modules accord<strong>in</strong>g to<br />
product configuration<br />
� Obta<strong>in</strong> a valid product<br />
implementation<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
4 / 34
The Framework <strong>of</strong> Our Research<br />
Doma<strong>in</strong> Eng<strong>in</strong>eer<strong>in</strong>g<br />
Doma<strong>in</strong><br />
Analysis<br />
Doma<strong>in</strong><br />
Design<br />
Doma<strong>in</strong><br />
Implementation<br />
<strong>Feature</strong> Model Evolution<br />
Automatic Reason<strong>in</strong>g<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Models<br />
<strong>Feature</strong> Modules<br />
Application Eng<strong>in</strong>eer<strong>in</strong>g<br />
Product Configuration<br />
� Select & dis-select<br />
features<br />
� Obta<strong>in</strong> a complete, valid<br />
configuration.<br />
Product Generation<br />
� Compos<strong>in</strong>g feature<br />
modules accord<strong>in</strong>g to<br />
product configuration<br />
� Obta<strong>in</strong> a valid product<br />
implementation<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
5 / 34
Our Approach at <strong>Feature</strong> Model<strong>in</strong>gs Level<br />
Formal Specification Language AO-PFA<br />
Formalism <strong>of</strong> feature models:<br />
product family algebra<br />
Paradigm for separation <strong>of</strong> concerns<br />
aspect-oriented paradigm<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
6 / 34
Our Approach at <strong>Feature</strong> Model<strong>in</strong>gs Level<br />
Formal Specification Language AO-PFA<br />
Formalism <strong>of</strong> feature models:<br />
product family algebra<br />
Paradigm for separation <strong>of</strong> concerns<br />
aspect-oriented paradigm<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
6 / 34
Our Approach at <strong>Feature</strong> Model<strong>in</strong>gs Level<br />
Formal Specification Language AO-PFA<br />
Formalism <strong>of</strong> feature models:<br />
product family algebra<br />
Paradigm for separation <strong>of</strong> concerns<br />
aspect-oriented paradigm<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
6 / 34
Our Approach at <strong>Feature</strong> Model<strong>in</strong>gs Level<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Weav<strong>in</strong>g Process<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Weaved Specification<br />
S’: PFA<br />
<strong>Aspectual</strong> composition can happen at the development<br />
and/or evolution <strong>of</strong> feature models<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
7 / 34
Our Approach at <strong>Feature</strong> Model<strong>in</strong>gs Level<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Weav<strong>in</strong>g Process<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Weaved Specification<br />
S’: PFA<br />
<strong>Aspectual</strong> composition can happen at the development<br />
and/or evolution <strong>of</strong> feature models<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
7 / 34
Objectives <strong>of</strong> This Paper<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Weav<strong>in</strong>g Process<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Weaved Specification<br />
S’: PFA<br />
Objective:<br />
Ensure the correctness <strong>of</strong> aspectual composition<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
8 / 34
Outl<strong>in</strong>e<br />
1 Introduction and Motivation<br />
2 Aspect-Oriented Product Family Algebra (AO-PFA)<br />
3 <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA Specifications<br />
Validity Criteria <strong>of</strong> Aspect Specifications<br />
4 Conclusion and Future Work<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
9 / 34
Product Family Algebra Specifications (PFA)<br />
Def<strong>in</strong>ition (Product Family Algebra)<br />
A product family algebra is a commutative idempotent<br />
semir<strong>in</strong>g (S, +, ·, 0, 1).<br />
% declarations <strong>of</strong> basic features<br />
1. bf move control<br />
2. bf light display<br />
3. bf configure<br />
% def<strong>in</strong>itions <strong>of</strong> labeled product families<br />
4. optional light display = light display+ 1 % light display is an optional feature<br />
5. optional configure = configure + 1<br />
6. base functionality = move control · light display<br />
7. optional base functionality = move control · optional light display<br />
8. full functional elevator = base functionality · configure<br />
9. elevator product l<strong>in</strong>e = optional base functionality · optional configure<br />
% a constra<strong>in</strong>t<br />
10. constra<strong>in</strong>t(configure, elevator product l<strong>in</strong>e, light display)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
10 / 34
Aspect Specification<br />
An aspect <strong>in</strong>troduces the advice to the base system at<br />
selected jo<strong>in</strong> po<strong>in</strong>ts which are specified by the po<strong>in</strong>tcut<br />
Aspect aspectId = Advice(jp)<br />
where jp ∈ � scope, expression, k<strong>in</strong>d �<br />
The po<strong>in</strong>tcut triple plays an important role when<br />
verify<strong>in</strong>g aspectual composition.<br />
scope: base, with<strong>in</strong>, cflow, union, <strong>in</strong>tersection, protect<br />
expression: Boolean<br />
k<strong>in</strong>d: declaration, <strong>in</strong>clusion, creation,<br />
component creation, equivalent component,<br />
constra<strong>in</strong>t[position list]<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
11 / 34
Aspect Specification<br />
An aspect <strong>in</strong>troduces the advice to the base system at<br />
selected jo<strong>in</strong> po<strong>in</strong>ts which are specified by the po<strong>in</strong>tcut<br />
Aspect aspectId = Advice(jp)<br />
where jp ∈ � scope, expression, k<strong>in</strong>d �<br />
The po<strong>in</strong>tcut triple plays an important role when<br />
verify<strong>in</strong>g aspectual composition.<br />
scope: base, with<strong>in</strong>, cflow, union, <strong>in</strong>tersection, protect<br />
expression: Boolean<br />
k<strong>in</strong>d: declaration, <strong>in</strong>clusion, creation,<br />
component creation, equivalent component,<br />
constra<strong>in</strong>t[position list]<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
11 / 34
Aspect Specification<br />
An aspect <strong>in</strong>troduces the advice to the base system at<br />
selected jo<strong>in</strong> po<strong>in</strong>ts which are specified by the po<strong>in</strong>tcut<br />
Aspect aspectId = Advice(jp)<br />
where jp ∈ � scope, expression, k<strong>in</strong>d �<br />
The po<strong>in</strong>tcut triple plays an important role when<br />
verify<strong>in</strong>g aspectual composition.<br />
scope: base, with<strong>in</strong>, cflow, union, <strong>in</strong>tersection, protect<br />
expression: Boolean<br />
k<strong>in</strong>d: declaration, <strong>in</strong>clusion, creation,<br />
component creation, equivalent component,<br />
constra<strong>in</strong>t[position list]<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
11 / 34
Outl<strong>in</strong>e<br />
1 Introduction and Motivation<br />
2 Aspect-Oriented Product Family Algebra (AO-PFA)<br />
3 <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA Specifications<br />
Validity Criteria <strong>of</strong> Aspect Specifications<br />
4 Conclusion and Future Work<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
12 / 34
Validity Criteria <strong>of</strong> PFA Specifications<br />
Def<strong>in</strong>ition-validity:<br />
all the labels are unambiguously def<strong>in</strong>ed<br />
construct a multi-set <strong>of</strong> labels M S<br />
Reference-validity:<br />
all referenced labels should have been def<strong>in</strong>ed<br />
construct a set <strong>of</strong> labels RS<br />
Dependency-validity:<br />
all labels are not mutually def<strong>in</strong>ed or self-def<strong>in</strong>ed<br />
construct a dependency digraph GS = (V , E)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
13 / 34
Validity Criteria <strong>of</strong> PFA Specifications<br />
Def<strong>in</strong>ition-validity:<br />
all the labels are unambiguously def<strong>in</strong>ed<br />
construct a multi-set <strong>of</strong> labels M S<br />
Reference-validity:<br />
all referenced labels should have been def<strong>in</strong>ed<br />
construct a set <strong>of</strong> labels RS<br />
Dependency-validity:<br />
all labels are not mutually def<strong>in</strong>ed or self-def<strong>in</strong>ed<br />
construct a dependency digraph GS = (V , E)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
13 / 34
Validity Criteria <strong>of</strong> PFA Specifications<br />
Def<strong>in</strong>ition-validity:<br />
all the labels are unambiguously def<strong>in</strong>ed<br />
construct a multi-set <strong>of</strong> labels M S<br />
Reference-validity:<br />
all referenced labels should have been def<strong>in</strong>ed<br />
construct a set <strong>of</strong> labels RS<br />
Dependency-validity:<br />
all labels are not mutually def<strong>in</strong>ed or self-def<strong>in</strong>ed<br />
construct a dependency digraph GS = (V , E)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
13 / 34
Validity Criteria <strong>of</strong> PFA Specifications<br />
Def<strong>in</strong>ition-validity:<br />
all the labels are unambiguously def<strong>in</strong>ed<br />
construct a multi-set <strong>of</strong> labels M S<br />
Reference-validity:<br />
all referenced labels should have been def<strong>in</strong>ed<br />
construct a set <strong>of</strong> labels RS<br />
Dependency-validity:<br />
all labels are not mutually def<strong>in</strong>ed or self-def<strong>in</strong>ed<br />
construct a dependency digraph GS = (V , E)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
13 / 34
Examples <strong>of</strong> Invalid <strong>Aspectual</strong> <strong>Composition</strong><br />
Base Specification<br />
Daw_dev= tim con· (1+wea_sen)<br />
fir_det_flow = sma_lig·sma_daw · HApp<br />
Aspect Specification<br />
Aspect jp = jp · pwd_identify<br />
where jp ∈ (base, true, <strong>in</strong>clusion(fgr))<br />
Aspect jp_new = jp · fgr<br />
where jp∈(base,true, creation(Daw_dev))<br />
Aspect jp_new = jp · (1 + fgr)<br />
where jp∈(base, true, creation(Daw_dev))<br />
Aspect jp = jp · fir_det_flow<br />
where jp ∈(base, true, <strong>in</strong>clusion(sma_lig))<br />
Weaved Specification<br />
Dew_dev_new=Dew_dev · (1 + fgr)<br />
Dew_dev_new=Dew_dev · fgr<br />
fir_det_flow= smag_lig · fir_det_flow<br />
· sma_daw · HApp<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
14 / 34
Examples <strong>of</strong> Invalid <strong>Aspectual</strong> <strong>Composition</strong><br />
Base Specification<br />
Daw_dev= tim con· (1+wea_sen)<br />
fir_det_flow = sma_lig·sma_daw · HApp<br />
Aspect Specification<br />
Aspect jp = jp · pwd_identify<br />
where jp ∈ (base, true, <strong>in</strong>clusion(fgr))<br />
Aspect jp_new = jp · fgr<br />
where jp∈(base,true, creation(Daw_dev))<br />
Aspect jp_new = jp · (1 + fgr)<br />
where jp∈(base, true, creation(Daw_dev))<br />
Aspect jp = jp · fir_det_flow<br />
where jp ∈(base, true, <strong>in</strong>clusion(sma_lig))<br />
Weaved Specification<br />
ambiguous def<strong>in</strong>ed<br />
Dew_dev_new=Dew_dev · (1 + fgr)<br />
Dew_dev_new=Dew_dev · fgr<br />
fir_det_flow= smag_lig · fir_det_flow<br />
· sma_daw · HApp<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
15 / 34
Examples <strong>of</strong> Invalid <strong>Aspectual</strong> <strong>Composition</strong><br />
Base Specification<br />
Daw_dev= tim con· (1+wea_sen)<br />
fir_det_flow = sma_lig·sma_daw · HApp<br />
Aspect Specification<br />
Aspect jp = jp · pwd_identify<br />
where jp ∈ (base, true, <strong>in</strong>clusion(fgr))<br />
Aspect jp_new = jp · fgr<br />
where jp∈(base,true, creation(Daw_dev))<br />
Aspect jp_new = jp · (1 + fgr)<br />
where jp∈(base, true, creation(Daw_dev))<br />
Aspect jp = jp · fir_det_flow<br />
where jp ∈(base, true, <strong>in</strong>clusion(sma_lig))<br />
Weaved Specification<br />
pwd_identify<br />
Dew_dev_new=Dew_dev · (1 + fgr)<br />
Dew_dev_new=Dew_dev · fgr<br />
pwd_identify<br />
fir_det_flow= smag_lig · fir_det_flow<br />
· sma_daw · HApp<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
16 / 34
Examples <strong>of</strong> Invalid <strong>Aspectual</strong> <strong>Composition</strong><br />
Base Specification<br />
Daw_dev= tim con· (1+wea_sen)<br />
fir_det_flow = sma_lig·sma_daw · HApp<br />
Aspect Specification<br />
Aspect jp = jp · pwd_identify<br />
where jp ∈ (base, true, <strong>in</strong>clusion(fgr))<br />
Aspect jp_new = jp · fgr<br />
where jp∈(base,true, creation(Daw_dev))<br />
Aspect jp_new = jp · (1 + fgr)<br />
where jp∈(base, true, creation(Daw_dev))<br />
Aspect jp = jp · fir_det_flow<br />
where jp ∈(base, true, <strong>in</strong>clusion(sma_lig))<br />
Weaved Specification<br />
Dew_dev_new=Dew_dev · (1 + fgr)<br />
Dew_dev_new=Dew_dev · fgr<br />
fir_det_flow= smag_lig · fir_det_flow<br />
· sma_daw · HApp<br />
self-def<strong>in</strong>ed<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
17 / 34
The Proposed <strong>Verification</strong> Approach<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Formalize validity<br />
criteria for the base<br />
specification<br />
(DS, RS, GS)<br />
Weav<strong>in</strong>g Process<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Our <strong>Verification</strong> Approach<br />
Weaved Specification<br />
S’: PFA<br />
Formalize validity<br />
criteria for the<br />
weaved<br />
specification<br />
(DS’, RS’, GS’)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
18 / 34
The Proposed <strong>Verification</strong> Approach<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Weav<strong>in</strong>g Process<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Our <strong>Verification</strong> Approach<br />
Formalize validity<br />
criteria for the base<br />
specification<br />
(DS, RS, GS) Formalize the<br />
effects <strong>of</strong><br />
aspectual<br />
composition<br />
Weaved Specification<br />
S’: PFA<br />
Formalize validity<br />
criteria for the<br />
weaved<br />
specification<br />
(DS’, RS’, GS’)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
19 / 34
The Proposed <strong>Verification</strong> Approach<br />
Base Specification<br />
S: PFA<br />
Aspect Specification<br />
A: AO-PFA<br />
Weav<strong>in</strong>g Process<br />
Our <strong>Verification</strong> Approach<br />
Formalize validity<br />
criteria for the base<br />
specification<br />
(DS, RS, GS) Formalize the<br />
effects <strong>of</strong><br />
aspectual<br />
composition<br />
Obta<strong>in</strong> validity<br />
criteria for the<br />
aspect specification<br />
(DA, RA, GA)<br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Weaved Specification<br />
S’: PFA<br />
Formalize validity<br />
criteria for the<br />
weaved<br />
specification<br />
(DS’, RS’, GS’)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
20 / 34
Detection <strong>of</strong> Def<strong>in</strong>ition-Invalid and<br />
Reference-Invalid Aspects<br />
Obta<strong>in</strong> DA and RA accord<strong>in</strong>g to the follow<strong>in</strong>g table.<br />
Table: The effect <strong>of</strong> an aspect<br />
k<strong>in</strong>d <strong>of</strong> po<strong>in</strong>tcut DA conta<strong>in</strong>s RA conta<strong>in</strong>s<br />
<strong>in</strong>clusion<br />
component<br />
equivalent component<br />
declaration<br />
creation<br />
component creation<br />
constra<strong>in</strong>t[list] empty set<br />
all newly <strong>in</strong>troduced labels specified by<br />
Advice(jp)<br />
all newly <strong>in</strong>troduced labels specified by<br />
Advice(jp) and all labels <strong>in</strong> aspectId 2<br />
all labels<br />
specified by<br />
Advice(jp) 1<br />
1 <strong>in</strong>clud<strong>in</strong>g the <strong>in</strong>stance <strong>of</strong> jp <strong>in</strong> the case where jp appears <strong>in</strong> Advice(jp)<br />
2 <strong>in</strong>clud<strong>in</strong>g the <strong>in</strong>stance <strong>of</strong> jp <strong>in</strong> the case where jp appears <strong>in</strong> aspectId<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
21 / 34
Detection <strong>of</strong> Def<strong>in</strong>ition-Invalid and<br />
Reference-Invalid Aspects (Cont.)<br />
For the weaved specification:<br />
• MS’ = DS ⊔ DA • RS’ = RS ∪ RA<br />
Def<strong>in</strong>ition (Def<strong>in</strong>ition-valid aspect)<br />
We say that an aspect A is def<strong>in</strong>ition-valid with regard to a<br />
specification S iff DS ∩ DA = ∅.<br />
Def<strong>in</strong>ition (Reference-valid aspect)<br />
We say that an aspect A is reference-valid with regard to a<br />
PFA specification S iff (RS ∪ RA) ⊆ (DS ∪ DA).<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
22 / 34
Detection <strong>of</strong> Def<strong>in</strong>ition-Invalid and<br />
Reference-Invalid Aspects (Cont.)<br />
For the weaved specification:<br />
• MS’ = DS ⊔ DA • RS’ = RS ∪ RA<br />
Def<strong>in</strong>ition (Def<strong>in</strong>ition-valid aspect)<br />
We say that an aspect A is def<strong>in</strong>ition-valid with regard to a<br />
specification S iff DS ∩ DA = ∅.<br />
Def<strong>in</strong>ition (Reference-valid aspect)<br />
We say that an aspect A is reference-valid with regard to a<br />
PFA specification S iff (RS ∪ RA) ⊆ (DS ∪ DA).<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
22 / 34
Detection <strong>of</strong> Def<strong>in</strong>ition-Invalid and<br />
Reference-Invalid Aspects (Cont.)<br />
For the weaved specification:<br />
• MS’ = DS ⊔ DA • RS’ = RS ∪ RA<br />
Def<strong>in</strong>ition (Def<strong>in</strong>ition-valid aspect)<br />
We say that an aspect A is def<strong>in</strong>ition-valid with regard to a<br />
specification S iff DS ∩ DA = ∅.<br />
Def<strong>in</strong>ition (Reference-valid aspect)<br />
We say that an aspect A is reference-valid with regard to a<br />
PFA specification S iff (RS ∪ RA) ⊆ (DS ∪ DA).<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
22 / 34
Detection <strong>of</strong> Dependency-Invalid Aspects<br />
For the weaved specification:<br />
• GS’ = (V , (ES ∪ E addA) − E delA) where V ⊆ DS’<br />
The dependency digraph should be loop- and cyclefree.<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
23 / 34
Detection <strong>of</strong> Dependency-Invalid Aspects<br />
For the weaved specification:<br />
• GS’ = (V , (ES ∪ E addA) − E delA) where V ⊆ DS’<br />
The dependency digraph should be loop- and cyclefree.<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
23 / 34
Detection <strong>of</strong> Dependency-Invalid Aspects<br />
For the weaved specification:<br />
• GS’ = (V , (ES ∪ E addA) − E delA) where V ⊆ DS’<br />
The dependency digraph should be loop- and cyclefree.<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
24 / 34
Detection <strong>of</strong> Dependency-Invalid Aspects<br />
For the weaved specification:<br />
• GS’ = (V , (ES ∪ E addA) − E delA) where V ⊆ DS’<br />
The dependency digraph should be loop- and cyclefree.<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
25 / 34
Detection <strong>of</strong> Dependency-Invalid Aspects<br />
For the weaved specification:<br />
• GS’ = (V , (ES ∪ E addA) − E delA) where V ⊆ DS’<br />
The dependency digraph should be loop- and cyclefree.<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
26 / 34
Detection <strong>of</strong> Dependency-Invalid Aspect (Cont.)<br />
proposition. (Po<strong>in</strong>tcut K<strong>in</strong>d Condition)<br />
An aspect A is dependency-valid w.r.t. a valid PFA<br />
specification S if the k<strong>in</strong>d <strong>of</strong> po<strong>in</strong>tcut <strong>of</strong> A is<br />
“constra<strong>in</strong>t[list]”.<br />
Let k denote the vertex specified by the k<strong>in</strong>d po<strong>in</strong>tcut<br />
proposition. (Non-cycle Condition)<br />
If an aspect A does not satisfy the po<strong>in</strong>tcut k<strong>in</strong>d condition,<br />
A is dependency-valid w.r.t. a valid PFA specification S if<br />
∀(x | x ∈ DS ∩ RA : Walk(k, x) = ∅ ).<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
27 / 34
Detection <strong>of</strong> Dependency-Invalid Aspect (Cont.)<br />
proposition. (Po<strong>in</strong>tcut K<strong>in</strong>d Condition)<br />
An aspect A is dependency-valid w.r.t. a valid PFA<br />
specification S if the k<strong>in</strong>d <strong>of</strong> po<strong>in</strong>tcut <strong>of</strong> A is<br />
“constra<strong>in</strong>t[list]”.<br />
Let k denote the vertex specified by the k<strong>in</strong>d po<strong>in</strong>tcut<br />
proposition. (Non-cycle Condition)<br />
If an aspect A does not satisfy the po<strong>in</strong>tcut k<strong>in</strong>d condition,<br />
A is dependency-valid w.r.t. a valid PFA specification S if<br />
∀(x | x ∈ DS ∩ RA : Walk(k, x) = ∅ ).<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
27 / 34
Detection <strong>of</strong> Dependency-Invalid Aspect (Cont.)<br />
Let s denote the vertex specified by the scope po<strong>in</strong>tcut<br />
Let a denote the vertex that <strong>in</strong>validates the Non-cycle<br />
condition.<br />
proposition. (Dependency-<strong>in</strong>valid aspect)<br />
The aspect A is dependency-<strong>in</strong>valid w.r.t. a valid PFA<br />
specification S if the follow<strong>in</strong>g predicate Dep <strong>in</strong>valid(ts) is<br />
true.<br />
⎧<br />
true if ts is base<br />
s ∈ Walk(k, a) ∧ s �= k if ts is with<strong>in</strong><br />
⎪⎨<br />
s ∈ Walk(k, a) ∧ s �= k ∧ s �= a if ts is cflow<br />
Dep <strong>in</strong>valid(ts) ↔def<br />
Dep <strong>in</strong>valid(ts1) ∨ Dep <strong>in</strong>valid(ts2) if ts is (ts1 : ts2)<br />
⎪⎩<br />
Dep <strong>in</strong>valid(ts1) ∧ Dep <strong>in</strong>valid(ts2) if ts is (ts1 ; ts2)<br />
where ts represents the type <strong>of</strong> the k<strong>in</strong>d po<strong>in</strong>tcut.<br />
¬Dep <strong>in</strong>valid(ts ′ ) if ts is protect(ts ′ )<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
28 / 34
Benefits <strong>of</strong> the <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong> <strong>Feature</strong> Model<strong>in</strong>g<br />
Enable automatic reason<strong>in</strong>g on large-scale feature<br />
models<br />
The verification ensures the correctness <strong>of</strong> the<br />
composition <strong>of</strong> smaller feature models<br />
Evolve feature models <strong>in</strong> a systematic way<br />
The verification allows to modify the orig<strong>in</strong>al feature<br />
models without error<br />
Detect <strong>in</strong>correct feature composition by aspectual<br />
composition.<br />
<strong>in</strong>correct composition scope<br />
<strong>in</strong>correct feature model specification<br />
Detect potential feature <strong>in</strong>teraction by aspectual<br />
composition.<br />
<strong>in</strong>correct composition order<br />
ambiguous def<strong>in</strong>itions <strong>of</strong> product families<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
29 / 34
Benefits <strong>of</strong> the <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong> <strong>Feature</strong> Model<strong>in</strong>g<br />
Enable automatic reason<strong>in</strong>g on large-scale feature<br />
models<br />
The verification ensures the correctness <strong>of</strong> the<br />
composition <strong>of</strong> smaller feature models<br />
Evolve feature models <strong>in</strong> a systematic way<br />
The verification allows to modify the orig<strong>in</strong>al feature<br />
models without error<br />
Detect <strong>in</strong>correct feature composition by aspectual<br />
composition.<br />
<strong>in</strong>correct composition scope<br />
<strong>in</strong>correct feature model specification<br />
Detect potential feature <strong>in</strong>teraction by aspectual<br />
composition.<br />
<strong>in</strong>correct composition order<br />
ambiguous def<strong>in</strong>itions <strong>of</strong> product families<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
29 / 34
Benefits <strong>of</strong> the <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong> <strong>Feature</strong> Model<strong>in</strong>g<br />
Enable automatic reason<strong>in</strong>g on large-scale feature<br />
models<br />
The verification ensures the correctness <strong>of</strong> the<br />
composition <strong>of</strong> smaller feature models<br />
Evolve feature models <strong>in</strong> a systematic way<br />
The verification allows to modify the orig<strong>in</strong>al feature<br />
models without error<br />
Detect <strong>in</strong>correct feature composition by aspectual<br />
composition.<br />
<strong>in</strong>correct composition scope<br />
<strong>in</strong>correct feature model specification<br />
Detect potential feature <strong>in</strong>teraction by aspectual<br />
composition.<br />
<strong>in</strong>correct composition order<br />
ambiguous def<strong>in</strong>itions <strong>of</strong> product families<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
29 / 34
Benefits <strong>of</strong> the <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong> <strong>Feature</strong> Model<strong>in</strong>g<br />
Enable automatic reason<strong>in</strong>g on large-scale feature<br />
models<br />
The verification ensures the correctness <strong>of</strong> the<br />
composition <strong>of</strong> smaller feature models<br />
Evolve feature models <strong>in</strong> a systematic way<br />
The verification allows to modify the orig<strong>in</strong>al feature<br />
models without error<br />
Detect <strong>in</strong>correct feature composition by aspectual<br />
composition.<br />
<strong>in</strong>correct composition scope<br />
<strong>in</strong>correct feature model specification<br />
Detect potential feature <strong>in</strong>teraction by aspectual<br />
composition.<br />
<strong>in</strong>correct composition order<br />
ambiguous def<strong>in</strong>itions <strong>of</strong> product families<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
29 / 34
Benefits <strong>of</strong> the <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong> <strong>Feature</strong> Model<strong>in</strong>g<br />
Enable automatic reason<strong>in</strong>g on large-scale feature<br />
models<br />
The verification ensures the correctness <strong>of</strong> the<br />
composition <strong>of</strong> smaller feature models<br />
Evolve feature models <strong>in</strong> a systematic way<br />
The verification allows to modify the orig<strong>in</strong>al feature<br />
models without error<br />
Detect <strong>in</strong>correct feature composition by aspectual<br />
composition.<br />
<strong>in</strong>correct composition scope<br />
<strong>in</strong>correct feature model specification<br />
Detect potential feature <strong>in</strong>teraction by aspectual<br />
composition.<br />
<strong>in</strong>correct composition order<br />
ambiguous def<strong>in</strong>itions <strong>of</strong> product families<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA<br />
Specifications<br />
Validity Criteria <strong>of</strong><br />
Aspect Specifications<br />
Conclusion and<br />
Future Work<br />
29 / 34
Outl<strong>in</strong>e<br />
1 Introduction and Motivation<br />
2 Aspect-Oriented Product Family Algebra (AO-PFA)<br />
3 <strong>Verification</strong> <strong>of</strong> <strong>Aspectual</strong> <strong>Composition</strong><br />
Validity Criteria <strong>of</strong> PFA Specifications<br />
Validity Criteria <strong>of</strong> Aspect Specifications<br />
4 Conclusion and Future Work<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
30 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Future Work<br />
Doma<strong>in</strong> Eng<strong>in</strong>eer<strong>in</strong>g<br />
Doma<strong>in</strong><br />
Analysis<br />
Doma<strong>in</strong><br />
Design<br />
Doma<strong>in</strong><br />
Implementation<br />
<strong>Feature</strong> Model Evolution<br />
Automatic Reason<strong>in</strong>g<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Models<br />
<strong>Feature</strong> Modules<br />
Application Eng<strong>in</strong>eer<strong>in</strong>g<br />
Product Configuration<br />
� Select & dis-select<br />
features<br />
� Obta<strong>in</strong> a complete, valid<br />
configuration.<br />
Product Generation<br />
� Compos<strong>in</strong>g feature<br />
modules accord<strong>in</strong>g to<br />
product configuration<br />
� Obta<strong>in</strong> a valid product<br />
implementation<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
32 / 34
Future Work<br />
Doma<strong>in</strong> Eng<strong>in</strong>eer<strong>in</strong>g<br />
Doma<strong>in</strong><br />
Analysis<br />
Doma<strong>in</strong><br />
Design<br />
Doma<strong>in</strong><br />
Implementation<br />
<strong>Feature</strong> Model Evolution<br />
Automatic Reason<strong>in</strong>g<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> Interaction<br />
<strong>Feature</strong> <strong>Composition</strong><br />
<strong>Feature</strong> Models<br />
<strong>Feature</strong> Modules<br />
Application Eng<strong>in</strong>eer<strong>in</strong>g<br />
Product Configuration<br />
� Select & dis-select<br />
features<br />
� Obta<strong>in</strong> a complete, valid<br />
configuration.<br />
Product Generation<br />
� Compos<strong>in</strong>g feature<br />
modules accord<strong>in</strong>g to<br />
product configuration<br />
� Obta<strong>in</strong> a valid product<br />
implementation<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
33 / 34
Conclusion and Future Work<br />
Related Work<br />
Formal <strong>Composition</strong> and <strong>Verification</strong> for <strong>Feature</strong><br />
Models<br />
Acher et al. (2010), Marko Boˇsković et al. (2011)<br />
Detection <strong>of</strong> potential problems at early stages<br />
Chitchyan et al. (2005), S. Katz et al. (2005)<br />
Future Work<br />
Automat<strong>in</strong>g the aspectual composition and verification:<br />
Implement the proposed def<strong>in</strong>itions and propositions<br />
and use a term rewrit<strong>in</strong>g system<br />
To <strong>in</strong>troduce aspects <strong>in</strong>to f<strong>in</strong>er granularity <strong>of</strong> features:<br />
“Supplement<strong>in</strong>g product families with behaviour”,<br />
International Journal <strong>of</strong> Informatics (2011), pp.<br />
245–266<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
31 / 34
Thank You!<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong> <strong>in</strong><br />
<strong>Feature</strong>-Model<strong>in</strong>g<br />
Q<strong>in</strong>glei Zhang<br />
Introduction and<br />
Motivation<br />
Aspect-Oriented<br />
Product Family<br />
Algebra (AO-PFA)<br />
<strong>Verification</strong> <strong>of</strong><br />
<strong>Aspectual</strong><br />
<strong>Composition</strong><br />
Conclusion and<br />
Future Work<br />
34 / 34