McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling,...

Preview:

Citation preview

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

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

OUTLINE

Context

Thesis

Overview of the Approach

Planning

Conclusion2

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

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

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

6

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Meta-Model of domain

7

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Generate Modelling Environment

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

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

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

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

12

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

SOLUTION

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

14

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODELLING THE MTL

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

16

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

TRANSFORMATION SPECIFICATIONDomain-Specific Transformation Patterns

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

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

19

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

20

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

MoTif-Core

21

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF

Meta-Model Semantics

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

23

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF FRAMEWORK

24

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

PLANNING

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...

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

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

Recommended