weaving variability into domain metamodels

Post on 06-May-2015

596 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Weaving Variability into Domain Metamodels

Juan Antonio Martin-Checa (Advanced Component-Based Systems)

Master in Software Engineering & Artificial Intelligence

Weaving Variability into Weaving Variability into Domain MetamodelsDomain Metamodels

Juan Antonio MartinJuan Antonio Martin--Checa Checa (Advanced Component(Advanced Component--Based Systems)Based Systems)

Master in Software Engineering & Artificial IntelligenceMaster in Software Engineering & Artificial Intelligence

Computer Science DepartmentUniversity of Malaga, Spain

2011

Computer Science DepartmentUniversity of Malaga, Spain

2011

2

Index of contentsIndex of contentsIndex of contents

1. Introduction

2. Variability as a (meta-) aspect

3. Applications on 2 domain metamodels

4. Related work

5. Conclusions

1. Introduction

2. Variability as a (meta-) aspect

3. Applications on 2 domain metamodels

4. Related work

5. Conclusions

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

3

1. Introduction1. Introduction

4

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

5

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

6

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

7

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

8

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

9

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / motivation1. Introduction / motivation

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

10

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

11

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

12

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

13

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

14

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / key ideas

Products should meet (changing) user requirementsTime-to-market is a critical concernDeveloping products from scratch is time consuming

1. Introduction / key ideas

Products should meet (changing) user requirementsTime-to-market is a critical concernDeveloping products from scratch is time consuming

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

15

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / SPL and MDE in concert1. Introduction / SPL and MDE in concert

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

16

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

17

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / SPL

“A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.”

1. Introduction / SPL

“A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.”

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

18

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / SPL / Benefits

INCREASED

Productivity

Quality

1. Introduction / SPL / Benefits

INCREASED

Productivity

Quality

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

DECREASED

Cost

Labor needs

Time to Market

19

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / MDE

“Model-driven engineering (MDE) is a software development methodology which focuses on creating and exploiting domain models (that is, abstract representations of the knowledge and activities that govern a particular application domain), rather than on the computing (or algorithmic) concepts.”

1. Introduction / MDE

“Model-driven engineering (MDE) is a software development methodology which focuses on creating and exploiting domain models (that is, abstract representations of the knowledge and activities that govern a particular application domain), rather than on the computing (or algorithmic) concepts.”

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

20

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

1. Introduction / MDE / Benefits

INCREASED

Productivity

Compatibility

Reusability

Team communications

1. Introduction / MDE / Benefits

INCREASED

Productivity

Compatibility

Reusability

Team communicationsWeaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction1. Introduction 2. Variability 2. Variability 3. Applications 4. Related Work 3. Applications 4. Related Work 5. Conclusions5. Conclusions

DECREASED

Design complexity

21

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces) Exploits/benefits from commonalitiesManages variabilitiesDerives products depending on the needs

DSML (Domain Specific Modeling Languages)....Composition, transformation, code generation....

Early validation, simulation....

Exploits/benefits from commonalitiesManages variabilitiesDerives products depending on the needs

DSML (Domain Specific Modeling Languages)....Composition, transformation, code generation....

Early validation, simulation....

22

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

23

2. Variabilityas a (meta-) aspect

2. Variabilityas a (meta-) aspect

24

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / goals

Reusable variability aspect

Describe models containing variability (based on the concepts defined in the domain metamodel)

2. Variability as a (meta-) aspect / goals

Reusable variability aspect

Describe models containing variability (based on the concepts defined in the domain metamodel)

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

25

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / approaches

Put variability inside the models

Put variability aside of the models

2. Variability as a (meta-) aspect / approaches

Put variability inside the models

Put variability aside of the models

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

26

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces) variability inside the modelsvariability inside the models

27

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces) variability aside of the modelsvariability aside of the models

28

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces) variability inside Vs aside the modelsvariability inside Vs aside the models

29

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / considerations

Orthogonal to a domain- Supported by DSMLs

Standard concepts- XOR, options, etc.- Not useful for all domains - Variability FIXED

2. Variability as a (meta-) aspect / considerations

Orthogonal to a domain- Supported by DSMLs

Standard concepts- XOR, options, etc.- Not useful for all domains - Variability FIXED

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

30

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / metamodelfor variability

Founded upon previous workOperators

XOR, OR, AND, Vp, OptionalHomegeneous Vs Heterogeneous

ConstraintsREQUIRE, EXCLUDE, etc.

2. Variability as a (meta-) aspect / metamodelfor variability

Founded upon previous workOperators

XOR, OR, AND, Vp, OptionalHomegeneous Vs Heterogeneous

ConstraintsREQUIRE, EXCLUDE, etc.

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

31

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / metamodelfor variability

2. Variability as a (meta-) aspect / metamodelfor variability

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

32

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

33

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / EMF metamodelwith variability

2. Variability as a (meta-) aspect / EMF metamodelwith variability

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

34

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

35

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

36

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

37

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

38

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

39

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / weaving variability

idea: insert variability controllers on the references

2. Variability as a (meta-) aspect / weaving variability

idea: insert variability controllers on the references

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

40

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / AOMAOM (Aspect-Oriented Metamodeling)

Meta-Aspect: Aspect that applies to a metamodelMetamodels are models like others- A (meta)model conforms to a (meta-)metamodelAspect-Oriented Metamodeling (AOM)- Applied at the metamodel level- Metamodels == base models for the aspects

2. Variability as a (meta-) aspect / AOMAOM (Aspect-Oriented Metamodeling)

Meta-Aspect: Aspect that applies to a metamodelMetamodels are models like others- A (meta)model conforms to a (meta-)metamodelAspect-Oriented Metamodeling (AOM)- Applied at the metamodel level- Metamodels == base models for the aspects

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

41

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / Smart Adapterweaving (meta-) aspects

ASPECT:- pointcut model (WHERE)- advice model (WHAT)- composition protocol (HOW)POINTCUT: contextualized before weaving- automatically: pattern matching, etc.

- semi-automatically: automatic detection, on-demand

- manually: mapping

2. Variability as a (meta-) aspect / Smart Adapterweaving (meta-) aspects

ASPECT:- pointcut model (WHERE)- advice model (WHAT)- composition protocol (HOW)POINTCUT: contextualized before weaving- automatically: pattern matching, etc.

- semi-automatically: automatic detection, on-demand

- manually: mappingWeaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

42

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

2. Variability as a (meta-) aspect / variability(meta-) aspect

– Pointcut model matches any referencesbetween 2 meta-classes

– Useful homogeneous controllers are introduced on these references

– Useful heterogeneous controllers are introduced

– Constraints are attached to the root meta-class

2. Variability as a (meta-) aspect / variability(meta-) aspect

– Pointcut model matches any referencesbetween 2 meta-classes

– Useful homogeneous controllers are introduced on these references

– Useful heterogeneous controllers are introduced

– Constraints are attached to the root meta-class

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 1. Introduction 2. Variability2. Variability 3. Applications 3. Applications 4. Related Work 5. Conclusions4. Related Work 5. Conclusions

43

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

44

3. Applicationson 2 domainmetamodels

3. Applicationson 2 domainmetamodels

45

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

3. Applications on 2 domain metamodels

Class diagram with VariabilityUse of UML constructs + profiles

Aspect model with VariabilityMatching variabilityComposition variability

3. Applications on 2 domain metamodels

Class diagram with VariabilityUse of UML constructs + profiles

Aspect model with VariabilityMatching variabilityComposition variability

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications3. Applications 4. Related Work 4. Related Work 5. Conclusions5. Conclusions

46

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

Weaving variability into EMF/ECore Weaving variability into EMF/ECore

47

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

Weaving variability into Smart AdaptersWeaving variability into Smart Adapters

48

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

Weaving variability into Smart AdaptersWeaving variability into Smart Adapters

49

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

3. Applications on 2 domain metamodels / derivation process

From the model (with variability)Maintain a FD (Feature Diagram)

SPL tools select productsPruned FD (only selected features)

Pruned FD derive the modelModel conforming to initial metamodel

3. Applications on 2 domain metamodels / derivation process

From the model (with variability)Maintain a FD (Feature Diagram)

SPL tools select productsPruned FD (only selected features)

Pruned FD derive the modelModel conforming to initial metamodel

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications3. Applications 4. Related Work 4. Related Work 5. Conclusions5. Conclusions

50

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

3. Applications on 2 domain metamodels / key ideas

Normal model Vs

Derived model

3. Applications on 2 domain metamodels / key ideas

Normal model Vs

Derived modelWeaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications3. Applications 4. Related Work 4. Related Work 5. Conclusions5. Conclusions

51

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

52

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

53

4. Related Work4. Related Work

54

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

4. Related work / approaches

UML metamodel extension variability included in various UML diagrams

Variability techniquesengineering of DSMLs

Integrating model-driven & aspect-oriented software development

4. Related work / approaches

UML metamodel extension variability included in various UML diagrams

Variability techniquesengineering of DSMLs

Integrating model-driven & aspect-oriented software development

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 3. Applications 4. Related Work4. Related Work 5. Conclusions5. Conclusions

55

5. Conclusions5. Conclusions

56

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

5. Conclusions

Two approaches to combine SPL & DSMLvariability inside Vs variability asideboth have ++/--

Adopted approach: Variability Insidesystematic and flexible variability weavingthe variability you need, where you need it

5. Conclusions

Two approaches to combine SPL & DSMLvariability inside Vs variability asideboth have ++/--

Adopted approach: Variability Insidesystematic and flexible variability weavingthe variability you need, where you need it

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 4. Rela3. Applications 4. Related Work ted Work 5. Conclusions5. Conclusions

57

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

58

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

59

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

60

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

61

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

62

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

63

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

5. Conclusions

Personal Reflections...

5. Conclusions

Personal Reflections...

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 4. Rela3. Applications 4. Related Work ted Work 5. Conclusions5. Conclusions

64

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

65

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

66

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

67

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

68

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

69

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

70

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

5. Conclusions / Critique / PROSreusable variability aspectextends metamodel with variabilityindependent from any domain metamodelgeneric approach(applicable to any Ecore/EMOF meta-model, incl. UML)

variability aspect can be standardizedDSMLs can be designed without variabilityvariability is woven on demandapproach validated (Ecore / Smart Adapters)authors: wide experience in the field (↑publications)

5. Conclusions / Critique / PROSreusable variability aspectextends metamodel with variabilityindependent from any domain metamodelgeneric approach(applicable to any Ecore/EMOF meta-model, incl. UML)

variability aspect can be standardizedDSMLs can be designed without variabilityvariability is woven on demandapproach validated (Ecore / Smart Adapters)authors: wide experience in the field (↑publications)

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 4. Rela3. Applications 4. Related Work ted Work 5. Conclusions5. Conclusions

71

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

5. Conclusions / Critique / CONSconstraints: limited to ‘requires’ and ‘mutex’(does not contemplate other kinds of constraints) [2,6,7]article:

lacks of some concept definitionslacks of a clear, brief “step-by-step” summary of the approachlacks of a scheme/diagram summarizing the approach

there are other valid approaches:using UML + OO [2]extending UML metamodel with variability [20]variability techniques to assist the engineering of DSMLs [12]integrating model-driven & aspect-oriented sw evelopment [21](the last 2, introduce variability at the model level)

5. Conclusions / Critique / CONSconstraints: limited to ‘requires’ and ‘mutex’(does not contemplate other kinds of constraints) [2,6,7]article:

lacks of some concept definitionslacks of a clear, brief “step-by-step” summary of the approachlacks of a scheme/diagram summarizing the approach

there are other valid approaches:using UML + OO [2]extending UML metamodel with variability [20]variability techniques to assist the engineering of DSMLs [12]integrating model-driven & aspect-oriented sw evelopment [21](the last 2, introduce variability at the model level)

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 4. Rela3. Applications 4. Related Work ted Work 5. Conclusions5. Conclusions

72

1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. 1. WigdorWigdor 20102010 (Architecting ext(Architecting ext--Generation User Interfaces) Generation User Interfaces)

5. Conclusions / Critique / Personal opinioninteresting approachcomplete: involves all steps (begining –to-end)detailedfounded upon previous research/studiesvalidatedexperimented authorsfuture research opportunities:

model checkingediting facilitiesetc.

5. Conclusions / Critique / Personal opinioninteresting approachcomplete: involves all steps (begining –to-end)detailedfounded upon previous research/studiesvalidatedexperimented authorsfuture research opportunities:

model checkingediting facilitiesetc.

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

1. Introduction 2. Variability 1. Introduction 2. Variability 3. Applications 4. Rela3. Applications 4. Related Work ted Work 5. Conclusions5. Conclusions

73

ReferencesReferences

74

1. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering:Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus,NJ, USA (2005)

2. Perrouin, G., Klein, J., Guel, N., Jezequel, J.M.: Reconciling automation and exibilityin product derivation. In: 12th International Software Product Line Conference(SPLC 2008), Limerick, Ireland, IEEE Computer Society (2008) 339-348

3. OMG: OMG Unied Modeling Language OMG UML, Superstructure Version 2.2.Technical Report formal/2007-02-03, Object Management Group (2007)

4. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jzquel, J.M.: Introducingvariability into aspect-oriented modeling approaches. In: In Proceedings ofACM/IEEE 10th International Conference on Model Driven Engineering Languagesand Systems (MoDELS 07), Nashville, TN, USA (2007)

5. Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two levelaspect weaving to support evolution in model-driven synthesis. Addison-Wesley,Boston (2005) 681-709

6. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: ASurvey and A Formal Semantics. In: RE, Minneapolis, Minnesota, USA (2006)

7. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics offeature diagrams. Computer Networks 51 (2007) 456-479

1. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering:Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus,NJ, USA (2005)

2. Perrouin, G., Klein, J., Guel, N., Jezequel, J.M.: Reconciling automation and exibilityin product derivation. In: 12th International Software Product Line Conference(SPLC 2008), Limerick, Ireland, IEEE Computer Society (2008) 339-348

3. OMG: OMG Unied Modeling Language OMG UML, Superstructure Version 2.2.Technical Report formal/2007-02-03, Object Management Group (2007)

4. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jzquel, J.M.: Introducingvariability into aspect-oriented modeling approaches. In: In Proceedings ofACM/IEEE 10th International Conference on Model Driven Engineering Languagesand Systems (MoDELS 07), Nashville, TN, USA (2007)

5. Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two levelaspect weaving to support evolution in model-driven synthesis. Addison-Wesley,Boston (2005) 681-709

6. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: ASurvey and A Formal Semantics. In: RE, Minneapolis, Minnesota, USA (2006)

7. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics offeature diagrams. Computer Networks 51 (2007) 456-479

75

8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented DomainAnalysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, SoftwareEngineering Institute (1990)

9. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-based FeatureModels and their Specialization. Software Process Improvement and Practice 10(2005) 7-29

10. Griss, M.L., Favaro, J., d' Alessandro, M.: Integrating Feature Modeling with theRSEB. In: ICSR, Washington, DC, USA (1998)

11. Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specic Reference Architectures. Ann. Softw. Eng. 5 (1998) 143-168

12. Haugen, O., Moller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding standardized variability to domain specic languages. In: Software Product Line Conference.(2008) 139-148

13. Ramos, R., Barais, O., Jzquel, J.M.: Matching model-snippets. In: In Proceedings of ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07), Nashville, TN, USA (2007)

14. Batory, D.S.: Feature models, grammars, and propositional formulas. In Obbink,J.H., Pohl, K., eds.: SPLC. Volume 3714 of LNCS., Springer (2005) 7-20

8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented DomainAnalysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, SoftwareEngineering Institute (1990)

9. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-based FeatureModels and their Specialization. Software Process Improvement and Practice 10(2005) 7-29

10. Griss, M.L., Favaro, J., d' Alessandro, M.: Integrating Feature Modeling with theRSEB. In: ICSR, Washington, DC, USA (1998)

11. Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specic Reference Architectures. Ann. Softw. Eng. 5 (1998) 143-168

12. Haugen, O., Moller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding standardized variability to domain specic languages. In: Software Product Line Conference.(2008) 139-148

13. Ramos, R., Barais, O., Jzquel, J.M.: Matching model-snippets. In: In Proceedings of ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07), Nashville, TN, USA (2007)

14. Batory, D.S.: Feature models, grammars, and propositional formulas. In Obbink,J.H., Pohl, K., eds.: SPLC. Volume 3714 of LNCS., Springer (2005) 7-20

76

15. PureSystems. Pure::Variants Website http://www.pure-systems.com/ (2006)

16. Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approachbased on Superimposed Variants. In: Generative programming and component engineering(GPCE). Volume 3676 of LNCS., Springer-Verlag (2005) 422-437

17. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a frameworkfor the automated analysis of feature models. In: Proceeding of the First InternationalWorkshop on Variability Modelling of Software-intensive Systems (VAMOS). (2007)129-134

18. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguatingthe documentation of variability in software product lines: A separation of concerns,formalization and automated analysis. In: IEEE Conference on Requirements Engineering,Los Alamitos, CA, USA, IEEE Computer Society (2007) 243-253

19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-orientedmeta-languages. In: Proc. of MODELS/UML'2005. LNCS, Jamaica, Springer (2005)

20. Ziadi, T., Jezequel, J.M.: Product Line Engineering with the UML: Deriving Products.In: Families Research Book. Springer (2006)

21. Voelter, M., Groher, I.: Product line implementation using aspect-oriented andmodel-driven software development. In: 11th International Software Product LineConference, Kyoto, Japan (2007) 10

15. PureSystems. Pure::Variants Website http://www.pure-systems.com/ (2006)

16. Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approachbased on Superimposed Variants. In: Generative programming and component engineering(GPCE). Volume 3676 of LNCS., Springer-Verlag (2005) 422-437

17. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a frameworkfor the automated analysis of feature models. In: Proceeding of the First InternationalWorkshop on Variability Modelling of Software-intensive Systems (VAMOS). (2007)129-134

18. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguatingthe documentation of variability in software product lines: A separation of concerns,formalization and automated analysis. In: IEEE Conference on Requirements Engineering,Los Alamitos, CA, USA, IEEE Computer Society (2007) 243-253

19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-orientedmeta-languages. In: Proc. of MODELS/UML'2005. LNCS, Jamaica, Springer (2005)

20. Ziadi, T., Jezequel, J.M.: Product Line Engineering with the UML: Deriving Products.In: Families Research Book. Springer (2006)

21. Voelter, M., Groher, I.: Product line implementation using aspect-oriented andmodel-driven software development. In: 11th International Software Product LineConference, Kyoto, Japan (2007) 10

77

22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling Approaches. Vanderbilt University, Springer-Verlag (2007)

23. Morin, B., Klein, J., Barains, O. A Generic Weaver for Supporting Product Lines. In: Early Aspects Workshops at ICSE (2008)

24. Morin, B., Fleurey, F., Bencomo, N. An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability. In: ACM/IEEE MODELS’08. (2008)

22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling Approaches. Vanderbilt University, Springer-Verlag (2007)

23. Morin, B., Klein, J., Barains, O. A Generic Weaver for Supporting Product Lines. In: Early Aspects Workshops at ICSE (2008)

24. Morin, B., Fleurey, F., Bencomo, N. An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability. In: ACM/IEEE MODELS’08. (2008)

78

You might be thinking...You might be thinking...You might be thinking...

Now you can impress your friends talking about WeavingVariability intoDomain Metamodels

please, ask!

Now you can impress your friends talking about WeavingVariability intoDomain Metamodels

please, ask!

Weaving Variability into Domain Metamodels CS Dept. University of Malaga, SpainCS Dept. University of Malaga, Spain

Weaving Variability into Domain Metamodels

Juan Antonio Martin-Checa (Advanced Component-Based Systems)

Master in Software Engineering & Artificial Intelligence

Weaving Variability into Weaving Variability into Domain MetamodelsDomain Metamodels

Juan Antonio MartinJuan Antonio Martin--Checa Checa (Advanced Component(Advanced Component--Based Systems)Based Systems)

Master in Software Engineering & Artificial IntelligenceMaster in Software Engineering & Artificial Intelligence

Computer Science DepartmentUniversity of Malaga, Spain

2011

Computer Science DepartmentUniversity of Malaga, Spain

2011

top related