PowerPoint Presentation - DSM Forum by dffhrtcv3

VIEWS: 461 PAGES: 8

									Oopsla DSM-Workshop 2007
        Evolution
  Jeff Gray, Jon Sprinkle, Holger Krahn, Matteo Bordin,
       Benoit Langlois, Peter Krall, Markus Voelter,
      Al Shaffer, Hans Vangheluwe, Stephan Roser,
                     Spencer Smith
   What is the right language for defining the structure of
                          models?
      Grammars, OO Meta Models, Type Graphs?
• Type of language is important
   – Graph-based vs. textual approaches


• Language definition have the same expressiveness but not
  seamsless interchangeable [Hans]
                     Elements which evolve


• Meta-Models
   – Definition/Source of evolution
   – Other elements co-evolve:
      • Models
      • Constraints
      • Semantics
      • Transformations
      • Editors ("No way, as defined by many different artefacts"
        [Markus])
                        Transformations
•   Declarative vs. Imperative Transformations
          • Declarative / Relational (QVT Relation, TGG)
          • Nowadays decalarative technology often breaks on attribute Level
             [Hans]
          • There are multiple levels of declarativity
•   Declarative transformations
      – are more analyseable and are therefore better for evolution
      – are needed if there must be a certain relationship between the original
        and evolved model
      – "Shaking" at one side also changes the other side [Markus]
      – Traceability and not bidirectionality needed [Markus]
•   Explicit model of transformations needed (what is the most appropriate
    language to describe these models in for the purpose of evolution?)
•   Semantics equivalence is difficult to achieve, but it is more difficult to
    achieve semantics difference ("it is important what to give up" [Jonathan])
                                Evolution
                                  TDEF
              MM                         MMM

                                                E'DEF
  EDEF

               m                         T(m)

                                T'DEF
MM'                                                 MMM'




 m'                                                     T'(m')

      E'(T(E-1(m'))) =? T(m')
                Evolution
• Ultimate goal commuting diagram, but
  often to expensive [Jonathan]
  – Simpler: Delete newly defined elements and
    add them manually
• Often MMM and MMM' are the same
      Evolution of constraints
• Connected with the evolution of meta-
  model
• Meta-Model is a special kind of constraint
• Difficult to solve
   Evolution of semantic domain
• Semantics of meta model
   – Set of all instance
• Semantics of language whose syntax is defined by the meta model
   – Given as transformation into semantic domain

• Scenario:
   – Semantic domain evolves
   – "Tests needed to test that change in the semantic domain is not
     relevant to the semantic mapping" [Jonathan]
   – "12 o'clock semantics" of Stateflow

								
To top