Weaving Variability intoWeaving Variability into Domain Metamodels Domain Metamodels               Juan Antonio Martin-Che...
Index of contents                     Index of contents          1. Introduction          1. Introduction          2. Vari...
1. Introduction                  3
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
Exploits/benefits from commonalitiesUser Interfaces)       1. Wigdor 2010 (Architecting ext-Generation User Interfaces)   ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
2. Variabilityas a (meta-) aspect                 23
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
variability2010 (Architecting ext-Generation User Interfaces)                inside the models     1. Wigdor 2010 (Archite...
variability2010 (Architecting extthe models                aside of -Generation User Interfaces)     1. Wigdor 2010 (Archi...
variability2010 (Architecting ext-Generation User Interfaces)                inside Vs aside the models     1. Wigdor 2010...
1. Introduction          2. Variability     3. Applications         4. Related Work        5. Conclusions                 ...
1. Introduction          2. Variability     3. Applications         4. Related Work        5. Conclusions                 ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
3. Applications on 2 domain metamodels                  44
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
Weaving variability into EMF/ECore    1. Wigdor 2010 (Architecting ext-Generation User Interfaces)     1. Wigdor 2010 (Arc...
Weaving variability into Smart Adapters     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)      1. Wigdor 20...
Weaving variability into Smart Adapters     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)      1. Wigdor 20...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
4. Related Work                  53
1. Introduction         2. Variability     3. Applications         4. Related Work        5. Conclusions                  ...
5. Conclusions                 55
1. Introduction         2. Variability     3. Applications         4. Related Work                                        ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work                                        ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) ...
1. Introduction         2. Variability     3. Applications         4. Related Work                                        ...
1. Introduction         2. Variability     3. Applications         4. Related Work                                        ...
1. Introduction         2. Variability     3. Applications         4. Related Work                                        ...
References             73
1. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering:1. Pohl, K., Böckle, G., van der Linden, ...
8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain8. Kang, K., Cohen, S., Hess, J., Novak,...
15. PureSystems. Pure::Variants Website http://www.pure-systems.com/ (2006)15. PureSystems. Pure::Variants Website http://...
22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling22. Lahire, P., Morin. B., Bar...
You might be thinking...            You might be thinking...    Now you can     Now you can    impress your     impress yo...
Weaving Variability intoWeaving Variability into Domain Metamodels Domain Metamodels               Juan Antonio Martin-Che...
Upcoming SlideShare
Loading in …5
×

Weaving Variability into Domain Metamodels

718 views
678 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
718
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Weaving Variability into Domain Metamodels

  1. 1. Weaving Variability intoWeaving Variability into Domain Metamodels Domain Metamodels Juan Antonio Martin-Checa Juan Antonio Martin-Checa (Advanced Component-Based Systems) (Advanced Component-Based Systems)Master in Software Engineering & Artificial IntelligenceMaster in Software Engineering & Artificial Intelligence Computer Science Department University of Malaga, Spain 2011 2011
  2. 2. Index of contents Index of contents 1. Introduction 1. Introduction 2. Variability as a (meta-) aspect 2. Variability as a (meta-) aspect 3. Applications on 2 domain metamodels 3. Applications on 2 domain metamodels 4. Related work 4. Related work 5. Conclusions 5. ConclusionsWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 2
  3. 3. 1. Introduction 3
  4. 4. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 4
  5. 5. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 5
  6. 6. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 6
  7. 7. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 7
  8. 8. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 8
  9. 9. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / motivationWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 9
  10. 10. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 10
  11. 11. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 11
  12. 12. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 12
  13. 13. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 13
  14. 14. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / key ideas Products should meet (changing) user requirements Time-to-market is a critical concern Developing products from scratch is time consumingWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 14
  15. 15. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / SPL and MDE in concertWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 15
  16. 16. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 16
  17. 17. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-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.”Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 17
  18. 18. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / SPL / Benefits INCREASED DECREASED Productivity Cost Quality Labor needs Time to MarketWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 18
  19. 19. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-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.”Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 19
  20. 20. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Introduction / MDE / Benefits INCREASED DECREASED Productivity Design complexity Compatibility Reusability Team communicationsWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 20
  21. 21. Exploits/benefits from commonalitiesUser Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-GenerationManages variabilitiesDerives products depending on the needs DSML (Domain Specific Modeling Languages).... Composition, transformation, code generation.... Early validation, simulation.... 21
  22. 22. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 22
  23. 23. 2. Variabilityas a (meta-) aspect 23
  24. 24. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-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)Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 24
  25. 25. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / approaches Put variability inside the models Put variability aside of the modelsWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 25
  26. 26. variability2010 (Architecting ext-Generation User Interfaces) inside the models 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 26
  27. 27. variability2010 (Architecting extthe models aside of -Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-GenerationUser Interfaces) 1. Wigdor 27
  28. 28. variability2010 (Architecting ext-Generation User Interfaces) inside Vs aside the models 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 28
  29. 29. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-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 FIXEDWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 29
  30. 30. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / metamodel for variability Founded upon previous work Operators XOR, OR, AND, Vp, Optional Homegeneous Vs Heterogeneous Constraints REQUIRE, EXCLUDE, etc.Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 30
  31. 31. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / metamodel for variabilityWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 31
  32. 32. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 32
  33. 33. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / EMF metamodel with variabilityWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 33
  34. 34. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 34
  35. 35. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 35
  36. 36. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 36
  37. 37. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 37
  38. 38. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 38
  39. 39. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / weaving variability idea: insert variability controllers on the referencesWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 39
  40. 40. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / AOM AOM (Aspect-Oriented Metamodeling) Meta-Aspect: Aspect that applies to a metamodel Metamodels are models like others - A (meta)model conforms to a (meta-)metamodel Aspect-Oriented Metamodeling (AOM) - Applied at the metamodel level - Metamodels == base models for the aspectsWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 40
  41. 41. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / Smart Adapter weaving (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, Spain 41
  42. 42. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 2. Variability as a (meta-) aspect / variability (meta-) aspect – Pointcut model matches any references between 2 meta-classes – Useful homogeneous controllers are introduced on these references – Useful heterogeneous controllers are introduced – Constraints are attached to the root meta-classWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 42
  43. 43. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 43
  44. 44. 3. Applications on 2 domain metamodels 44
  45. 45. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 3. Applications on 2 domain metamodels Class diagram with Variability Use of UML constructs + profiles Aspect model with Variability Matching variability Composition variabilityWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 45
  46. 46. Weaving variability into EMF/ECore 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 46
  47. 47. Weaving variability into Smart Adapters 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 47
  48. 48. Weaving variability into Smart Adapters 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 48
  49. 49. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 3. Applications on 2 domain metamodels / derivation process From the model (with variability) Maintain a FD (Feature Diagram) SPL tools select products Pruned FD (only selected features) Pruned FD derive the model Model conforming to initial metamodelWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 49
  50. 50. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 3. Applications on 2 domain metamodels / key ideas Normal model Vs Derived modelWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 50
  51. 51. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 51
  52. 52. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 52
  53. 53. 4. Related Work 53
  54. 54. 1. Introduction 2. Variability 3. Applications 4. Related Work 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 4. Related work / approaches UML metamodel extension variability included in various UML diagrams Variability techniques engineering of DSMLs Integrating model-driven & aspect- oriented software developmentWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 54
  55. 55. 5. Conclusions 55
  56. 56. 1. Introduction 2. Variability 3. Applications 4. Related Work Related 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 5. Conclusions Two approaches to combine SPL & DSML variability inside Vs variability aside both have ++/-- Adopted approach: Variability Inside systematic and flexible variability weaving the variability you need, where you need itWeaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 56
  57. 57. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 57
  58. 58. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 58
  59. 59. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 59
  60. 60. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 60
  61. 61. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 61
  62. 62. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 62
  63. 63. 1. Introduction 2. Variability 3. Applications 4. Related Work Related 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 5. Conclusions Personal Reflections...Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 63
  64. 64. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 64
  65. 65. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 65
  66. 66. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 66
  67. 67. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 67
  68. 68. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 68
  69. 69. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 69
  70. 70. 1. Introduction 2. Variability 3. Applications 4. Related Work Related 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 5. Conclusions / Critique / PROS reusable variability aspect extends metamodel with variability independent from any domain metamodel generic approach (applicable to any Ecore/EMOF meta-model, incl. UML) (applicable to any Ecore/EMOF meta-model, incl. UML) variability aspect can be standardized DSMLs can be designed without variability variability is woven on demand approach validated (Ecore / Smart Adapters) authors: wide experience in the field (↑publications)Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 70
  71. 71. 1. Introduction 2. Variability 3. Applications 4. Related Work Related 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 5. Conclusions / Critique / CONS constraints: limited to ‘requires’ and ‘mutex’ (does not contemplate other kinds of constraints) [2,6,7] article: lacks of some concept definitions lacks of a clear, brief “step-by-step” summary of the approach lacks of a scheme/diagram summarizing the approach there are other valid approaches: using UML + OO [2] using UML + OO [2] extending UML metamodel with variability [20] extending UML metamodel with variability [20] variability techniques to assist the engineering of DSMLs [12] variability techniques to assist the engineering of DSMLs [12] integrating model-driven & aspect-oriented sw evelopment [21] integrating model-driven & aspect-oriented sw evelopment [21] (the last 2, introduce variability at the model level) (the last 2, introduce variability at the model level)Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 71
  72. 72. 1. Introduction 2. Variability 3. Applications 4. Related Work Related 5. Conclusions 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 5. Conclusions / Critique / Personal opinion interesting approach complete: involves all steps (begining –to-end) detailed founded upon previous research/studies validated experimented authors future research opportunities: model checking editing facilities etc.Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 72
  73. 73. References 73
  74. 74. 1. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: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, Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2005) NJ, USA (2005)2. Perrouin, G., Klein, J., Guel, N., Jezequel, J.M.: Reconciling automation and exibility2. Perrouin, G., Klein, J., Guel, N., Jezequel, J.M.: Reconciling automation and exibility in product derivation. In: 12th International Software Product Line Conference in product derivation. In: 12th International Software Product Line Conference (SPLC 2008), Limerick, Ireland, IEEE Computer Society (2008) 339-348 (SPLC 2008), Limerick, Ireland, IEEE Computer Society (2008) 339-3483. OMG: OMG Unied Modeling Language OMG UML, Superstructure Version 2.2.3. OMG: OMG Unied Modeling Language OMG UML, Superstructure Version 2.2. Technical Report formal/2007-02-03, Object Management Group (2007) Technical Report formal/2007-02-03, Object Management Group (2007)4. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jzquel, J.M.: Introducing4. Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jzquel, J.M.: Introducing variability into aspect-oriented modeling approaches. In: In Proceedings of variability into aspect-oriented modeling approaches. In: In Proceedings of ACM/IEEE 10th International Conference on Model Driven Engineering Languages ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07), Nashville, TN, USA (2007) and Systems (MoDELS 07), Nashville, TN, USA (2007)5. Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two level5. Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two level aspect weaving to support evolution in model-driven synthesis. Addison-Wesley, aspect weaving to support evolution in model-driven synthesis. Addison-Wesley, Boston (2005) 681-709 Boston (2005) 681-7096. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A6. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A Survey and A Formal Semantics. In: RE, Minneapolis, Minnesota, USA (2006) Survey and A Formal Semantics. In: RE, Minneapolis, Minnesota, USA (2006)7. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of7. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Computer Networks 51 (2007) 456-479 feature diagrams. Computer Networks 51 (2007) 456-479 74
  75. 75. 8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute (1990) Engineering Institute (1990)9. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-based Feature9. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-based Feature Models and their Specialization. Software Process Improvement and Practice 10 Models and their Specialization. Software Process Improvement and Practice 10 (2005) 7-29 (2005) 7-2910. Griss, M.L., Favaro, J., d Alessandro, M.: Integrating Feature Modeling with the10. Griss, M.L., Favaro, J., d Alessandro, M.: Integrating Feature Modeling with the RSEB. In: ICSR, Washington, DC, USA (1998) RSEB. In: ICSR, Washington, DC, USA (1998)11. Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse11. 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 Method with Domain-Specic Reference Architectures. Ann. Softw. Eng. 5 (1998) 143-16812. Haugen, O., Moller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding standardized12. 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 variability to domain specic languages. In: Software Product Line Conference.(2008) 139-14813. Ramos, R., Barais, O., Jzquel, J.M.: Matching model-snippets. In: In Proceedings of13. 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 ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07), Nashville, TN, USA (2007) Systems (MoDELS 07), Nashville, TN, USA (2007)14. Batory, D.S.: Feature models, grammars, and propositional formulas. In Obbink,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 J.H., Pohl, K., eds.: SPLC. Volume 3714 of LNCS., Springer (2005) 7-20 75
  76. 76. 15. PureSystems. Pure::Variants Website http://www.pure-systems.com/ (2006)15. PureSystems. Pure::Variants Website http://www.pure-systems.com/ (2006)16. Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach16. Czarnecki, K., Antkiewicz, M.: Mapping Features to Models: A Template Approach based on Superimposed Variants. In: Generative programming and component engineering based on Superimposed Variants. In: Generative programming and component engineering (GPCE). Volume 3676 of LNCS., Springer-Verlag (2005) 422-437 (GPCE). Volume 3676 of LNCS., Springer-Verlag (2005) 422-43717. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a framework17. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a framework for the automated analysis of feature models. In: Proceeding of the First International for the automated analysis of feature models. In: Proceeding of the First International Workshop on Variability Modelling of Software-intensive Systems (VAMOS). (2007) Workshop on Variability Modelling of Software-intensive Systems (VAMOS). (2007) 129-134 129-13418. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating18. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: IEEE Conference on Requirements Engineering, formalization and automated analysis. In: IEEE Conference on Requirements Engineering, Los Alamitos, CA, USA, IEEE Computer Society (2007) 243-253 Los Alamitos, CA, USA, IEEE Computer Society (2007) 243-25319. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented meta-languages. In: Proc. of MODELS/UML2005. LNCS, Jamaica, Springer (2005) meta-languages. In: Proc. of MODELS/UML2005. LNCS, Jamaica, Springer (2005)20. Ziadi, T., Jezequel, J.M.: Product Line Engineering with the UML: Deriving Products.20. Ziadi, T., Jezequel, J.M.: Product Line Engineering with the UML: Deriving Products. In: Families Research Book. Springer (2006) In: Families Research Book. Springer (2006)21. Voelter, M., Groher, I.: Product line implementation using aspect-oriented and21. Voelter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: 11th International Software Product Line model-driven software development. In: 11th International Software Product Line Conference, Kyoto, Japan (2007) 10 Conference, Kyoto, Japan (2007) 10 76
  77. 77. 22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling Approaches. Vanderbilt University, Springer-Verlag (2007) Approaches. Vanderbilt University, Springer-Verlag (2007)23. Morin, B., Klein, J., Barains, O. A Generic Weaver for Supporting Product Lines. In: Early23. Morin, B., Klein, J., Barains, O. A Generic Weaver for Supporting Product Lines. In: Early Aspects Workshops at ICSE (2008) Aspects Workshops at ICSE (2008)24. Morin, B., Fleurey, F., Bencomo, N. An Aspect-Oriented and Model-Driven Approach for24. Morin, B., Fleurey, F., Bencomo, N. An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability. In: ACM/IEEE MODELS’08. (2008) Managing Dynamic Variability. In: ACM/IEEE MODELS’08. (2008) 77
  78. 78. You might be thinking... You might be thinking... Now you can Now you can impress your impress your friends talking friends talking about Weaving about Weaving Variability into Variability into Domain Metamodels Domain Metamodels please, ask! please, ask!Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 78
  79. 79. Weaving Variability intoWeaving Variability into Domain Metamodels Domain Metamodels Juan Antonio Martin-Checa Juan Antonio Martin-Checa (Advanced Component-Based Systems) (Advanced Component-Based Systems)Master in Software Engineering & Artificial IntelligenceMaster in Software Engineering & Artificial Intelligence Computer Science Department University of Malaga, Spain 2011 2011

×