19.01.2013 Views

Verification of Aspectual Composition in Feature ... - SEFM 2012

Verification of Aspectual Composition in Feature ... - SEFM 2012

Verification of Aspectual Composition in Feature ... - SEFM 2012

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!