SlideShare uma empresa Scribd logo
1 de 37
GTS Families
for the flexible composition of graph
transformation systems
Steffen Zschaler and Francisco Durán
FASE 2017
27 April, 2017
Motivation
• GTSs are great for specification
– Both graphical and formal
• GTS morphisms are a key ingredient
– Enable many operations: refinement, parametrisation,
import/export interfaces, transformation reuse, GTS
composition, …
– Because structure/relationships are preserved, can guarantee
properties
• Ensure refinement semantics, ensure syntactic correctness of reuse,
ensure semantic correctness of composition, …
27/04/2017 2
Graph Transformation Systems (GTSs)
• Collection of transformation rules over graphs
27/04/2017 3
L K R
l r
Graph Transformation Systems (GTSs)
• Collection of transformation rules over graphs
• Typed over a common type graph TG
27/04/2017 3
L K R
l r
TG
type
type
type
GTS morphisms
27/04/2017 4
L1 K1 R1
l1 r1
TG1
type1
type1
type1
GTS morphisms
• Relates two GTSs by
27/04/2017 4
L1 K1 R1
l1 r1
TG1
type1
type1
type1
L2 K2 R2
l2 r2
TG2
type2
type2
type2
GTS morphisms
• Relates two GTSs by
– Relating the type graphs
27/04/2017 4
L1 K1 R1
l1 r1
TG1
type1
type1
type1
L2 K2 R2
l2 r2
TG2
type2
type2
type2
fTG
GTS morphisms
• Relates two GTSs by
– Relating the type graphs
– Relating the set of rules
27/04/2017 4
L1 K1 R1
l1 r1
TG1
type1
type1
type1
L2 K2 R2
l2 r2
TG2
type2
type2
type2
fL fK fR
fTG
pb pb
Problem
• GTSs morphisms are too inflexible
– Require very close match between type-graph structures
– Require very close match between rule structures
• This limits usefulness
– Refinement limited to adding, no reorganisation allowed
– Reuse only for structurally highly aligned systems
27/04/2017 5
Example (1)
• Imagine the following abstract GTS
– A server processes elements and keeps track of what it has
produced
27/04/2017 6
TG0
Queue
Server
Element
elts
outin
OutputInput
made
Rules0
Process0
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
made
…
Example (2)
• Consider the following concrete GTS
– Describes production-line systems
– Machines in a production line produce parts from other parts
27/04/2017 7
Rules2
Process2
…
out
p : Polishert : Tray c : Conveyor
p : Part
in
out
p : Polishert : Tray c : Conveyor
p : Part
in
LHS
RHS
parts
parts
TG2
GenHead GenHandle
Tray
Conveyor
Hammer Handle
Head
Machine
Part
Container
Assemble
Generator
parts
out
in out
Polisher
Example (3)
• Can we add output tracking to the production-line
GTS?
– Parametrise as below, then compose GTSs
27/04/2017 8
TG1
Queue
Server
Element
elts
outin
OutputInput
Rules1
Process1
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
…
Example (4)
• Composition scheme:
GTS1
GTS0
GTS2
Example (4)
• Composition scheme:
GTS1
GTS0
GTS2
GTScomposed
Example (4)
• Composition scheme:
• Have results for behaviour protection
– Require GTS morphisms for all arrows
GTS1
GTS0
GTS2
Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler: Amalgamation of Domain Specific
Languages with Behaviour. Journal of Logical and Algebraic Methods in Programming, 86(1): 208--235, Jan. 2017
GTScomposed
Example (4)
• Composition scheme:
• Have results for behaviour protection
– Require GTS morphisms for all arrows
GTS1
GTS0
GTS2
Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler: Amalgamation of Domain Specific
Languages with Behaviour. Journal of Logical and Algebraic Methods in Programming, 86(1): 208--235, Jan. 2017
GTScomposed
Production-line systems are, essentially, servers processing elements,
so we would expect to be able to establish morphisms.
Unfortunately, we cannot!
Example (5)
27/04/2017 10
TG2
GenHead GenHandle
Tray
Conveyor
Hammer Handle
Head
Machine
Part
Container
Assemble
Generator
parts
out
in out
Polisher
TG1
Queue
Server
Element
elts
outin
OutputInput
Example (5)
27/04/2017 10
TG2
GenHead GenHandle
Tray
Conveyor
Hammer Handle
Head
Machine
Part
Container
Assemble
Generator
parts
out
in out
Polisher
TG1
Queue
Server
Element
elts
outin
OutputInput
Example (5)
27/04/2017 10
TG2
GenHead GenHandle
Tray
Conveyor
Hammer Handle
Head
Machine
Part
Container
Assemble
Generator
parts
out
in out
Polisher
TG1
Queue
Server
Element
elts
outin
OutputInput
Cannot both go
to same type
Example (5)
27/04/2017 10
Rules1
Process1
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
…
Rules2
Process2
…
out
p : Polishert : Tray c : Conveyor
p : Part
in
out
p : Polishert : Tray c : Conveyor
p : Part
in
LHS
RHS
parts
parts
Example (5)
27/04/2017 10
Rules1
Process1
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
…
Rules2
Process2
…
out
p : Polishert : Tray c : Conveyor
p : Part
in
out
p : Polishert : Tray c : Conveyor
p : Part
in
LHS
RHS
parts
parts
Example (5)
27/04/2017 10
Rules1
Process1
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
…
Rules2
Process2
…
out
p : Polishert : Tray c : Conveyor
p : Part
in
out
p : Polishert : Tray c : Conveyor
p : Part
in
LHS
RHS
parts
partsGTS2 expects different types
of Queues in the rule
Solution Idea
• For static graphs, similar problems have dedicated
solutions:
– Clan morphisms
– Kleisli morphisms
Allow for transformations of the graph before establishing
morphism
• Can we generalise to GTSs?
– Allow for transformations of GTS before establishing morphism
– Want to be able to specify what transformations are acceptable
27/04/2017 11
GTS Families
27/04/2017 12
GTS0
GTS2
GTS1 GTS3
GTS4
… …
…
…
t0
t1
t2
t3 ; ti  T[GTS0]T =
Extended Composition Scheme
GTS’1
GTS’0
GTS2
GTScomposed
Extended Composition Scheme
GTS’1
GTS’0
GTS2
GTScomposed
[GTS1]T
[GTS0]T
Extended Composition Scheme
GTS’1
GTS’0
GTS2
GTScomposed
[GTS1]T
[GTS0]T
• Need to make sure that GTS’1  GTS’0 is an extension if GTS1  GTS0 is an extension
 Extension-preserving transformers
Example extension-preserving transformers
Name Description
IntroSC Non-deterministically introduces sub-classes in the type graph
Does not change set of rules
InhUnfld Does not change type graph
Unfolds inheritance for one rule, one class, and its sub-classes
Copies all other rules
MvAssoc Attempts to move the target of a random association to a sub-class
Does not change the set of rules
27/04/2017 14
Example extension-preserving transformers
Name Description
IntroSC Non-deterministically introduces sub-classes in the type graph
Does not change set of rules
InhUnfld Does not change type graph
Unfolds inheritance for one rule, one class, and its sub-classes
Copies all other rules
MvAssoc Attempts to move the target of a random association to a sub-class
Does not change the set of rules
27/04/2017 14
Recently combined into MvAssocTrgt
Searching through the family
27/04/2017 15
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
QueueServer Element
elts
out
in
Output
Input
Searching through the family
27/04/2017 15
IntroSC(Queue, Queue1)
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
QueueServer Element
elts
out
in
Output
Input
Searching through the family
27/04/2017 15
IntroSC(Queue, Queue1)
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
QueueServer Element
elts
out
in
Queue1
Output
Input
Searching through the family
27/04/2017 15
IntroSC(Queue, Queue2)
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue
o : Output
in
QueueServer Element
elts
out
in
Queue1
Queue2 Output
Input
Searching through the family
27/04/2017 15
MvAssocTrgt(out, Queue, Queue2)
LHS
RHS
out
s : Serverq1 : Queue q2 : Queue2
i : Input
in
elts
elts
out
s : Serverq1 : Queue q2 : Queue2
o : Output
in
QueueServer Element
elts
out
in
Queue1
Queue2 Output
Input
Searching through the family
27/04/2017 15
MvAssocTrgt(in, Queue, Queue1)
LHS
RHS
out
s : Serverq1 : Queue1 q2 : Queue2
i : Input
in
elts
elts
out
s : Serverq1 : Queue1 q2 : Queue2
o : Output
in
QueueServer Element
elts
out
in
Queue1
Queue2 Output
Input
Process1
Process2
TG2
TG1
Resulting morphism
27/04/2017 16
GenHead GenHandle
Tray
Conveyor
Hammer Handle
Head
Machine
Part
Container
Assemble
Generator
parts
out
in out
Polisher
Server
elts
inout
Output
Input
Element
Queue2
Queue1
Queue
elts
out
p : Polishert : Tray c : Conveyor
p : Part
in
out
p : Polishert : Tray c : Conveyor
p : Part
in
LHS
RHS
parts
parts
LHS
RHS
out
s : Server1q1 : Queue1 q2 : Queue2
i : Input
in
elts
elts
out
s : Server1q1 : Queue1 q2 : Queue2
o : Output
in
Conclusions & Outlook
• GTS families are a new way of studying adaptation of
GTSs
– Paper lays out the formal details and provides proofs
• More research required:
– Other scenarios will need other transformer properties
• Behaviour preserving/reflecting, …
– Can TG-level techniques be fully subsumed?
– Other useful transformers?
27/04/2017 17

Mais conteúdo relacionado

Mais procurados

On unifying query languages for RDF streams
On unifying query languages for RDF streamsOn unifying query languages for RDF streams
On unifying query languages for RDF streamsDaniele Dell'Aglio
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)PingCAP
 
Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...PingCAP
 
Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...Universität Rostock
 
TiDB as an HTAP Database
TiDB as an HTAP DatabaseTiDB as an HTAP Database
TiDB as an HTAP DatabasePingCAP
 
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...Flink Forward
 
TiDB for Big Data
TiDB for Big DataTiDB for Big Data
TiDB for Big DataPingCAP
 
How does Context Affect the Distribution of Software Maintainability Metrics?
How does Context Affect the Distribution of Software Maintainability Metrics?How does Context Affect the Distribution of Software Maintainability Metrics?
How does Context Affect the Distribution of Software Maintainability Metrics?Feng Zhang
 
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...Flink Forward
 
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...Flink Forward
 
gcov和clang中的实现
gcov和clang中的实现gcov和clang中的实现
gcov和clang中的实现Ray Song
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryChien Chung Shen
 
ceROVe
ceROVeceROVe
ceROVeAPNIC
 
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward
 
SAP S4 HANA SD 1709 Overview (mindmap edition) Final
SAP S4 HANA SD 1709 Overview (mindmap edition) FinalSAP S4 HANA SD 1709 Overview (mindmap edition) Final
SAP S4 HANA SD 1709 Overview (mindmap edition) FinalBenedict Yong (杨腾翔)
 
RISC-V Linker Relaxation and LLD
RISC-V Linker Relaxation and LLDRISC-V Linker Relaxation and LLD
RISC-V Linker Relaxation and LLDRay Song
 

Mais procurados (18)

On unifying query languages for RDF streams
On unifying query languages for RDF streamsOn unifying query languages for RDF streams
On unifying query languages for RDF streams
 
A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)A Brief Introduction of TiDB (Percona Live)
A Brief Introduction of TiDB (Percona Live)
 
Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...Building a transactional key-value store that scales to 100+ nodes (percona l...
Building a transactional key-value store that scales to 100+ nodes (percona l...
 
Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...Inside LoLA - Experiences from building a state space tool for place transiti...
Inside LoLA - Experiences from building a state space tool for place transiti...
 
TiDB as an HTAP Database
TiDB as an HTAP DatabaseTiDB as an HTAP Database
TiDB as an HTAP Database
 
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
Flink Forward Berlin 2017: Roberto Bentivoglio, Saverio Veltri - NSDB (Natura...
 
TiDB for Big Data
TiDB for Big DataTiDB for Big Data
TiDB for Big Data
 
Instruction types
Instruction typesInstruction types
Instruction types
 
How does Context Affect the Distribution of Software Maintainability Metrics?
How does Context Affect the Distribution of Software Maintainability Metrics?How does Context Affect the Distribution of Software Maintainability Metrics?
How does Context Affect the Distribution of Software Maintainability Metrics?
 
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...
Flink Forward Berlin 2018: Xingcan Cui - "Stream Join in Flink: from Discrete...
 
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...
Flink Forward Berlin 2017: Andreas Kunft - Efficiently executing R Dataframes...
 
B instruction set
B instruction setB instruction set
B instruction set
 
gcov和clang中的实现
gcov和clang中的实现gcov和clang中的实现
gcov和clang中的实现
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
 
ceROVe
ceROVeceROVe
ceROVe
 
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
 
SAP S4 HANA SD 1709 Overview (mindmap edition) Final
SAP S4 HANA SD 1709 Overview (mindmap edition) FinalSAP S4 HANA SD 1709 Overview (mindmap edition) Final
SAP S4 HANA SD 1709 Overview (mindmap edition) Final
 
RISC-V Linker Relaxation and LLD
RISC-V Linker Relaxation and LLDRISC-V Linker Relaxation and LLD
RISC-V Linker Relaxation and LLD
 

Semelhante a GTS Families for the flexible composition of graph transformation systems

Optimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesOptimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesHPCC Systems
 
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...Hsien-Hsin Sean Lee, Ph.D.
 
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and EverythingJeff Squyres
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
Gearpump akka streams
Gearpump akka streamsGearpump akka streams
Gearpump akka streamsKam Kasravi
 
Optimization of graph storage using GoFFish
Optimization of graph storage using GoFFishOptimization of graph storage using GoFFish
Optimization of graph storage using GoFFishAnushree Prasanna Kumar
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
Patterns in the cloud
Patterns in the cloudPatterns in the cloud
Patterns in the cloudDavid Manning
 
Grid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objectsGrid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objectsYunsu Lee
 
Seminar @ U of Tokyo: 2014.04.14
Seminar @ U of Tokyo: 2014.04.14Seminar @ U of Tokyo: 2014.04.14
Seminar @ U of Tokyo: 2014.04.14Yoshitaro Takaesu
 
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT VLSICS Design
 
LDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check MatrixLDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check MatrixKavi
 
Module 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingModule 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingAmogha Bandrikalli
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid storyJesse Vincent
 
An Introduction to Distributed Data Streaming
An Introduction to Distributed Data StreamingAn Introduction to Distributed Data Streaming
An Introduction to Distributed Data StreamingParis Carbone
 
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]Kevin Xu
 

Semelhante a GTS Families for the flexible composition of graph transformation systems (20)

Lecture7.pdf
Lecture7.pdfLecture7.pdf
Lecture7.pdf
 
Optimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix SchemesOptimizing Set-Similarity Join and Search with Different Prefix Schemes
Optimizing Set-Similarity Join and Search with Different Prefix Schemes
 
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
 
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
 
Synthese
SyntheseSynthese
Synthese
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
Gearpump akka streams
Gearpump akka streamsGearpump akka streams
Gearpump akka streams
 
syn3-en.pdf
syn3-en.pdfsyn3-en.pdf
syn3-en.pdf
 
Optimization of graph storage using GoFFish
Optimization of graph storage using GoFFishOptimization of graph storage using GoFFish
Optimization of graph storage using GoFFish
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Patterns in the cloud
Patterns in the cloudPatterns in the cloud
Patterns in the cloud
 
Grid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objectsGrid based distributed in memory indexing for moving objects
Grid based distributed in memory indexing for moving objects
 
Seminar @ U of Tokyo: 2014.04.14
Seminar @ U of Tokyo: 2014.04.14Seminar @ U of Tokyo: 2014.04.14
Seminar @ U of Tokyo: 2014.04.14
 
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT
IMPLEMENTATION OF SDC - SDF ARCHITECTURE FOR RADIX-4 FFT
 
LDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check MatrixLDPC - Low Density Parity Check Matrix
LDPC - Low Density Parity Check Matrix
 
Module 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingModule 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and Programming
 
RT4 - The whole sordid story
RT4 - The whole sordid storyRT4 - The whole sordid story
RT4 - The whole sordid story
 
An Introduction to Distributed Data Streaming
An Introduction to Distributed Data StreamingAn Introduction to Distributed Data Streaming
An Introduction to Distributed Data Streaming
 
pattern mining
pattern miningpattern mining
pattern mining
 
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
Introducing TiDB [Delivered: 09/27/18 at NYC SQL Meetup]
 

Último

fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyDrAnita Sharma
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)Areesha Ahmad
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.Nitya salvi
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 

Último (20)

fundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomologyfundamental of entomology all in one topics of entomology
fundamental of entomology all in one topics of entomology
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 

GTS Families for the flexible composition of graph transformation systems

  • 1. GTS Families for the flexible composition of graph transformation systems Steffen Zschaler and Francisco Durán FASE 2017 27 April, 2017
  • 2. Motivation • GTSs are great for specification – Both graphical and formal • GTS morphisms are a key ingredient – Enable many operations: refinement, parametrisation, import/export interfaces, transformation reuse, GTS composition, … – Because structure/relationships are preserved, can guarantee properties • Ensure refinement semantics, ensure syntactic correctness of reuse, ensure semantic correctness of composition, … 27/04/2017 2
  • 3. Graph Transformation Systems (GTSs) • Collection of transformation rules over graphs 27/04/2017 3 L K R l r
  • 4. Graph Transformation Systems (GTSs) • Collection of transformation rules over graphs • Typed over a common type graph TG 27/04/2017 3 L K R l r TG type type type
  • 5. GTS morphisms 27/04/2017 4 L1 K1 R1 l1 r1 TG1 type1 type1 type1
  • 6. GTS morphisms • Relates two GTSs by 27/04/2017 4 L1 K1 R1 l1 r1 TG1 type1 type1 type1 L2 K2 R2 l2 r2 TG2 type2 type2 type2
  • 7. GTS morphisms • Relates two GTSs by – Relating the type graphs 27/04/2017 4 L1 K1 R1 l1 r1 TG1 type1 type1 type1 L2 K2 R2 l2 r2 TG2 type2 type2 type2 fTG
  • 8. GTS morphisms • Relates two GTSs by – Relating the type graphs – Relating the set of rules 27/04/2017 4 L1 K1 R1 l1 r1 TG1 type1 type1 type1 L2 K2 R2 l2 r2 TG2 type2 type2 type2 fL fK fR fTG pb pb
  • 9. Problem • GTSs morphisms are too inflexible – Require very close match between type-graph structures – Require very close match between rule structures • This limits usefulness – Refinement limited to adding, no reorganisation allowed – Reuse only for structurally highly aligned systems 27/04/2017 5
  • 10. Example (1) • Imagine the following abstract GTS – A server processes elements and keeps track of what it has produced 27/04/2017 6 TG0 Queue Server Element elts outin OutputInput made Rules0 Process0 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in made …
  • 11. Example (2) • Consider the following concrete GTS – Describes production-line systems – Machines in a production line produce parts from other parts 27/04/2017 7 Rules2 Process2 … out p : Polishert : Tray c : Conveyor p : Part in out p : Polishert : Tray c : Conveyor p : Part in LHS RHS parts parts TG2 GenHead GenHandle Tray Conveyor Hammer Handle Head Machine Part Container Assemble Generator parts out in out Polisher
  • 12. Example (3) • Can we add output tracking to the production-line GTS? – Parametrise as below, then compose GTSs 27/04/2017 8 TG1 Queue Server Element elts outin OutputInput Rules1 Process1 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in …
  • 13. Example (4) • Composition scheme: GTS1 GTS0 GTS2
  • 14. Example (4) • Composition scheme: GTS1 GTS0 GTS2 GTScomposed
  • 15. Example (4) • Composition scheme: • Have results for behaviour protection – Require GTS morphisms for all arrows GTS1 GTS0 GTS2 Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler: Amalgamation of Domain Specific Languages with Behaviour. Journal of Logical and Algebraic Methods in Programming, 86(1): 208--235, Jan. 2017 GTScomposed
  • 16. Example (4) • Composition scheme: • Have results for behaviour protection – Require GTS morphisms for all arrows GTS1 GTS0 GTS2 Francisco Durán, Antonio Moreno-Delgado, Fernando Orejas, and Steffen Zschaler: Amalgamation of Domain Specific Languages with Behaviour. Journal of Logical and Algebraic Methods in Programming, 86(1): 208--235, Jan. 2017 GTScomposed Production-line systems are, essentially, servers processing elements, so we would expect to be able to establish morphisms. Unfortunately, we cannot!
  • 17. Example (5) 27/04/2017 10 TG2 GenHead GenHandle Tray Conveyor Hammer Handle Head Machine Part Container Assemble Generator parts out in out Polisher TG1 Queue Server Element elts outin OutputInput
  • 18. Example (5) 27/04/2017 10 TG2 GenHead GenHandle Tray Conveyor Hammer Handle Head Machine Part Container Assemble Generator parts out in out Polisher TG1 Queue Server Element elts outin OutputInput
  • 19. Example (5) 27/04/2017 10 TG2 GenHead GenHandle Tray Conveyor Hammer Handle Head Machine Part Container Assemble Generator parts out in out Polisher TG1 Queue Server Element elts outin OutputInput Cannot both go to same type
  • 20. Example (5) 27/04/2017 10 Rules1 Process1 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in … Rules2 Process2 … out p : Polishert : Tray c : Conveyor p : Part in out p : Polishert : Tray c : Conveyor p : Part in LHS RHS parts parts
  • 21. Example (5) 27/04/2017 10 Rules1 Process1 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in … Rules2 Process2 … out p : Polishert : Tray c : Conveyor p : Part in out p : Polishert : Tray c : Conveyor p : Part in LHS RHS parts parts
  • 22. Example (5) 27/04/2017 10 Rules1 Process1 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in … Rules2 Process2 … out p : Polishert : Tray c : Conveyor p : Part in out p : Polishert : Tray c : Conveyor p : Part in LHS RHS parts partsGTS2 expects different types of Queues in the rule
  • 23. Solution Idea • For static graphs, similar problems have dedicated solutions: – Clan morphisms – Kleisli morphisms Allow for transformations of the graph before establishing morphism • Can we generalise to GTSs? – Allow for transformations of GTS before establishing morphism – Want to be able to specify what transformations are acceptable 27/04/2017 11
  • 24. GTS Families 27/04/2017 12 GTS0 GTS2 GTS1 GTS3 GTS4 … … … … t0 t1 t2 t3 ; ti  T[GTS0]T =
  • 27. Extended Composition Scheme GTS’1 GTS’0 GTS2 GTScomposed [GTS1]T [GTS0]T • Need to make sure that GTS’1  GTS’0 is an extension if GTS1  GTS0 is an extension  Extension-preserving transformers
  • 28. Example extension-preserving transformers Name Description IntroSC Non-deterministically introduces sub-classes in the type graph Does not change set of rules InhUnfld Does not change type graph Unfolds inheritance for one rule, one class, and its sub-classes Copies all other rules MvAssoc Attempts to move the target of a random association to a sub-class Does not change the set of rules 27/04/2017 14
  • 29. Example extension-preserving transformers Name Description IntroSC Non-deterministically introduces sub-classes in the type graph Does not change set of rules InhUnfld Does not change type graph Unfolds inheritance for one rule, one class, and its sub-classes Copies all other rules MvAssoc Attempts to move the target of a random association to a sub-class Does not change the set of rules 27/04/2017 14 Recently combined into MvAssocTrgt
  • 30. Searching through the family 27/04/2017 15 LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in QueueServer Element elts out in Output Input
  • 31. Searching through the family 27/04/2017 15 IntroSC(Queue, Queue1) LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in QueueServer Element elts out in Output Input
  • 32. Searching through the family 27/04/2017 15 IntroSC(Queue, Queue1) LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in QueueServer Element elts out in Queue1 Output Input
  • 33. Searching through the family 27/04/2017 15 IntroSC(Queue, Queue2) LHS RHS out s : Serverq1 : Queue q2 : Queue i : Input in elts elts out s : Serverq1 : Queue q2 : Queue o : Output in QueueServer Element elts out in Queue1 Queue2 Output Input
  • 34. Searching through the family 27/04/2017 15 MvAssocTrgt(out, Queue, Queue2) LHS RHS out s : Serverq1 : Queue q2 : Queue2 i : Input in elts elts out s : Serverq1 : Queue q2 : Queue2 o : Output in QueueServer Element elts out in Queue1 Queue2 Output Input
  • 35. Searching through the family 27/04/2017 15 MvAssocTrgt(in, Queue, Queue1) LHS RHS out s : Serverq1 : Queue1 q2 : Queue2 i : Input in elts elts out s : Serverq1 : Queue1 q2 : Queue2 o : Output in QueueServer Element elts out in Queue1 Queue2 Output Input
  • 36. Process1 Process2 TG2 TG1 Resulting morphism 27/04/2017 16 GenHead GenHandle Tray Conveyor Hammer Handle Head Machine Part Container Assemble Generator parts out in out Polisher Server elts inout Output Input Element Queue2 Queue1 Queue elts out p : Polishert : Tray c : Conveyor p : Part in out p : Polishert : Tray c : Conveyor p : Part in LHS RHS parts parts LHS RHS out s : Server1q1 : Queue1 q2 : Queue2 i : Input in elts elts out s : Server1q1 : Queue1 q2 : Queue2 o : Output in
  • 37. Conclusions & Outlook • GTS families are a new way of studying adaptation of GTSs – Paper lays out the formal details and provides proofs • More research required: – Other scenarios will need other transformer properties • Behaviour preserving/reflecting, … – Can TG-level techniques be fully subsumed? – Other useful transformers? 27/04/2017 17