Intelligent Techniques for Software Product Line Engineering

32
Univ.-Prof. DI Dr. Alexander Felfernig Institute for Software Technology 1 Intelligent Techniques for Software Product Line Engineering 2 nd International Workshop on Formal Methods and Analysis in Software Product Line Engineering Univ.-Prof. DI Dr. Alexander Felfernig Institute for Software Technology Graz University of Technology, Austria alexander.felfernig@ist.tugraz.at

Transcript of Intelligent Techniques for Software Product Line Engineering

Page 1: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

1

Intelligent Techniques forSoftware Product Line Engineering

2nd International Workshop on Formal Methods and Analysis in Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software TechnologyGraz University of Technology, Austria

[email protected]

Page 2: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

2

Research @ ASE @ IST @ TU Graz

IntelligentSystems

SoftwareEngineering

DecisionTechnologies

Recommendation & Decision Technologiesfor Requirements Engineering

Persuasive Technologiesfor Software Development

Recommendation Technologies forComplex Products & Services

Consumer Behavior & DecisionModeling for Recommender Systems

Recommender Systems in AAL

Intelligent Assistance forManaging Complex

Constraint Sets

Book:„Configuration Systems in Practice“

Research

Page 3: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

3

Intelligent Systems• Applied AI: Systems solving problems by simulating

intelligent behavior. [Russel and Norvig, 2003]

• Specific Type: Constraint-based Systems. [Freuder 1997]

• Examples:

Motivation

Planung• Produktion• Ressourcen• Software

Releases

Empfehlung• Finanzdienst-

leistungen• Consumer

Electronics• e-Tourism

Konfiguration• Automotive• Finanzdienst-

leistungen• SW Produktlinien

• Application: CRM, Online Selling, Call Center, Corporate Memory,Company Web, Project Management

Planning- Production- Resources- Software

Releases

Recommendation- Financial Services- Consumer Electronics- e-Tourism

Configuration- Automotive- Financial Services- Software Product

Lines

Page 4: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

4

Example: Car Configuration

Variables: V = {v1, v2, …, vn}

Domains: D = {d1, d2, …, dn}, dj=dom(vj)

Product Knowledge: CKB = {c1, c2, …, cq}Customer Requirements: CR = {cq+1, cq+2, …, cs}

Configuration Task

V = {type, pdc, fuel, skibag, 4-wheel, color}

D = {dom(type)={city, limo, combi, xdrive}, dom(pdc)={yes, no}, dom(fuel)={1.7, 2.6, 4.2}, dom(skibag)={yes, no}, dom(4-wheel) = {yes, no}, dom(color)={red, blue, gray, black}}

CKB = {c1: 4-wheel = yes → type = xdrive, c2: skibag = yes → type ≠ city,c3: fuel = 1.7 → type =city,c4: fuel = 2.6 → type ≠ xdrive,c5: type = combi → skibag = yes,c6: type = limo → pdc = yes}

CR = {c7:type=city, c8:fuel=1.7, c9:4-wheel=no,c10: pdc=yes, c11: color=black}

Constraint Solver(Configurator)

Consistency CheckCompletionExplanation

Solution (Consistent Configuration)

S={v1=a1, v2=a2, …, vn=an}, aj dom(vj)S={type=city, fuel=1.7, 4-wheel=no,

pdc=yes, color=black}

Motivation

Page 5: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

5

Example: Feature Set Configuration

Motivation

V = {Phone, Calls, GPS, Screen, Media, Basic, Colour, HighRes, Camera, MP3}

D = {dom(Phone)=dom(Calls)= … = dom(MP3)={yes,no}}

CKB = {c1: Phone = yes, c2: Phone = yes Calls = yes,c3: GPS = yes Phone = yes, c4: Phone = yes Screen = yes,c5: Media = yes Phone = yes, c6: ¬(GPS=yes Basic = yes),c7: Basic=yes Colour = no HighRes=no, c8: Colour=yes Basic = no HighRes=no, c9: HighRes=yes Colour = no Basic=noc10: Camera = yes HighRes = yes, c11: Camera = yes Media = yes, c12: MP3 = yes Media = yes, …}

CR = {c13: GPS=yes,c14: Camera = yes}

S = {Phone=yes, Calls=yes, GPS=yes, Screen=yes, Media=yes, Basic=no, Colour=no, HighRes=yes, Camera=yes, MP3=no}

[Benavides et al. 2010]

Page 6: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

6

Why Configuration Technologies?

Weniger Fehler

Schnellere Antwortzeiten

Vorinformierte Kunden

Corporate Memory Gesteigertes

Vertrauen

Motivation

[Felfernig and Kiener 2005][Felfernig et al. 2006]

alternate.de

wuestenrot.at

LessErrors(e.g., incompatible components)

FasterResponseTimes(e.g., immediatefeedback forcustomer/user)

Pre-informed Customers(knowledge about product/service)

CorporateMemory(standard levelof service)

IncreasedTrust(explanations)

Page 7: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

7

Motivation

2. Debuggingthe

Knowledge Base

1. Modeling the Knowledge

Base

3. Supporting the

User

Goal of this Presentation

Provide answers to the following questions:• How to develop constraint-based systems efficiently?• How to improve the quality of the underlying user interfaces?

Important Aspects:

Page 8: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

8

Modeling

2. DebuggingKnowledge Bases

1. ModelingKnowledge Bases

3. Supporting the User

Challenge: Knowledge representation languages have to be understandable (CSP, DCSP, GCSP)

[Mittal and Falkenhainer 1990], [Fleischanderl et al. 1998]

Approach: Domain-specific modeling concepts[Felfernig et al. 2000, 2003, 2006, 2007]

Motivation • Modeling

Result (among others): Integration to commercial environment

[Felfernig et al. 2006]

Page 9: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

9

UML-based Modeling

• UML Profile (Configuration)• „Well-formedness“ Rules• OCL Parser• Context-sensitive Interface• Automated Generation

A. Felfernig. Standardized ConfigurationKnowledge Representations as Tech-nological Foundation for Mass Customi-zation, IEEE Transactions on Engi-neering Mgmt., 54(1), pp. 41-56, 2007.

Motivation • Modeling

Page 10: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

10

ConfigWorks Environment

A. Felfernig, G. Friedrich, D. Jannach, and M. Zanker.An Integrated Environment for the Development of Knowledge-based Recommender Applications, Intl. Journal of ElectronicCommerce (IJEC), 11(2):11-34, 2006.

Applications

Testing & Debugging

Product Properties

Questions to Customer

Dialog Modeling

Constraints

Motivation • Modeling

Page 11: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

11

Example: Generated Application

Motivation • Modeling

A. Felfernig and A. Kiener, Knowledge-basedInteractive Selling of Financial Services with FSAd-visor, 17th Innovative Applications of ArtificialIntelligence Conference (IAAI05). Pittsburgh, Penn-sylvania: AAAI Press, pp. 1475–1482, 2005.

Page 12: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

12

Debugging

2. DebuggingKnowledge Bases

1. Modeling Knowledge Bases

3. Supporting the User

Challenge: Complex knowledge bases with frequent maintenance steps [Barker et al. 1989], [Fleischanderl 2002], [Felfernig et al. 2007]

Approach: Automated Debugging of Knowledge Bases[Felfernig et al. 2004, 2006]

Motivation • Modeling • Debugging

Result: Prototypical integration to commercial environment

[Felfernig et al. 2006]

Page 13: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

13

Study @TUGraz: Are we able to identify faulty constraints in a knowledge base?

• Course (2010): Advanced Topics in AI

• #Participants: 14 Students(21% fem., 79% male.)

• #Constraints: 10 (binary)• #Variables: 10 (domain size: 3)• Goal: Conflicts & Diagnosis

Further Study: A. Felfernig, Reducing Developmentand Maintenance Efforts for Web-based RecommenderApplications, International Journal of Web Engi-neering and Technology, 3(3), pp. 329-351, 2007.

A1 A2 B1 B2 C1 C22/2 3/2 2/3 3/3 2/6 3/6

Knowledge Bases: #Conflicts/Cardinality(Conflicts)

Motivation • Modeling • Debugging

Page 14: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

14

Scenario: Inconsistency in Testing

Scenario: ti T = {t1, …, tt}: inconsistent (CKB ti) Conflict Set (CS): CS CKB s.t. ti T: inconsistent (CS ti)Minimal (CS): ¬CS‘ s.t. CS‘ CSExplanation (): CKB: (CKB - ) ti consistent ti TMinimal (): ¬‘ s.t. ‘

c1 c2 c3 … cq

Should Be: Test cases acceptedBut: some not accepted

1 2 d

t1 t2 t3 … tt

A. Felfernig, G. Friedrich, D. Jannach, and M. Stumpt-ner, Consistency-based Diagnosis of configuration know-ledge bases, AI Journal, 152(2):213–234, 2004.

Motivation • Modeling • Debugging

R. Reiter. A theory of diagnosisfrom first principles, AI Journal,23(1):57–95, 1987.

CKB

T

Example:c1:x>yc2:y=2t1:x=2

CS:{c1,c2}1:{c1}

Page 15: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

15

Scenario: Redandant Constraints

Scenario: Redundant (CKB)Conflict Set (CS): CS CKB: CS ¬CKB inconsistentMinimal (CS): ¬CS‘ s.t. CS‘ CS

c1 c2 c3 … cqShould Be: Not redundant

But: Redundancy existsCKB

A. Felfernig, C. Zehentner, and P. Blazek. CoreDiag:Eliminating Redundancy in Constraint Sets, 22ndInternational Workshop on Principles of Diagnosis,Munich, Germany, to appear, 2011.

A constraint ci is called redundant iff CKB – {ci} ╞ ci. If this condition is not fulfilled, ci is said to be non-redundant.

U. Junker. QuickXplain: Preferredexplanations and relaxations for over-constrained problems. AAAI‘04, pp:167–172, San Jose, CA, 2004.

Motivation • Modeling • Debugging

Configuration Benchmarks Most knowledge bases are redundant!

Page 16: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

16

ConfigWorks Debugging Environment

Motivation • Modeling • Debugging

Debugging

Regression Testing FaultyConstraint

A. Felfernig, G. Friedrich, D. Jannach, and M. Zanker.An Integrated Environment for the Development ofKnowledge-based Recommender Applications, Intl. Journalof Electronic Commerce (IJEC), 11(2):11-34, 2006.

Page 17: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

17

User Support

2. DebuggingKnowledge Bases

1. ModelingKnowledge Bases

3. Supportingthe User

Challenge: Interaction support has potential for improvement,for example, „no solution could be found“

[Felfernig et al. 2004]

Approach: Explanations show the path to the solution[Felfernig et al. 2006, 2009, 2011]

Motivation • Modeling • Debugging • User Support

Result: Integration in commercial applicationsAlgorithmic improvements (FastDiag)

[Felfernig et al. 2006, 2009, 2011]

Page 18: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

18

Scenario: Inconsistent Requirements

Scenario: Inconsistent (CKB CR)Conflict Set (CS): CS CR: CS CKB inconsistentMinimal (CS): ¬CS‘ s.t. CS‘ CSExplanation (): CR: CKB (CR - ) consistentMinimal (): ¬‘ s.t. ‘

c1 c2 c3 … cq

Should Be: Consistent RequirementsBut: Requirements inconsistent

1 2 d

cq+1 cq+2 cq+3 … cs

Motivation • Modeling • Debugging • User Support

CKB

CR

A. Felfernig, G. Friedrich, D. Jannach, and M. Stumpt-ner, Consistency-based Diagnosis of configuration know-ledge bases, AI Journal, 152(2):213–234, 2004.

R. Reiter. A theory of diagnosisfrom first principles, AI Journal,23(1):57–95, 1987.

1234…d

?

Page 19: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

19

x

Determining Explanations (CR)• Minimal Cardinality Explanations [Reiter 1987]

• Explanations with high Probability [DeKleer 1990]

• Utility-based Explanations [Jannach and Liegl 2006]

• Corrective Explanations [O‘Sullivan et al. 2005]

• Representative Explanations [O‘Sullivan et al. 2007]

• kNN-based Explanations [Felfernig et al. 2009]

• Ensemble-based Explanations [Felfernig et al. 2011]

A. Felfernig, M. Schubert, and C. Zehentner. An Efficient Diagnosis Algorithm forInconsistent Constraint Sets, AI for Engineering Design, Analysis, and Manufacturing(AIEDAM), Cambridge University Press, 25(2):175—184, 2011.

► Existing Approaches: good prediction quality but inefficient.► FastDiag: Efficient determination of preferred explanations.

Motivation • Modeling • Debugging • User Support

Page 20: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

20

FastDiag: Preferred ExplanationsCKB = {c1: 4-wheel = yes → type = xdrive,

c2: skibag = yes → type ≠ city,c3: fuel = 1.7 → type =city,c4: fuel = 2.6 → type ≠ xdrive,c5: type = combi → skibag = yes,c6: type = limo → pdc = yes}

CR = {c7:type = limo, c8:fuel = 1.7, c9:4-wheel = yes,c10: pdc = no, c11: color = black}

c11 c10 c9 c8 c7 inconsistent!

c11 c10 c9 c8 c7 1

c11 c10 c9 c8 c7 2

c11 c10 c9 c8 c7 3

important unimportant

[Felfernig et al. 2011]

Motivation • Modeling • Debugging • User Support

Explanation:1={c7, c8}

Lexicographical Ordering!

Page 21: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

21

FastDiag: Example

[Felfernig et al. 2011]

c7 c8 c9 c10 c11

CR Stack

c7 c8 c9 c10 c11

c7 c8 c9 c10 c11

c7 c8 c9 c10 c11

c7 c8 c9 c10 c11

c7 c9 c10 c11

c7 c10 c11

c11c7 c10

c7 c11

Conflict Sets:{c7, c8}{c7, c9}{c7, c10}{c8, c9}

Principle: „divide and conquer“

Motivation • Modeling • Debugging • User Support

Explanation:3={c8, c9, c10}

Page 22: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

22

FastDiag: Runtimes (msec)

[Felfernig et al. 2011]

Renault Knowledge Base (Configuration Benchmark)

cLib, IntelR CoreTM2 QuadCPU Q9400 mit 2.66GHz

und 2GB RAM

Motivation • Modeling • Debugging • User Support

Page 23: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

23

FastDiag: Precision

Methode N=1 N=3 N=5breadth-first 0.12 0.39 0.62utility-based 0.17 0.48 0.74

similarity-based 0.17 0.49 0.73probability-based 0.15 0.47 0.74ensemble-based 0.17 0.50 0.76

fastdiag 0.18 0.54 0.70

[Felfernig et al. 2011] – Dataset: Financial Services.

avg. #diagnoses: 19.42std.dev.: 4.51

Motivation • Modeling • Debugging • User Support

Page 24: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

24

Research IssuesUnderstandability Cognitive Psychology (CP)Complexity metrics Software Engineering + CPRefactoring rules Knowledge Engineering + CPPersonalized Explanations Machine Learning (ML) +

Recommender Systems (RS)Intelligent Navigation Support ML + RSIntelligent Maintenance Support ML + RS

User 4 would receive a recommendation for f4 (since the majority of nearest neighbors looked at f4).

Motivation • Modeling • Debugging • User Support • Research Issues

A. Falkner, A. Felfernig, and A. Haag. Recommendation Technologies for ConfigurableProducts, AI Magazine, AAAI, to appear, Fall 2011.

Page 25: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

25

Summary• Constraint-based systems are very popular (e.g., CRM, Online

Selling, Call Center, Project Management, Software Engineering)

• Challenge: large & complex knowledge bases

• Basis for efficient development processes:• domain-specific modeling languages• automated (personalized) debugging techniques

• Efficient user interaction on the basis of preferred explanations

• Future research focus: human-centered interaction with complex knowledge spaces.

Motivation • Modeling • Debugging • User Support • Summary

Page 26: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

26

Questions?

Page 27: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

27

References (1)A. Felfernig, G. Friedrich, D. Jannach, and M. Zanker, An Integrated

Environment for the Development of Knowledge-based Recommender Applications, International Journal of Electronic Commerce (IJEC), 11(2):11-34, 2006.

S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach (2nd ed.), Prentice Hall, 2003.

E. Freuder. In the pursuit of the holy grail, Constraints: An International Journal, 2:57–61, 1997.

D. Benavides, S. Segura, A. Cortés: Automated analysis of feature models 20 years later: A literature review. Inf. Syst. 35(6): 615-636, 2010.

A. Felfernig and A. Kiener, Knowledge-based Interactive Selling of Financial Services with FSAdvisor, 17th Innovative Applications of Artificial Intelligence Conference (IAAI05). Pittsburgh, Pennsylvania: AAAI Press, 2005, pp. 1475–1482.

Page 28: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

28

References (2)A. Felfernig, G. Friedrich, D. Jannach, and M. Zanker, An Integrated

Environment for the Development of Knowledge-based Recommender Applications, International Journal of Electronic Commerce (IJEC), 11(2):11-34, 2006.

A. Felfernig. Standardized Configuration Knowledge Representations as Tech-nological Foundation for Mass Customization, IEEE Transactions on Engineering Mgmt., 54(1), pp. 41-56, 2007.

S. Mittal and B. Falkenhainer, Dynamic Constraint Satisfaction Problems, in National Conference on Artificial Intelligence (AAAI 90), Boston, MA, pp. 25–32, 1990.

A. Felfernig, G. Friedrich, and D. Jannach, UML ad domain specific language for the construction of knowledge-based configuration systems, International Journal on Software Engineering and Knowledge Engineering, 10(4):449–470, 2000.

A. Felfernig, G. Friedrich, D. Jannach, M. Stumptner, and M. Zanker, Configuration Knowledge Representations for Semantic Web Applications, Artificial Intelligence in Engineering, Design, Analysis and Manufacturing (AIEDAM), 17(2):31–50, 2003.

Page 29: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

29

References (3)G. Fleischanderl, G. Friedrich, A. Haselboeck, H. Schreiner, and M.

Stumptner, Configuring Large Systems Using Generative Constraint Satisfaction, IEEE Intelligent Systems, 13(4):59–68, 1998.

G. Fleischanderl. Suggestions from the Software Engineering Practice for Applying Consistency-Based Diagnosis to Configuration Knowledge Bases, 13th International Workshop on Principles of Diagnosis (DX-02), pp. 1—3, 2002.

V. Barker, D. O’Connor, J. Bachant, and E. Soloway, Expert systems for configuration at Digital: XCON and beyond, Communications of the ACM, vol. 32, no. 3, pp. 298–318, 1989.

A. Felfernig, G. Friedrich, D. Jannach, and M. Stumptner, Consistency-based Diagnosis of configuration knowledge bases, in Artificial Intelligence, 152(2), 2004, pp. 213–234.

A. Felfernig, Reducing Development and Maintenance Efforts for Web-based Recommender Applications, International Journal of Web Engi-neering and Technology, 3(3), pp. 329-351, 2007.

Page 30: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

30

References (4)R. Reiter. A theory of diagnosis from first principles, AI Journal, 23(1):57–

95, 1987.A. Felfernig, G. Friedrich, M. Schubert, M. Mandl, M. Mairitsch, and E.

Teppan. Plausible Repairs for Inconsistent Requirements, Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI'09), Pasadena, California, USA, pp. 791-796, 2009.

A. Felfernig, M. Schubert, and C. Zehentner. An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets, AI for Engineering Design, Analysis, and Manufacturing (AIEDAM), Cambridge University Press, 25(2):175—184, 2011.

U. Junker. QuickXplain: Preferred explanations and relaxations for over-constrained problems. AAAI‘04, pp. 167–172, San Jose, CA, 2004.

J. de Kleer, A. Mackworth, and R.Reiter. Characterizing diagnoses and systems, AI Journal, 56(2-3):197-222, 1992.

Page 31: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

31

References (5)B. O’Callaghan, B. O’Sullivan, and E. C. Freuder. Generating Corrective

Explanations for Interactive Constraint Satisfaction. In CP’2005, pp. 445–459, 2005.

B. O’Sullivan, A. Papdopoulos, B. Faltings, and P. Pu. Representative Explanations for Over-Constrained Problems. AAAI’07, pp. 323–328, 2007.

D. Jannach. Finding Preferred Query Relaxations in Content-based Recommenders, IEEE Intelligent Systems Conf. (IS’2006), pp. 355-360, 2006.

A. Felfernig and M. Schubert. Personalizing Diagnoses for Inconsistent Constraint Sets, 22nd International Workshop on Principles of Diagnosis, Munich, Germany, to appear, 2011.

A. Falkner, A. Felfernig, and A. Haag. Recommendation Technologies for Configurable Products, AI Magazine, AAAI, to appear, Fall 2011.

Page 32: Intelligent Techniques for Software Product Line Engineering

Univ.-Prof. DI Dr. Alexander Felfernig

Institute for Software Technology

32

Thank You!