De-/Re-constructing Model Transformation Languages

Similar documents
The Modular Timed Graph Transformation (MoTif) system

Pattern composition in graph transformation rules

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

The Implications of Optimality Results for Incremental Model Synchronization for TGGs Holger Giese, Stephan Hildebrandt

A Graphical Specification of Model Composition With Triple Graph Grammars

Visual Specification of a DSL Processor Debugger

Combining Timing, Localities and Migration in a Process Calculus

Design Patterns for Model Transformations: Current research and future directions

Manipulation of Graphs, Algebras and Pictures. Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday

Termination Analysis of the Transformation UML to CSP

A modular timed graph transformation language for simulation-based design

Big Java Late Objects

Improving the Usability of a Graph Transformation Language

The GROOVE Simulator: A Tool for State Space Generation

Transformation Rules with MetaEdit+

Visual Modelling and Analysis of Model Transformations based on Graph Transformation

Definition of Visual Language Editors Using Declarative Languages

Adaptive Graph Pattern Matching for Model Transformations using Model-sensitive Search Plans 1

Branching and Merging

Proceedings of the 12th International Workshop on Graph Transformation and Visual Modeling Techniques (GTVMT 2013)

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

1 Executive Overview The Benefits and Objectives of BPDM

Proceedings of the Second International Workshop on Graph and Model Transformation (GraMoT 2006)

Dresden OCL2 in MOFLON

Change-sets. Basavaraj Karadakal

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Summary: Open Questions:

Classification of Model Transformation Tools: Pattern Matching Techniques

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Review Version Control Concepts

Proceedings of the Third International Workshop on Graph Based Tools (GraBaTs 2006)

University of Alabama

Parallel Graph Transformation for Model Simulation applied to Timed Transition Petri Nets

AGG: A Graph Transformation Environment for Modeling and Validation of Software

Introduction to EGF. Benoît Langlois / Thales Global Services.

An implementation model of rendezvous communication

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Object-Oriented Design

Predicting and Learning Executability of Composite Web Services

EMF Code Generation with Fujaba

Model Transforma.on. Krzysztof Czarnecki Genera.ve So:ware Development Lab University of Waterloo, Canada gsd.uwaterloo.ca

Computer Programming II C++ (830)

Recursive Graph Pattern Matching

The Volcano Optimizer Generator: Extensibility and Efficient Search

Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra

A METAMODEL FOR THE HLA OBJECT MODEL

DEVS modeling of Traffic in AToM3. Presented by Ximeng Sun April 11, 2005

Computer Programming II Python

Towards a Unifying Model Transformation Bus

Introduction to MDE and Model Transformation

A Component-based Approach to Verified Software: What, Why, How and What Next?

Database Management System 5 ER Modeling

Model View Management with Triple Graph Transformation Systems

Modeling with Plausibility Checking: Inspecting Favorable and Critical Signs for Consistency between Control Flow and Functional Behavior

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Proceedings of the 7th International Workshop on Graph Based Tools (GraBaTs 2012)

Electronic Communications of the EASST

BISS 2013: Simulation for Decision Support

model-driven development Separation of Concerns in Model-Driven Development

Model Transformation. Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that?

Compiler Optimisation

Unified Modeling Language

Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation

A Novel Image Compression Technique using Simple Arithmetic Addition

Homeschool Programming, Inc.

Interactions A link message

Formalizing Software Refactoring in the Distributed Environment by aednlc Graph Grammar

A Domain Specific Transformation Language

Cooperative Concurrency

the gamedesigninitiative at cornell university Lecture 13 Architecture Design

Integration of analytic model and simulation model for analysis on system survivability

Discovering Periodic Patterns in System Logs

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Java SE7 Fundamentals

Technology Background Development environment, Skeleton and Libraries

Parallel Programming Patterns Overview CS 472 Concurrent & Parallel Programming University of Evansville

the gamedesigninitiative at cornell university Lecture 12 Architecture Design

CPSC 427: Object-Oriented Programming

DEVS and DEVS Model. Dr. Xiaolin Hu. Dr. Xiaolin Hu

Technology Background Development environment, Skeleton and Libraries

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

Rule-Based Model Transformation For, and In Simulink

Source Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006

Lecture 5: Declarative Programming. The Declarative Kernel Language Machine. September 12th, 2011

Computing Approximate Happens-Before Order with Static and Dynamic Analysis

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

SharePoint Development Web Development Generate from Usage. Cloud Development Windows Development Office Development

Global Register Allocation via Graph Coloring

Applying a Model Transformation Taxonomy to Graph Transformation Technology

DEVSView: A tool for visualizing CD++ simulation models

International Colloquium on Graph and Model Transformation On the occasion of the 65th birthday of Hartmut Ehrig (GraMoT 2010)

3D Graphics Programming Mira Costa High School - Class Syllabus,

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

CSE 504: Compiler Design. Runtime Environments

Bluespec-4: Rule Scheduling and Synthesis. Synthesis: From State & Rules into Synchronous FSMs

Transforming Ada Serving Tasks Into Protected Objects

Proceedings of the Sixth International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2007)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Outlook on Composite Type Labels in User-Defined Type Systems

Composable Shared Memory Transactions Lecture 20-2

Transcription:

De-/Re-constructing Model Transformation Languages Eugene Syriani Ph.D. Candidate in the Modelling, Simulation and Design Lab School of Computer Science McGill University

OVERVIEW Context De-Constructing Transformation Languages Collection of MT primitives Re-Constructing Transformation Languages FUJABA More esoteric features MoTif-Core: a re-construction example MoTif GReAT Conclusion 2

THE BIG PICTURE

IN THE CONTEXT Many different model transfromation languages (MTLs) Features [1]: atomicity, sequencing, branching, looping, non-determinism, recursion, parallelism, back-tracking, hierarchy, time Transformation rule: matching + rewriting + validation Hard to Compare expressiveness Provide framework for interoperability Express MTLs in terms of primitive building blocks De-Construction: small set of most primitive constructs Re-Construction: discover new MTLs + interoperation + optimization [1] Syriani, E. and Vangheluwe, H. (2009) Matters of model transformation. Technical Report SOCS-TR-2009.2. McGill University, School of Computer Science. 4

DE-CONSTRUCTING TRANSFORMATION T-Core Module 8 primitives Composition operator 3 types of messages Exchange of messages through methods 3 output states: Success Fail Exception 5

DE-CONSTRUCTING TRANSFORMATION Matcher 1. Find all matches (parameter) 2. Store result in packet 6

DE-CONSTRUCTING TRANSFORMATION Rewriter 1. Check validity of packet 2. Apply transformation 3. Propgate changes in all match sets 4. Consume match Exception possible! 7

DE-CONSTRUCTING TRANSFORMATION Iterator 1. Check if match set is not empty 2. Randomly choose a match 8

DE-CONSTRUCTING TRANSFORMATION Rollbacker 1. Push packet onto stack 1. Match set not empty: there are matches left (pass on) 2. No match set: back-track to previous state 9

DE-CONSTRUCTING TRANSFORMATION Resolver 1. Conservative check for potential conflict between different matches in match sets (parameter) 2. Customizable resolution function Exception possible! 10

DE-CONSTRUCTING TRANSFORMATION Selector 1. successin: add to success set 2. failin: add to fail set 3. Choose randomly first from success then from fail Exception possible! 11

DE-CONSTRUCTING TRANSFORMATION Synchronizer 1. successin: add to success set 2. failin: add to fail set 3. Merge only if all threads succeeded 4. Customizable merge function Exception possible! 12

DE-CONSTRUCTING TRANSFORMATION Composer 1. Meaningfully composes its sub-primitives 2. User-defined composition 13

DE-CONSTRUCTING TRANSFORMATION Motivating T-Core De-construct up to what level? What to include, what to exclude? Pre/PostConditionPattern: rules, bi-directional, functions Separation match/rewrite: queries, nested transformaitons Packet: sufficient info to be processed by each primitive, designed for concurrent transformations Composition: scaling for large model transformations T-Core module: open for more building blocks, extendable 14

RE-CONSTRUCTING TRANSFORMATION 15

RE-CONSTRUCTING TRANSFORMATION FUJABA for-all Pattern [2] [2] Fischer, T., et. al., (2000) Story diagrams: A new graph rewrite language based on the UML and Java. In Ehrig, H., et al., (eds.), Theory and Application of Graph Transformations, LNCS, 1764, pp. 296 309. Springer-Verlag. 16

RE-CONSTRUCTING TRANSFORMATION FUJABA for-all Pattern 17

RE-CONSTRUCTING TRANSFORMATION FUJABA for-all Pattern 18

RE-CONSTRUCTING TRANSFORMATION Amalgamation rules: Repotting the geraniums [3] Repot all flowering geraniums whose pots have cracked [3] Rensink, A. and Kuperus, J.-H. (2009) Repotting the geraniums: On nested graph transformation rules. In Margaria, T., Padberg, J., and Taentzer, G. (eds.), GT-VMT 09, EASST. 19

MOTIF-CORE = DEVS + T-CORE [4] [4] Zeigler, B. P. (1984) Multifacetted Modelling and Discrete Event Simulation. Academic Press. 20

MOTIF-CORE: TIMED MTLS MoTif AtomicRule [5] Time Exceptions [5] Syriani, E. and Vangheluwe, H. (2009) Discrete-Event Modeling and Simulation: Theory and Applications. CRC Press, Boca Raton (USA). 21

MOTIF-CORE: TIMED MTLS Asynchrony Parallelism GReAT Test/Case block [6] [6] Agrawal, A., Karsai, G., Kalmar, Z., Neema, S., Shi, F., and Vizhanyo, A. (2006) The design of a language for model transformations. SoSym, 5, 261 288. 22

MOTIF-CORE: TIMED MTLS More Readable: Repotting the geraniums 23

CONCLUSION Collection of MT primtives: T-Core Re-construction of existing MTLs (comparable) New-Construction of novel MTLs: MoTif-Core Future Work Efficiently implement these primitives Compare MoTif-Core with QVT-Core 24

Let s discuss 25