Download - Weaving Variability into Domain Metamodels
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