McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design...

download McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.

If you can't read please download the document

Transcript of McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design...

  • Slide 1
  • McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM09 Explicit Transformation Modelling Thomas Khne, Gergely Mezei, Eugene Syriani, Hans Vangheluwe, Manuel Wimmer Towards Systematic Transformation Development
  • Slide 2
  • MPM09 OVERVIEW Motivation Running Example FSA semantics from PN simulation Explicit Transformation Modelling RAM process Higher-Order Transformation Adding animation Conclusion 2
  • Slide 3
  • MPM09 MOTIVATION Increase modellers productivity Raise level of abstraction of specification/design Lower impedance mismatch between modelling language and application domain Explicitely model transformations as 1 st class entities Easier modification of control flow + mapping + pattern matching at syntax and semantics levels Domain-specific transformation models //vs// generic pattern matching language Facilitate transformation evolution: higher-order transformation (HOT) 3
  • Slide 4
  • MPM09 RUNNING EXAMPLE Finite State Automata (FSA) Simulator from Petri-Net Simulator 4
  • Slide 5
  • MPM09 FSA & PETRI-NET META-MODELS Classes Multiplicities Attribute types Constraints 5
  • Slide 6
  • MPM09 FINITE STATE AUTOMATA TO PETRI-NET 6
  • Slide 7
  • MPM09 PETRI-NET OPERATIONAL SEMANTICS 7
  • Slide 8
  • MPM09 EXPLICIT TRANSFORMATION MODELLING Generic //vs// Customized pattern language Syntax: pattern specification adapted to languages invloved Design: exclude patterns that would not match Custom Meta-model //vs// Conformance check Have a separate meta-model for the pattern specification Have customized conformance checks Meta-model 8
  • Slide 9
  • MPM09 RAM PROCESS (quasi-)Automatically generated environment for pattern language 9 Input Meta-ModelOutput Meta-Model Relax Augment Modify Customized Pattern Meta-Model
  • Slide 10
  • MPM09 RAM PROCESS Relaxation Concretize abstract entities Reduce minimal multiplicity constraint Constraints (automatic?) Free form: no constraints Valid elements: ensure typing Valid multiplicities: enforce (relaxed) multiplicities Valid constraints: enforce (a subset of) meta-model constraints (quasi-)Automatically generated environment for pattern language 10
  • Slide 11
  • MPM09 RAM PROCESS Augmentation Type all entities to MT(pre/post)_Element Add MT specific attributes Labels Pivot passing Allow subtype matching * Other (e.g., isProcessed) Generic elements 11 (quasi-)Automatically generated environment for pattern language
  • Slide 12
  • MPM09 RAM PROCESS Modification Pre-condition pattern Attributes are of type constraint Post-condition pattern Attributes are of type action Modify concrete syntax Abstract classes Association ends Other (e.g., replace topological visual syntax constraints) 12 (quasi-)Automatically generated environment for pattern language
  • Slide 13
  • MPM09 RAM PROCESS Relax 13 (quasi-)Automatically generated environment for pattern language AugmentModify
  • Slide 14
  • MPM09 RAM PROCESS Customized pattern language meta-model 14
  • Slide 15
  • MPM09 RAM PROCESS Transformation Meta-Model 15
  • Slide 16
  • MPM09 HIGHER-ORDER TRANSFORMATION (HOT) Language evolution Adapting the transformation of an evolving language Transformation optimization/refactoring Modify for more efficient results Translational semantics From operational semantics, for more advance analysis oportunities Define meaning of transformation by mapping onto a standard one Separation of transformation concerns Multi-stage transformation is a special case 16
  • Slide 17
  • MPM09 ANIMATION SUPPORT 17
  • Slide 18
  • MPM09 ANIMATION SUPPORT !User modifies meta-model: correspondence links ?Evolve the transformation without changing current transformation Transform the transformation to include animation support 18
  • Slide 19
  • MPM09 ANIMATION SUPPORT Add animation rules in simulator 19
  • Slide 20
  • MPM09 ANIMATION SUPPORT Control flow level HOT rule 20
  • Slide 21
  • MPM09 ANIMATION SUPPORT Rule level HOT rule 21
  • Slide 22
  • MPM09 CONCLUSION 22 Proposed a systematic procedure for the development of model transformations Allows to: Offer customized specification of model transfromation rules Cleanly design higher-order transformation rules
  • Slide 23
  • MPM09 CONCLUSION 23 Side-effect of the contribution: Given 1.Semantic translation from MM 1 to MM 2 (model transformation) 2.Operational semantics of MM 2 (model transformation) 3.Alterate transformation 1 to support feed-back (HOT) ? Translation of FSA to PN PN simulator Alteration of the control flow of the PN simulator Alteration of the rules of the FSA to PN translation You get an operational semantics for MM 1