80 likes | 217 Views
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.
E N D
Oopsla DSM-Workshop 2007Evolution 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) MM' MMM' T'DEF 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