I-Neighbourhood Abstraction in Graph Transformation Arend Rensink University of Twente Based on work...

Post on 04-Jan-2016

218 views 0 download

Tags:

Transcript of I-Neighbourhood Abstraction in Graph Transformation Arend Rensink University of Twente Based on work...

i-Neighbourhood Abstraction in

Graph TransformationArend Rensink

University of Twente

Based on work with:Jörg Bauer, Iovka Boneva, Dino Distefano,

Marcus Kurban

AHA, Berlin, July 2007

AHA, Berlin, July 2007Abstraction in Graph

Transformation2

Outline

• Setting– Graphs, rules, productions

• Abstraction– Quotients, neighbourhoods, shapes

• Logic– Modalities, preservation

• Framework– Extraction, transformation, normalization

• Conclusion– Future work

AHA, Berlin, July 2007Abstraction in Graph

Transformation3

Setting

• System specification: Graph grammar– Graph transformation rules + start graph– May be generated from specification or

programming language, or given directly• Requirements: LTL properties– Propositions are predicates over graphs

• Verification: model checking– States = graphs, transitions = productions

• Problem: the usual– Very large or infinite state spaces– Genericity of analysis

AHA, Berlin, July 2007Abstraction in Graph

Transformation4

Graph formalism

• Graphs in this presentation:– Directed, edge-labelled– Simple (no parallel identically labelled

edges)– Flat (not hierarchical)

• Formally: G = (N,E) with– L universe of labels– N finite set of nodes– E N L N? finite set of labelled edges

((v,a,?) is effectively a node label)• Morphisms (partial/total)– Structure-preserving node mappings

AHA, Berlin, July 2007Abstraction in Graph

Transformation5

LHS

Rule formalism

• LHS is matched to host graph• Matched elements outside

morphism domain are deleted• Elements outside morphism

codomain are added• NACs are forbidden

1:Customer

2:Cart

RHS

1:Customer

2:Cart

cart

partia

l morp

hism

NAC

1:Customer

3:Cart

NAC

3:Customer

2:Cart

AHA, Berlin, July 2007Abstraction in Graph

Transformation6

Single-graph view on rules

Red dashed:

NAC \ LHS

Black: LHS Å RHS

Green: RHS \ LHS

AHA, Berlin, July 2007Abstraction in Graph

Transformation7

forbidden

Graph Productions

Production rule

host graph

matching

Graph transition

src(t) tgt(t)morph(t) result

graph

pushout

NACNACNACs

(SPO = Single Pushout Approach)

LHS RHSrule morphism

(partial)

AHA, Berlin, July 2007Abstraction in Graph

Transformation8

Outline

• Setting– Graphs, rules, productions

• Abstraction– Quotients, neighbourhoods, shapes

• Logic– Modalities, preservation

• Framework– Extraction, transformation, normalization

• Conclusion– Future work

AHA, Berlin, July 2007Abstraction in Graph

Transformation9

Abstraction: Requirements

• Productions should be preservedG -p-> H implies (G) –p-> (H)

• No spurious productionsX–p->Y implies G –p-> H– for some G 2 -1(X) and some H 2 -1(Y) – for all G 2 -1(X), for some H 2 -1(Y)

(i.e., rule applicability is reflected)

• Properties should be reflected– (G) ² implies G ² – Inductively carries over to LTL operators

Method suitable for liveness properties

(But few liveness properties hold

on abstract model)

AHA, Berlin, July 2007Abstraction in Graph

Transformation10

Abstraction: Idea

• Quotient the graph w.r.t. similarity:G/» = (N/», E/», mult) with

N/» = { [v]» | v 2 N }E/» = { ([v]», a, [w]») | (v,a,w) 2 E }mult: V |V|M for V 2 N/»

(bounded multiplicities: M = {0,1,…,})

• Similarity should preserve structure:– v » w implies in(v) = in(w) with

• in(v) = { a | 9 v’: (v’,a,v) 2 E }, or• in(v) = { (a,|V|M) | V = {v’|(v’,a,v)2E} ; }

– Analogous for out and node labels

AHA, Berlin, July 2007Abstraction in Graph

Transformation11

Examples

• Similarity without edge multiplicities– all Objects similar

• Similarity with edge multiplicities– sharing information preserved

List Cell Cell Cell Cell

Object Object Object

next next next next

val val val val

AHA, Berlin, July 2007Abstraction in Graph

Transformation12

Abstraction: Neighbourhoods

Family (»i)i of refining similarity relations

• Basis »0: node label equality

• v »i+1 w iff v »i w and for all U 2 N/»i: – inM(v,U) = inM(w,U)

– outM(v,U) = outM(w,U)

whereinM(v,U) = { (a,|V|M) | V = {v’2U|(v’,a,v)2E} ; }

(and analogous for outM(v,U))

• Intuition: (enriched) bisimilarity – More general: partition refinement

AHA, Berlin, July 2007Abstraction in Graph

Transformation13

Example

List Cell Cell Cell Cell

Object Object Object

next next next next

val val val val

List Cell Cell Cell Cell

Object Object Object

next next next next

val val val val

List Cell Cell Cell Cell

Object Object Object

next next next next

val val val val

»0

»1

»2

AHA, Berlin, July 2007Abstraction in Graph

Transformation14

Shapes

• Graph quotient has no edge multiplicities – Not suitable for canonical abstraction

• Shape: (G,',multn,multin,multout) with– G: (quotiented) graph– ' µ NG£ NG: grouping relation

– multn: NG ! M: node multiplicity function

– multin: NG £ L £ (NG/') ! M: incoming edge multiplicity function

– multout: analogous to multin

• Edge multiplicities measured w.r.t. '

AHA, Berlin, July 2007Abstraction in Graph

Transformation15

Shape of a graph

• S shapes G if there is a morphism s with– s a morphism from G to GS

– for all v 2 NS: multn(v) = |s-1(v)|M

– for all v = s(w), a 2 L and U 2 NS/'S:multin(v,a,U) = | {w’2s-1(U)|(w’,a,w)2ES} |M

• Shape constructed from G using two equivalences: S = G/´,' (with ´ µ ') – Quotienting done w.r.t. ´– Grouping relation derived from '

• i-neighbourhood shape: SGi = G/»i,»i-1

AHA, Berlin, July 2007Abstraction in Graph

Transformation16

Canonical names

• i-neighbourhood shapes have a canonical representation– Unique up to isomorphism– Good for join & symmetry reduction

• i-Level canonical names (L finite):– Node names: CN0 = 2L (node labels) CNi+1 = CNi £ (CNi £ L ! M)2

– Edge names: CEi = CNi £ L £ CNi

– Ci(G) = (nameGi(NG), nameG

i(EG), mult)

• Theor: SGi SH

i if and only if Ci(G) = Ci(H)

Canonical name construction for G,

also defined inductively

AHA, Berlin, July 2007Abstraction in Graph

Transformation17

Outline

• Setting– Graphs, rules, productions

• Abstraction– Quotients, neighbourhoods, shapes

• Logic– Modalities, preservation

• Framework– Extraction, transformation, normalization

• Conclusion– Future work

AHA, Berlin, July 2007Abstraction in Graph

Transformation18

Logic

• Modal fragment ML of FOL ::= True | p | : | Ç | iai¢ | hah¢ – p stands for a node label– iai¢ : there are (at least) outgoing a-

edges of which the target satisfies ( 2 M)– Other operators standard

• Satisfaction for graphs straightforward– Predicate G, v ² (where v 2 N

G)

– G,v ² iai¢ iff · | {v’|(v,a,v’)2E, G,v’² } |M

• ML[i]: modalities nested up to i deep

AHA, Berlin, July 2007Abstraction in Graph

Transformation19

Example properties

• For the shopping example:– An item is owned by a shop or a customer:

Item ) hownsh ¢ (Shop Ç Customer)– All items on a shop rack are shop-owned:

Shop ) ]rack] ¢ ]contains] ¢ hownsh ¢ Shop

– A customer has at most one cart:Customer ) : icarti ¢ true

• For the list example:– There is no list with exactly 1 element:

List ) : inexti ¢ : inexti ¢ True– Objects are not shared:

Object ) : hvalh ¢ true

Not necessaryly the same shop!

AHA, Berlin, July 2007Abstraction in Graph

Transformation20

Result: Property preservation

• Extend satisfaction to shapes– S,v ² iai ¢ iff · U2X multout(v,a,U)

where X = { U 2 NS/' | 8 v2U: S,v ² }

• Theorem: for all 2 ML[i], all G and all v 2 NG: G,v ² iff SG

i, s(v) ²

• In words: All properties in i-nested modal logic are preserved and reflected by i-neighbourhood abstraction

AHA, Berlin, July 2007Abstraction in Graph

Transformation21

Outline

• Setting– Graphs, rules, productions

• Abstraction– Quotients, neighbourhoods, shapes

• Logic– Modalities, preservation

• Framework– Extraction, transformation, normalization

• Conclusion– Future work

AHA, Berlin, July 2007Abstraction in Graph

Transformation22

Framework

• Basic idea: build a LTS based on shapes– Define “shape transformation”

• Concepts:– p: LHS ! S is a pre-matching if p = s ± m

for some shaping s: G ! S and matchingm: LHS ! G

– p is concrete if for all v2 NLHS, multn(p(v)) = 1 and [p(v)]' = { p(v) }

• If p is concrete, construct S –p-> S’– for all p = s ± m as above, G –p-> G’ such

that S’ shapes G’

AHA, Berlin, July 2007Abstraction in Graph

Transformation23

Extraction (Materialization)

• Given a pre-matching p: LHS ! S, the materialization of S is a family {Tk}k – For all k, 9 ak: Tk ! S (abstraction morphism)– For all k, 9 concrete ck: LHS ! Tk – For all s: G ! S, 9 t: G! Tk with s = ak ± t (for

some k)

• Construction of {Tk}k for i-neighbourhood shapes– For all v 2 NLHS, copy p(v) and its i-radius

neighbourhood– Guess the edges and multiplicities

AHA, Berlin, July 2007Abstraction in Graph

Transformation24

GCGC

GPGP

Proposed construction

LHS RHS

G G’

S S’

ss’

Tk

T’materialization normalization

pre-matching

concretepre-matching

transformation

sk

p cm

AHA, Berlin, July 2007Abstraction in Graph

Transformation25

Customer 1 Cart 1cart

Customer Cart

Customer Cart

transformationmaterialization

Example

Customer Cart Customer Cartcart

Customer 1 Cart 1cart

Customer Cart

LHS RHS

S

T0

s0

p

cart

cartCustomer 1 Cart 1

Customer Cart

Customer Cart T’0

cartCustomer Cart

Customer Cart

S’

guessed multiplicities;

3 other possibilities normalization

AHA, Berlin, July 2007Abstraction in Graph

Transformation26

Outline

• Setting– Graphs, rules, productions

• Abstraction– Quotients, neighbourhoods, shapes

• Logic– Modalities, preservation

• Framework– Extraction, transformation, normalization

• Conclusion

AHA, Berlin, July 2007Abstraction in Graph

Transformation27

Evaluation: Neighbourhood shapes• Pros– Powerful basic framework (arbitrary

graphs)– Finite (canonical) abstraction– Unique representation up to isomorphism– Preservation and reflection of modal logic– Automatic transformation

• Cons– Modal logic limited (no cyclic structures) – Materialization expensive– Abstraction not property-driven

AHA, Berlin, July 2007Abstraction in Graph

Transformation28

Future work

• Refined notion of neighbourhood– Regular language– Words up to bounded length (¼ radius)– Derived from properties & rules

• Integration with 3-valued logic• Implementation in GROOVE

AHA, Berlin, July 2007Abstraction in Graph

Transformation29

Legacy research

• Refine notion of neighbourhood– Bauer & Wilhelm (partner abstraction)– Distefano & Katoen (list abstraction)– Distefano (abstract graph

transformation)

• Inspired by work by – Sagiv, Reps, Wilhelm et al. (shape

analysis)