Equivalence and Independence in Controlled Graph-Rewriting Processes - - PowerPoint PPT Presentation

equivalence and independence in controlled graph
SMART_READER_LITE
LIVE PREVIEW

Equivalence and Independence in Controlled Graph-Rewriting Processes - - PowerPoint PPT Presentation

Introduction Unmarked Processes Marked Processes Abstraction Independence Equivalence and Independence in Controlled Graph-Rewriting Processes ICGT@STAF 2018, Toulouse ar 1 , Andrea Corradini 2 , Malte Lochau 1 G eza Kulcs 1 Real-Time


slide-1
SLIDE 1

Introduction Unmarked Processes Marked Processes Abstraction Independence

Equivalence and Independence in Controlled Graph-Rewriting Processes

ICGT@STAF 2018, Toulouse G´ eza Kulcs´ ar1, Andrea Corradini2, Malte Lochau1

1Real-Time Systems Lab, TU Darmstadt 2Department of Computer Science, University of Pisa

geza.kulcsar@es.tu-darmstadt.de

June 26, 2018

1 / 18

slide-2
SLIDE 2

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic

2 / 18

slide-3
SLIDE 3

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:

2 / 18

slide-4
SLIDE 4

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization

2 / 18

slide-5
SLIDE 5

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals

2 / 18

slide-6
SLIDE 6

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion

2 / 18

slide-7
SLIDE 7

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion
  • parallelism

2 / 18

slide-8
SLIDE 8

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion
  • parallelism
  • ⇒ Controlled graph rewriting [Bunke, Sch¨

urr, Habel & Plump, Plump & Steinert, Kreowski et al.; PROGRES, Fujaba, eMoflon]

2 / 18

slide-9
SLIDE 9

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion
  • parallelism
  • ⇒ Controlled graph rewriting [Bunke, Sch¨

urr, Habel & Plump, Plump & Steinert, Kreowski et al.; PROGRES, Fujaba, eMoflon]

  • However, mostly I/O semantics so far, not considering:

2 / 18

slide-10
SLIDE 10

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion
  • parallelism
  • ⇒ Controlled graph rewriting [Bunke, Sch¨

urr, Habel & Plump, Plump & Steinert, Kreowski et al.; PROGRES, Fujaba, eMoflon]

  • However, mostly I/O semantics so far, not considering:
  • Concurrency in graph-rewriting algorithms

2 / 18

slide-11
SLIDE 11

Introduction Unmarked Processes Marked Processes Abstraction Independence

Motivation

  • Graph-rewriting systems are inherently non-deterministic
  • When designing algorithms, need to add control structures:
  • sequentialization
  • conditionals
  • iteration and recursion
  • parallelism
  • ⇒ Controlled graph rewriting [Bunke, Sch¨

urr, Habel & Plump, Plump & Steinert, Kreowski et al.; PROGRES, Fujaba, eMoflon]

  • However, mostly I/O semantics so far, not considering:
  • Concurrency in graph-rewriting algorithms
  • Reactive (non-terminating) specifications

2 / 18

slide-12
SLIDE 12

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

3 / 18

slide-13
SLIDE 13

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

  • Transition systems both for control processes and for their

executions on graphs

3 / 18

slide-14
SLIDE 14

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

  • Transition systems both for control processes and for their

executions on graphs

  • Expressiveness of our control language (encoding graph

programs by Habel & Plump)

3 / 18

slide-15
SLIDE 15

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

  • Transition systems both for control processes and for their

executions on graphs

  • Expressiveness of our control language (encoding graph

programs by Habel & Plump)

  • Handling of parallel rules and derivations by synchronization

3 / 18

slide-16
SLIDE 16

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

  • Transition systems both for control processes and for their

executions on graphs

  • Expressiveness of our control language (encoding graph

programs by Habel & Plump)

  • Handling of parallel rules and derivations by synchronization
  • An abstract semantics, with graphs up to isomorphism

3 / 18

slide-17
SLIDE 17

Introduction Unmarked Processes Marked Processes Abstraction Independence

In this paper...

  • Process-algebraic (CCS-like) syntax and semantics for

controlled graph rewriting

  • Transition systems both for control processes and for their

executions on graphs

  • Expressiveness of our control language (encoding graph

programs by Habel & Plump)

  • Handling of parallel rules and derivations by synchronization
  • An abstract semantics, with graphs up to isomorphism
  • Equivalence and congruence notions of CCS are reflected in
  • ur setting

3 / 18

slide-18
SLIDE 18

Introduction Unmarked Processes Marked Processes Abstraction Independence

Graph-Rewriting Actions

  • DPO rules:

p : (L ← K → R)

  • . . . Parallel composition of DPO rules:

p1|p2 : ( L1 + L2 ← K1 + K2 → R1 + R2 )

  • R is the set of rule names, R∗ the set of parallel rule names

ranged over by ρ

  • Actions are pairs (ρ, N) ∈ Act where ρ ∈ R∗ and N ⊆ R is a

set of non-applicability conditions

4 / 18

slide-19
SLIDE 19

Introduction Unmarked Processes Marked Processes Abstraction Independence

Unmarked Processes

  • Unmarked processes specify control over rule applications,

having a CCS-like syntax

Definition (Unmarked Process Term Syntax)

P, Q ::= 0 | γ.P | A | P + Q | P || Q where γ ranges over Act and A := P.

5 / 18

slide-20
SLIDE 20

Introduction Unmarked Processes Marked Processes Abstraction Independence

Unmarked Transition System (UTS)

  • The semantics of unmarked processes is an LTS where states

are processes and transitions are labeled with actions

PRE

γ.P

γ

− → P

STOP

− → 0

CHOICE

P

γ

− → P′ P + Q

γ

− → P′

PAR

P

γ

− → P′ P || Q

γ

− → P′ || Q

REC

A := P P

α

− → P′ A α − → P′

SYNC

P

(ρ1,N1)

− − − − → P′ Q

(ρ2,N2)

− − − − → Q′ P || Q

(ρ1|ρ2,N1∪N2)

− − − − − − − − → P′ || Q′

6 / 18

slide-21
SLIDE 21

Introduction Unmarked Processes Marked Processes Abstraction Independence

Rule Applications

  • G

ρ@m

= = ⇒ H

L K

l

G

m

D (PO)

f k

R H

r n g

(PO)

ρ

  • A linear derivation from G0 is a sequence of rule applications

G0

p1@m1

= = = ⇒ . . .

pn@mn

= = = = ⇒ Gn with no parallel rules

  • A parallel derivation from G0 is a sequence of rule applications

G0

ρ1@m1

= = = ⇒ . . .

ρn@mn

= = = = ⇒ Gn with (potentially) parallel rules ρi = pi1| . . . |pik

7 / 18

slide-22
SLIDE 22

Introduction Unmarked Processes Marked Processes Abstraction Independence

Marked Transition System (MTS)

MARK

P

(ρ,N)

− − − → P′ G

ρ@m

= = ⇒ H ∀p ∈ N : G

p

= ⇒ (P, G)

(ρ,δ,N)

− − − − →M (P′, H)

L K

δ :=

l

G

m

D (PO)

f k

R H

r n g

(PO)

ρ

STOP

P

→ P′ (P, G) − →M (P′, G)

8 / 18

slide-23
SLIDE 23

Introduction Unmarked Processes Marked Processes Abstraction Independence

Equivalence of Graph-Rewriting Processes

  • A trace of a state P is a sequence of transition labels starting

from it, e.g., (ρ1, δ1, N1)(ρ2, δ2, N2) . . . (ρn, δn, Nn)

  • P and Q are trace equivalent (P ≃T Q) if they have the same

set of traces

  • P and Q are bisimilar (P ≃BS Q) if for each P

α

− →M P′, there is Q

α

− →M Q′ such that P′ ≃BS Q′ (and vice versa)

Proposition

For any unmarked processes P, Q and graph G,

  • P ≃BS Q implies (P, G) ≃BS

M (Q, G)

  • P ≃T Q implies (P, G) ≃T

M (Q, G)

9 / 18

slide-24
SLIDE 24

Introduction Unmarked Processes Marked Processes Abstraction Independence

Correspondence between Traces and Derivations

  • Each successful trace of a marked process (P, G) uniquely

identifies an underlying parallel derivation of R from G. (ρ1, δ1, N1)(ρ2, δ2, N2) . . . (ρn, δn, Nn)

10 / 18

slide-25
SLIDE 25

Introduction Unmarked Processes Marked Processes Abstraction Independence

Correspondence between Traces and Derivations

  • Each successful trace of a marked process (P, G) uniquely

identifies an underlying parallel derivation of R from G. (ρ1, δ1, N1)(ρ2, δ2, N2) . . . (ρn, δn, Nn)

  • We can construct a process

PR = 0 +

  • p∈R

p.PR such that (PR, G) has as successful trace each linear derivation starting from a graph G...

10 / 18

slide-26
SLIDE 26

Introduction Unmarked Processes Marked Processes Abstraction Independence

Correspondence between Traces and Derivations

  • Each successful trace of a marked process (P, G) uniquely

identifies an underlying parallel derivation of R from G. (ρ1, δ1, N1)(ρ2, δ2, N2) . . . (ρn, δn, Nn)

  • We can construct a process

PR = 0 +

  • p∈R

p.PR such that (PR, G) has as successful trace each linear derivation starting from a graph G...

  • ...and we can do the same for parallel derivations:

QR = 0 +

  • (
  • p∈R

p.0 + ε.0) || QR

  • 10 / 18
slide-27
SLIDE 27

Introduction Unmarked Processes Marked Processes Abstraction Independence

Expressiveness: Encoding Graph Programs

  • Reference: a minimal control language, graph programs, being

computationally complete [Habel & Plump 2001]

11 / 18

slide-28
SLIDE 28

Introduction Unmarked Processes Marked Processes Abstraction Independence

Expressiveness: Encoding Graph Programs

  • Reference: a minimal control language, graph programs, being

computationally complete [Habel & Plump 2001]

  • choice, sequential composition, as-long-as-possible iteration

11 / 18

slide-29
SLIDE 29

Introduction Unmarked Processes Marked Processes Abstraction Independence

Expressiveness: Encoding Graph Programs

  • Reference: a minimal control language, graph programs, being

computationally complete [Habel & Plump 2001]

  • choice, sequential composition, as-long-as-possible iteration
  • Graph programs can be encoded into unmarked processes,

even without using parallel composition:

  • If GP = {p1, . . . , pn} is an elementary graph program, then

[ [GP] ] := n

i=1 pi.0.

  • [

[GP1; GP2] ] := [ [GP1] ] [ [GP2] ].

  • [

[GP ↓] ] := AGP↓ ∈ K where AGP↓ := [ [GP] ] AGP↓ + [ [GP] ].

where P Q := P[Q/0] (syntactic substitution)

11 / 18

slide-30
SLIDE 30

Introduction Unmarked Processes Marked Processes Abstraction Independence

Expressiveness: Encoding Graph Programs

  • Reference: a minimal control language, graph programs, being

computationally complete [Habel & Plump 2001]

  • choice, sequential composition, as-long-as-possible iteration
  • Graph programs can be encoded into unmarked processes,

even without using parallel composition:

  • If GP = {p1, . . . , pn} is an elementary graph program, then

[ [GP] ] := n

i=1 pi.0.

  • [

[GP1; GP2] ] := [ [GP1] ] [ [GP2] ].

  • [

[GP ↓] ] := AGP↓ ∈ K where AGP↓ := [ [GP] ] AGP↓ + [ [GP] ].

where P Q := P[Q/0] (syntactic substitution)

[ [GP] ] is a process representing the termination criterion for GP iteration

  • defined inductively using non-applicability conditions
  • successful exactly if [

[GP] ] fails

11 / 18

slide-31
SLIDE 31

Introduction Unmarked Processes Marked Processes Abstraction Independence

Abstract MTS

  • This “concrete” MTS definition is infinitely branching

Definition (Abstract Marked Transition System)

[G] denotes the isomorphism class of graph G and [δ] the isomorphism class of DPO diagram δ.

MARK

P

(ρ,N)

− − − → P′ G

ρ@m

= = ⇒ H ∀p ∈ N : G

p

= ⇒ (P, [G])

(ρ,[δ],N)

− − − − − →A (P′, [H])

12 / 18

slide-32
SLIDE 32

Introduction Unmarked Processes Marked Processes Abstraction Independence

Abstraction Preserves Bisimilarity and Trace Equivalence

Proposition

For any unmarked processes P, Q and graphs G, H,

  • (P, G) ≃BS

M (Q, H) implies (P, [G]) ≃BS A

(Q, [H])

  • (P, G) ≃T

M (Q, H) implies (P, [G]) ≃T A (Q, [H])

13 / 18

slide-33
SLIDE 33

Introduction Unmarked Processes Marked Processes Abstraction Independence

Abstract Bisimilarity is a Congruence

Given P, Q, R ∈ P with P ≃BS Q. (P + R, [G]) ≃BS

A

(Q + R, [G]), (P || R, [G]) ≃BS

A

(Q || R, [G]), and (γ.P, [G]) ≃BS

A

(γ.Q, [G]) for any γ ∈ Act

14 / 18

slide-34
SLIDE 34

Introduction Unmarked Processes Marked Processes Abstraction Independence

Parallel Independence and Bisimulation

Let P0 := ρ1.(ρ2 || P) + ρ2.(ρ1 || P) and Q0 := ρ1.P || ρ2.0. There exist parallel independent applications ρ1@m1, ρ2@m2 on G, if and

  • nly if (P0, [G]) ≃BS

D (Q0, [G]).

P0 ρ1 || P

ρ2

ρ2 || P

ρ1

P

ρ2 ρ1

Q0 ρ1.P

ρ2

ρ2 || P

ρ1

P

ρ2 ρ1 ρ1 | ρ2

15 / 18

slide-35
SLIDE 35

Introduction Unmarked Processes Marked Processes Abstraction Independence

Related Work

  • Concurrent Semantics
  • Formal notion of (concurrent) graph processes (Corradini et al.

1996, Baldan et al. 1999)

  • Semantics of control:
  • A denotational input/output semantics for controlled

graph-rewriting processes (Sch¨ urr 1996)

  • Composable graph transformation units (Kreowski et al. 2008)
  • Graph Programs, a graph programming language with an
  • perational semantics and results regarding computational

completeness (Plump and Habel 2001, Plump and Steinert 2009)

  • Tool support: Henshin, PROGRES, eMoflon, ...

16 / 18

slide-36
SLIDE 36

Introduction Unmarked Processes Marked Processes Abstraction Independence

Conclusion and Ongoing Work

  • We proposed to extend graph rewriting by a process-algebraic

control layer and obtained (preserved) results from CCS theory

17 / 18

slide-37
SLIDE 37

Introduction Unmarked Processes Marked Processes Abstraction Independence

Conclusion and Ongoing Work

  • We proposed to extend graph rewriting by a process-algebraic

control layer and obtained (preserved) results from CCS theory

  • The concrete MTS has too much information (and is too

strict)

  • ⇒ an abstract interpretation semantics to obtain equivalences

weaker then isomorphism

17 / 18

slide-38
SLIDE 38

Introduction Unmarked Processes Marked Processes Abstraction Independence

Conclusion and Ongoing Work

  • We proposed to extend graph rewriting by a process-algebraic

control layer and obtained (preserved) results from CCS theory

  • The concrete MTS has too much information (and is too

strict)

  • ⇒ an abstract interpretation semantics to obtain equivalences

weaker then isomorphism

  • The abstract MTS cannot capture the truly concurrent

semantics of graph rewriting

  • ⇒ capture independence in an asynchronous transition system

17 / 18

slide-39
SLIDE 39

Introduction Unmarked Processes Marked Processes Abstraction Independence

Backup: Encoding Termination Criterion

  • [

[GP] ] is an inductive termination criterion:

[ [GP] ] := (ε, {p1, . . . , pn}).0 if GP = {p1, . . . , pn} is an elementary program;

  • [

[GP1; GP2] ] := [ [GP1] ] + [ [GP1] ] [ [GP2] ];

  • [

[GP ↓] ] := (p, {p}).0, where p is any rule.

18 / 18