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

McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

Embed Size (px)

Citation preview

Page 1: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

OUTLINE

Context

Thesis

Overview of the Approach

Planning

Conclusion2

Page 3: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

6

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Meta-Model of domain

Page 7: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

7

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODEL TRANSFORMATION DEVELOPMENT

Generate Modelling Environment

Page 8: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

12

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

SOLUTION

Page 13: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

14

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MODELLING THE MTL

Page 15: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

16

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

TRANSFORMATION SPECIFICATIONDomain-Specific Transformation Patterns

Page 17: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

19

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

Page 20: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

20

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF-CORE

DEVST-Core

MoTif-Core

Page 21: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

21

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF

Meta-Model Semantics

Page 22: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

23

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

MOTIF FRAMEWORK

Page 24: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

24

Multi-Paradigm Foundation for MTL EngineeringProposal Exam

PLANNING

Page 25: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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: McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani

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