A Multi-Paradigm Foundation for Model Transformation Language Engineering

27
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab A Multi-Paradigm Foundation for Model Transformation Language Engineering Eugene Syriani

description

A Multi-Paradigm Foundation for Model Transformation Language Engineering. Eugene Syriani. Outline. Context Thesis Overview of the Approach Planning Conclusion. Model-Driven Engineering. Meta-Model. conforms to. Model. Transmission. Security. Wheel. Speed control. - PowerPoint PPT Presentation

Transcript of A Multi-Paradigm Foundation for Model Transformation Language Engineering

Page 1: A Multi-Paradigm Foundation for Model Transformation Language Engineering

McGill University

Proposal Exam

School of Computer Science

Ph.D. Candidate in the Modelling, Simulation and Design Lab

A Multi-Paradigm Foundation for Model Transformation

Language Engineering

Eugene Syriani

Page 2: A Multi-Paradigm Foundation for Model Transformation Language Engineering

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

OUTLINE

Context

Thesis

Overview of the Approach

Planning

Conclusion2

Page 3: A Multi-Paradigm Foundation for Model Transformation Language Engineering

3

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL-DRIVEN ENGINEERING

Model

Wheel

Transmission

Mechanics of engine

Electric circuits

Security

Speed control

Resistance to snow

System

Meta-Model

represented by

conforms to

Page 4: A Multi-Paradigm Foundation for Model Transformation Language Engineering

4

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MULTI-PARADIGM MODELLING (MPM)• Multi-formalism

– Domain-specific formalisms

• Multi-abstraction

• Meta-Modelling

• Model Transformation

• Model everything– Explicitly

– At the most appropriate level of abstraction

– Using the most appropriate formalism

Page 5: A Multi-Paradigm Foundation for Model Transformation Language Engineering

5

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION• Manipulate: access & modify operations

• Simulate: execution

• Generate code: compilation

• Translate: into other models

M1

M3

M2

Page 6: A Multi-Paradigm Foundation for Model Transformation Language Engineering

6

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Meta-Model of domain

Page 7: A Multi-Paradigm Foundation for Model Transformation Language Engineering

7

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Generate Modelling Environment

Page 8: A Multi-Paradigm Foundation for Model Transformation Language Engineering

8

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Transformation Specification

14

2

5 pacLink

3ghostLink

1

23

ghostLink 1: returnself.LHS.nodeWithLabel(1).score + 1

1

2

3

1

2

35

4

pacLink

foodLink

6

4

pacLink

4

1 2

36

gridLeft

ghostLink

1 2

3

4

7

gridLeft

ghostLink

4

1 2

5

gridRight

pacLink

1 2

4

6

gridRight

pacLink

33

1

78

ghostLink

Page 9: A Multi-Paradigm Foundation for Model Transformation Language Engineering

9

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

• Given input model

• Run transformation– Rules

– Unordered, Priority, Layer, Control Flow

• Output– New model

– Modified model

Execution

Page 10: A Multi-Paradigm Foundation for Model Transformation Language Engineering

10

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

PROBLEM STATEMENT• Meta-Modelling: well established

– Language for model specification

– Automatic generation of modelling environments

• Focus on transformations– Robust theoretical foundation (e.g., graph transformation)

– Plethora of model transformation languages (MTL)AGG, ATL, AToM3, FUJABA, GReAT, MOFLON, ProGreS, QVT, VMTS, VIATRA2, ...

– Each one provides tremendous value for its domain of expertise No interoperability Implementation of transformation paradigm is hard-coded

Page 11: A Multi-Paradigm Foundation for Model Transformation Language Engineering

11

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MY THESIS• Contribute to the engineering of model transformation languages

– At the foundation level

– Following MPM principles

• Model everything:– syntax of MTL

– semantics of MTL

• Provide a framework for building MTLs

• Design & implement a new MTL, following MPM principles– Core algorithms

– Language building blocks

– Formalism

• Focusing on expressiveness of MTL

Page 12: A Multi-Paradigm Foundation for Model Transformation Language Engineering

12

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

SOLUTION

Page 13: A Multi-Paradigm Foundation for Model Transformation Language Engineering

13

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

EXPLICIT MODELLING OF TRANSFORMATIONS

• Consider MTLs as domain-specific languages

• Explicitly model the patterns & the scheduling

LHS RHSNAC

Pre-condition Pattern Post-condition Pattern

Page 14: A Multi-Paradigm Foundation for Model Transformation Language Engineering

14

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODELLING THE MTL

Page 15: A Multi-Paradigm Foundation for Model Transformation Language Engineering

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

RAM PROCESS

(quasi-)Automatically generated environment for pattern language

15

Input Meta-Model Output Meta-Model

Relax Augment Modify

Customized Pattern Meta-Model

Page 16: A Multi-Paradigm Foundation for Model Transformation Language Engineering

16

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

TRANSFORMATION SPECIFICATIONDomain-Specific Transformation Patterns

Page 17: A Multi-Paradigm Foundation for Model Transformation Language Engineering

17

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MINIMAL TRANSFORMATION CORE

• Pre-/post- patterns• Matching• Rewriting• Validation of consistent

rule application• Matches manipulation

– Iteration– Roll-back

• Control flow– Choice– Concurrency

• Composition• Common

representation

Features that allow the execution of MTL

Page 18: A Multi-Paradigm Foundation for Model Transformation Language Engineering

18

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

T-CORE• Executable module

• Efficient implementation of the Matcher & the Rewriter

• Combine primitive transformation constructs with “glue language”– Programming language

SBL, Python

– Modelling languageUML Activity Diagrams, DEVS

Page 19: A Multi-Paradigm Foundation for Model Transformation Language Engineering

19

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

Page 20: A Multi-Paradigm Foundation for Model Transformation Language Engineering

20

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

MoTif-Core

Page 21: A Multi-Paradigm Foundation for Model Transformation Language Engineering

21

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF

Meta-Model Semantics

Page 22: A Multi-Paradigm Foundation for Model Transformation Language Engineering

22

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

TRANSFORMATION EXCEPTION HANDLING• Identification & classification

• Modelling of transformation exceptions

• Exception handling specification in the MT itself– Post-handling control flow

– Propagation mechanism

Page 23: A Multi-Paradigm Foundation for Model Transformation Language Engineering

23

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF FRAMEWORK

Page 24: A Multi-Paradigm Foundation for Model Transformation Language Engineering

24

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

PLANNING

Page 25: A Multi-Paradigm Foundation for Model Transformation Language Engineering

25

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

WHAT IS REMAINING?

1. RAM process– Evaluate usability of a completely modelled environment for designing model

transformation

2. T-Core– Module based on a model-centric virtual machine

– Usable with Python & DEVS

– Efficient Matcher & Rewriter

3. MoTif-Core– Compiler to DEVS

4. MoTif Framework– Insert in the loop

– Support higher-order transformations

– Support exception handling

Mainly: implementation...

Page 26: A Multi-Paradigm Foundation for Model Transformation Language Engineering

26

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

WHAT IS REMAINING?

1. CD2RDBMS– Using MoTif

2. AntWorld Simulation– Using T-Core & Python

3. PacMan Game– Using MoTif & extended MoTif-Core

4. Aspect Weaving– Using MoTif

... and case studies

Page 27: A Multi-Paradigm Foundation for Model Transformation Language Engineering

27

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

CONCLUSION• Novel approach for designing MTLs

• Based on MPM principles

• Three model transformation formalisms– Primitive building blocks (T-Core)

Problem-specific pattern language

– Modularly composable, asynchronous, timed transformations (MoTif-Core)

– General purpose transformation (MoTif)

Performance analyses

Compare to other model transformation engineering approaches