SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Weaving Variability into
Weaving 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 Intelligence
Master in Software Engineering & Artificial Intelligence




     Computer Science Department
             University of Malaga, Spain
                          2011
                          2011
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. Conclusions


Weaving Variability into Domain Metamodels   CS Dept. University of Malaga, Spain   2
1. Introduction


                  3
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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / motivation




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   9
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




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




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




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




                                                                13
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 consuming


Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / SPL and MDE in concert




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   15
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                16
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
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 Market

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / 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
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 communications
Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   20
Exploits/benefits from commonalitiesUser Interfaces)
       1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
        1. Wigdor 2010 (Architecting ext-Generation
Manages variabilities
Derives products depending on the needs




              DSML (Domain Specific Modeling Languages)....
              Composition, transformation, code generation....
                                Early validation, simulation....
                                                        21
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                22
2. Variability
as a (meta-) aspect

                 23
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
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 models



Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   25
variability2010 (Architecting ext-Generation User Interfaces)
                inside the models
     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
      1. Wigdor




                                                                    26
variability2010 (Architecting extthe models
                aside of -Generation User Interfaces)
     1. Wigdor 2010 (Architecting ext-GenerationUser Interfaces)
      1. Wigdor




                                                                   27
variability2010 (Architecting ext-Generation User Interfaces)
                inside Vs aside the models
     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
      1. Wigdor




                                                             28
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 FIXED


Weaving Variability into Domain Metamodels              CS Dept. University of Malaga, Spain   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 / 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
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




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   31
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                32
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 variability




Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   33
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




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




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




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




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




                                                                38
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 references
Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / 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 aspects

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / 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: mapping
Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 / 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-class

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   42
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                43
3. Applications
 on 2 domain
 metamodels
                  44
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 variability


Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   45
Weaving variability into EMF/ECore
    1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                    46
Weaving variability into Smart Adapters
     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
      1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                     47
Weaving variability into Smart Adapters
     1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
      1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




                                                                     48
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 metamodel

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   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 /
                                  key ideas


                     Normal model
                           Vs
                     Derived model
Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   50
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




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




                                                                52
4. Related Work


                  53
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 development

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   54
5. Conclusions


                 55
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 it

Weaving Variability into Domain Metamodels             CS Dept. University of Malaga, Spain   56
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




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




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




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




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




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




                                                                62
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
1. Wigdor 2010 (Architecting ext-Generation User Interfaces)
 1. Wigdor 2010 (Architecting ext-Generation User Interfaces)




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




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




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




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




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




                                                                69
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
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
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
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, 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 exibility
2. 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-348

3. 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.: Introducing
4. 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 level
5. 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-709

6. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A
6. 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 of
7. 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
8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain
8. 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 Feature
9. 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-29

10. Griss, M.L., Favaro, J., d' Alessandro, M.: Integrating Feature Modeling with the
10. 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 Reuse
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
    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
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
    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
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
    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
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 Approach
16. 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-437

17. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a framework
17. 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-134

18. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating
18. 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-253

19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented
19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented
    meta-languages. In: Proc. of MODELS/UML'2005. LNCS, Jamaica, Springer (2005)
    meta-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.
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 and
21. 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
22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling
22. 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: Early
23. 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 for
24. 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
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
Weaving Variability into
Weaving 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 Intelligence
Master in Software Engineering & Artificial Intelligence




     Computer Science Department
             University of Malaga, Spain
                          2011
                          2011

Más contenido relacionado

Similar a Weaving Variability into Domain Metamodels

MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...Alessandra Bagnato
 
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Alessandra Bagnato
 
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...Alessandra Bagnato
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...Alessandra Bagnato
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...WTHS
 
An interaction meta-model for cooperative component-based user interfaces
An interaction meta-model for cooperative component-based user interfacesAn interaction meta-model for cooperative component-based user interfaces
An interaction meta-model for cooperative component-based user interfacesApplied Computing Group
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSmarcos Eu
 
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
AGILE -  Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE -  Adoptive Gateways for dIverse MuLtiple Environments
AGILE - Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE IoT
 
Adoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsAdoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsCharalampos Doukas
 
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Alfonso Pierantonio
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaijseajournal
 
IRJET - PAA: Productivity Android Application
IRJET -  	  PAA: Productivity Android ApplicationIRJET -  	  PAA: Productivity Android Application
IRJET - PAA: Productivity Android ApplicationIRJET Journal
 
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...Applied Computing Group
 
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...Sofia Eu
 
Identifying Success Factors for the Mozilla Project
Identifying Success Factors for the Mozilla ProjectIdentifying Success Factors for the Mozilla Project
Identifying Success Factors for the Mozilla ProjectRobert Viseur
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 

Similar a Weaving Variability into Domain Metamodels (20)

MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
 
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
 
careerxperts_sp2
careerxperts_sp2careerxperts_sp2
careerxperts_sp2
 
MDE Diploma
MDE DiplomaMDE Diploma
MDE Diploma
 
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
 
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
 
An interaction meta-model for cooperative component-based user interfaces
An interaction meta-model for cooperative component-based user interfacesAn interaction meta-model for cooperative component-based user interfaces
An interaction meta-model for cooperative component-based user interfaces
 
SMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st IssueSMARCOS Newsletter 1st Issue
SMARCOS Newsletter 1st Issue
 
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
AGILE -  Adoptive Gateways for dIverse MuLtiple EnvironmentsAGILE -  Adoptive Gateways for dIverse MuLtiple Environments
AGILE - Adoptive Gateways for dIverse MuLtiple Environments
 
Adoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple EnvironmentsAdoptive Gateways for dIverse MuLtiple Environments
Adoptive Gateways for dIverse MuLtiple Environments
 
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
 
Bio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijseaBio inspired use case variability modelling, ijsea
Bio inspired use case variability modelling, ijsea
 
IRJET - PAA: Productivity Android Application
IRJET -  	  PAA: Productivity Android ApplicationIRJET -  	  PAA: Productivity Android Application
IRJET - PAA: Productivity Android Application
 
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
ICSOFT'2012: Composing Model Transformations at Runtime: an approach for adap...
 
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
SOFIA - Semantic Technologies and Techniques for Interoperable Information in...
 
Identifying Success Factors for the Mozilla Project
Identifying Success Factors for the Mozilla ProjectIdentifying Success Factors for the Mozilla Project
Identifying Success Factors for the Mozilla Project
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product Requirements
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 

Último

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Último (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Weaving Variability into Domain Metamodels

  • 1. Weaving Variability into Weaving 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 Intelligence Master in Software Engineering & Artificial Intelligence Computer Science Department University of Malaga, Spain 2011 2011
  • 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. Conclusions Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 2
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 4
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 5
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 6
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 7
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 8
  • 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 / motivation Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 9
  • 10. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 10
  • 11. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 11
  • 12. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 12
  • 13. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 13
  • 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 consuming Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 14
  • 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 concert Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 15
  • 16. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 16
  • 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. 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 Market Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 18
  • 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. 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 communications Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 20
  • 21. Exploits/benefits from commonalitiesUser Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation Manages variabilities Derives products depending on the needs DSML (Domain Specific Modeling Languages).... Composition, transformation, code generation.... Early validation, simulation.... 21
  • 22. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 22
  • 23. 2. Variability as a (meta-) aspect 23
  • 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. 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 models Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 25
  • 26. variability2010 (Architecting ext-Generation User Interfaces) inside the models 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 26
  • 27. variability2010 (Architecting extthe models aside of -Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-GenerationUser Interfaces) 1. Wigdor 27
  • 28. variability2010 (Architecting ext-Generation User Interfaces) inside Vs aside the models 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 28
  • 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 FIXED Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 29
  • 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. 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 Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 31
  • 32. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 32
  • 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 variability Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 33
  • 34. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 34
  • 35. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 35
  • 36. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 36
  • 37. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 37
  • 38. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 38
  • 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 references Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 39
  • 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 aspects Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 40
  • 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: mapping Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 41
  • 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-class Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 42
  • 43. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 43
  • 44. 3. Applications on 2 domain metamodels 44
  • 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 variability Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 45
  • 46. Weaving variability into EMF/ECore 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 46
  • 47. Weaving variability into Smart Adapters 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 47
  • 48. Weaving variability into Smart Adapters 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 48
  • 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 metamodel Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 49
  • 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 model Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 50
  • 51. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 51
  • 52. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 52
  • 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 development Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 54
  • 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 it Weaving Variability into Domain Metamodels CS Dept. University of Malaga, Spain 56
  • 57. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 57
  • 58. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 58
  • 59. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 59
  • 60. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 60
  • 61. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 61
  • 62. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 62
  • 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. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 64
  • 65. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 65
  • 66. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 66
  • 67. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 67
  • 68. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 68
  • 69. 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 1. Wigdor 2010 (Architecting ext-Generation User Interfaces) 69
  • 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. 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. 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
  • 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 exibility 2. 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-348 3. 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.: Introducing 4. 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 level 5. 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-709 6. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A 6. 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 of 7. 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. 8. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain 8. 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 Feature 9. 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-29 10. Griss, M.L., Favaro, J., d' Alessandro, M.: Integrating Feature Modeling with the 10. 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 Reuse 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 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 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 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 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 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. 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 Approach 16. 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-437 17. Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FAMA: Tooling a framework 17. 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-134 18. Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating 18. 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-253 19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented 19. Muller, P.A., Fleurey, F., Jezequel, J.M.: Weaving executability into object-oriented meta-languages. In: Proc. of MODELS/UML'2005. LNCS, Jamaica, Springer (2005) meta-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. 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 and 21. 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. 22. Lahire, P., Morin. B., Barais., O. Introducing Variability into Aspect-Oriented Modeling 22. 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: Early 23. 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 for 24. 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. 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. Weaving Variability into Weaving 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 Intelligence Master in Software Engineering & Artificial Intelligence Computer Science Department University of Malaga, Spain 2011 2011