Infinite Petri Nets - Dmitry Zaitsevdaze.ho.ua/infpn-njit-daze.pdf · 2017-10-13 · Verification of protocols •Interaction of two systems – BGP, TCP •Interaction of a definite

Post on 28-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Infinite Petri Nets

Dmitry A. Zaitsev

http://daze.ho.ua

http://icl.utk.edu

Verification of protocols

• Interaction of two systems – BGP,

TCP

• Interaction of a definite number of

systems – IOTP

• Building Petri net model

• LBS analysis of the model

• Compositional analysis (clans)

Model of protocol TCP

Decomposition of TCP model

Problem of Marsan

• Verification of common bus Ethernet protocols

• Petri net model of a workstation

• How to compose the network model?

• How to analyze the network model?

• Variable and a priori unknown number of devices on the bus

Model of a workstation

Common bus Ethernet scheme

1Z 2Z kZ121p

122p

123p

124p

221p

222p

223p

224p

kp21

kp22

kp23

kp24

117p

118p

119p

120p

217p

218p

219p

220p

kp17

kp18

kp19

kp20

117kp

118kp

119kp

120kp

321p

322p

323p

324p

An example of a bus with four devices

Р-invariants of Ethernet model

ki

kijppp

ppppp

ppppppp

pppppppp

ij

pppppp

kjppp

kjppp

kjpppp

kjpppp

kippp

jjj

jjjjj

iiiiiii

iiiiiiii

jjjjjj

jjj

jjj

jjjj

jjjj

iii

,1,

),1),,,

,,,,,((

),,,,,,,

,,,,,,,,(

),1,1

),,,,,,((

);,1),,,((

);,1),,,((

);,1),,,,((

);,1),,,,((

;,1),,,(

1

24

1

22

1

21

1917161412

1

24

1

221917151210

87654321

1

24

1

2220181511

1

242013

1

211714

1

22181511

1

23191612

986

Structures of infinite nets Structure System Model Analysis

Linear Common bus

Ethernet

1987 2006

Tree-like Switched Ethernet 2007 2007

Rectangular Computing Grid 2008 2008

Triangular,

hexagonal

Radiobroadcasting,

cellular networks

2010 2010

Hypercube Computing Grid 2008 2008

Hypertorus Computing Grid 2012 2012

Model of rectangular grid device

Composition of rectangular grid

p4x2,k+1

(p2x2,k

)

p4x2,k+1

(p2x2,k

)

p4x1,k+1

(p3x1,1

) p4x

1,2

(p2x1,1

)

p1x2,1

(p3xk,1

)

(p2x1,k

)

p4xk,1

p4x2,1

p4x1,1

p1x1,k p1x

1,2 p1x

1,1

R1,1

R1,2

R2,1

R2,2

R1,k

R1,k

Rk,1

Rk,2

Rk,k

p1xk+1,1

(p3xk,2

) p1xk+1,2

(p3xk,k

) p1xk+1,k

Open grid 2 х 2

Parametric specification of a device

npu

uvnpvpilpbpblpiti

pblpopolpbto

uvuvu

uuuu,1,

,,1,,,:

,,:

,

Parametric specification of open grid

Edge conditions

• Open grid

• Terminal (customer) device

• Connection of (opposite)

edges

• Truncated communication

device

Edges

1

2

3

4

4 2

Terminal

device Connection

of edges

Closed grid 2 х 2

Truncated device on edges

Tree-like structures

Devices: triangular, rectangular

and hexagonal

p2o

p2ol

p2i

p2il

p4i

p4il

p4o

p4ol

pb2

p3i p3il p3o p3ol

t4i2

t4i3

t4o

t2o

t2i4

t2i3

t3ot3i4t3i2

pb1pb3 pbl

10

Grids

R1,1

R2,1

R2,2

R2,3

R3,1

R3,2

R3,3

R3,4

R3,5

R4,2

R4,3

R4,4

R4,5

R4,6

R4,7 R

4,1

R6,2

R6,3

R6,4

R6,5

R6,6

R6,7 R

6,1

R6,10

R6,11

R6,8

R6,9

R5,2

R5,3

R5,4

R5,5

R5,6

R5,7 R

5,1

R5,8

R5,9

5 4 3 2 1

R1,1

R1,2

R1,3

R1,4

R2,1

R2,2

R2,3

R2.4 R

2,5

R3,1 R

3,2 R

3,3 R

3,4 R3,5

R3,6

R4,1 R

4,2 R

4,3 R4,4

R4,5

R4,6 R

4,7

R5,1

R5,2

R5,3

R5,4 R

5,5 R

5,6

R6,1

R6,2

R6,3

R6,4 R

6,5

R7,1

R7,2

R7,3 R

7,4

1

2

3

4

5

6

7

7

6

p4x2,k+1

(p2x2,k

)

p4x2,k+1

(p2x2,k

)

p4x1,k+1

(p3x1,1

) p4x

1,2

(p2x1,1

)

p1x2,1

(p3xk,1

)

(p2x1,k

)

p4xk,1

p4x2,1

p4x1,1

p1x1,k p1x

1,2 p1x

1,1

R1,1

R1,2

R2,1

R2,2

R1,k

R1,k

Rk,1

Rk,2

Rk,k

p1xk+1,1

(p3xk,2

) p1xk+1,2

(p3xk,k

) p1xk+1,k

Parametric specification of torus

Infinite system for p-invariants

Р-invariants of torus

Invariants of 3 х 3 torus

Method of grids analysis

• Solving infinite systems of linear

algebraic equations for p- and t-

invariants

• Implicit construction of cyclic

sequences of transitions’ firing

• Auxiliary graphs of packets’

transmission and possible blockings

of devices

Graph of transmissions

p1i p1o

p2i

p2o

p3i p3o

p4o

p4i

p1o2,1

p4o1,1

p4i1,1

p4o2,1

p4i2,1

p1o3,2

p1i3,2 p1o

3,1 p1i

3,1

p4i2,2

p4i2,3

p4o2,3

p4i1,3

p4o1,3

p1o1,2 p1i

1,2 p1o1,1

p1i1,1

p1o2,2

p4o2,2

p1i2,2

p1i2,1

p4i1,2

p4o1,2

Graph of possible blockings

Detours of possible blockings

graphs

Complex deadlocks

• Circle of blockings

• Isolation of a vertex

• Chain of blockings with its end on an

earlier blocked chain

• Avalanche-like growth of the blocked

nodes number

• Possibility of blocking a network by ill-

intentioned traffic

Example of deadlock

Cubic device

X1

X2

X3

port1,1port1,2

port2,1

port2,2

port3,1

port3,2

Composition of a cube

X1

X2

X3

R3,2,1

Neighbors of a cube

Hypercube composition

2,1,,1,

,,:

;,,2,1,,1

,,,:

,...,,...,,

,...,,

,...,,

,...,,

,...,,

,...,,

,...,,...,,

,...,,,,

2121212121

2121212121

ndj

pblpopolpbto

nnjjndj

pilpbpblpiti

ddddd

ddddd

iiiiiinj

iiinj

iiinj

iiinj

iiinj

iiinj

iiiiiinj

iiinjnj

djduki

polpilpol

popipo

pilpolpil

pipopi

u

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

djdjdj

djdjdj

djdjdj

djdjdj

,1,,1,1,1,

:

:

:

:

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

111

111

111

111

kijudjduki

pilpol

pipo

polpil

popi

ju

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

iii

j

djdj

djdj

djdj

djdj

,,,1,,1,1,1,

:

:

:

:

,...,...,

2,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

,...,...,

2,

,...1,...,

1,

11

11

11

11

Р-invariants of hypercube

.,1,,1,,,2,1,,1,,1

,:

,:

,:

,:

,...,1,...,

1,

,...,,...,

,

,...,,...,,...,1,...,

1,

,...,,...,

,,2,

,...,,...,,...,1,...,

1,

,...,1,...,

1,

,...,,...,

2,

,...,,...,

2,

,...,1,

,...,

,...,,...,1,

,...,,,1,

,...,,...,1,

,...,1,

,...,1,

,...,1,

11111

11111

11111

11111

dukinnjjndjdj

xpolxpbxpblxpoti

xpblxpixpilxpbto

xpilxpbxpblxpiti

xpblxpoxpolxpbto

u

iii

j

iii

nj

iiiiii

j

iii

njj

iiiiii

j

iii

j

iii

j

iii

j

iij

iinj

iiiij

iinjj

iiiij

iij

iij

iij

djdjdjdjdj

djdjdjdjdj

ddddd

ddddd

))1,,,1,,1,,1),,((

),,1,,1),,1),,((,((

))1,,,1,,1,,1),,((

),,1,,1,,1),,((),,1,,1,,1,2,1,((

;,1,,1)),2,1,,1,(,(

;1,1),,,1,,1(,,1),,(

;1,1),,,1,,1(,,1),,(

,...,,...,

1,

,...,,...,

1,

,...,1,

,...,1,

,...,

,...,,...,

1,

,...,,...,

1,

,...,1,

,...,1,

,...,,

,...,,

,...,

,...,,...

1,

,...,,...,

1,

,...,,...,

1,

,...,,...,

1,

11

111

11

111

11

11

11

kijudukidjpolpil

dukidjpolpilpbl

kijudukidjpopi

dukidjpopidukidjnpb

dukindjpbpbl

kijudukidjpolpo

kijudukidjpilpi

juiii

j

iii

j

uii

jii

jii

juiii

j

iii

j

uii

jii

juii

nj

uii

njii

juiii

j

iii

j

juiii

j

iii

j

djdj

ddd

djdj

ddd

dd

djdj

djdj

Generators of models

• Square grid (graphical form)

• Hypercube grid

• Hypertorus grid

• Canvas of generalized neigborhood

• Computers of double exponent

Generator of an open grid

main( int argc, char * argv[] )

{

int i, j, k = atoi( argv[1] );

for(i=1; i<=k; i++)

for(j=1; j<=k; j++) {

printf("tr {to_1^%d,%d} {pol_1^%d,%d} {pb_1^%d,%d} -> {po_1^%d,%d} {pbl^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_1,2^%d,%d} {pi_1^%d,%d} {pbl^%d,%d} -> {pil_1^%d,%d} {pb_2^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_1,3^%d,%d} {pi_1^%d,%d} {pbl^%d,%d} -> {pil_1^%d,%d} {pb_3^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_1,4^%d,%d} {pi_1^%d,%d} {pbl^%d,%d} -> {pil_1^%d,%d} {pb_4^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {to_4^%d,%d} {pol_4^%d,%d} {pb_4^%d,%d} -> {po_4^%d,%d} {pbl^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_4,1^%d,%d} {pi_4^%d,%d} {pbl^%d,%d} -> {pil_4^%d,%d} {pb_1^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_4,2^%d,%d} {pi_4^%d,%d} {pbl^%d,%d} -> {pil_4^%d,%d} {pb_2^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {ti_4,3^%d,%d} {pi_4^%d,%d} {pbl^%d,%d} -> {pil_4^%d,%d} {pb_3^%d,%d}\n", i,j, i,j, i,j, i,j, i,j );

printf("tr {to_2^%d,%d} {pil_4^%d,%d} {pb_2^%d,%d} -> {pi_4^%d,%d} {pbl^%d,%d}\n", i,j, i,j+1, i,j, i,j+1, i,j );

printf("tr {ti_2,1^%d,%d} {po_4^%d,%d} {pbl^%d,%d} -> {pol_4^%d,%d} {pb_1^%d,%d}\n", i,j, i,j+1, i,j, i,j+1, i,j );

printf("tr {ti_2,3^%d.%d} {po_4^%d,%d} {pbl^%d,%d} -> {pol_4^%d,%d} {pb_3^%d,%d}\n", i,j, i,j+1, i,j, i,j+1, i,j );

printf("tr {ti_2,4^%d,%d} {po_4^%d,%d} {pbl^%d,%d} -> {pol_4^%d,%d} {pb_4^%d,%d}\n", i,j, i,j+1, i,j, i,j+1, i,j );

printf("tr {to_3^%d,%d} {pil_1^%d,%d} {pb_3^%d,%d} -> {pi_1^%d,%d} {pbl^%d,%d}\n", i,j, i+1,j, i,j, i+1,j, i,j );

printf("tr {ti_3,1^%d,%d} {po_1^%d^%d} {pbl^%d,%d} -> {pol_1^%d,%d} {pb_1^%d,%d}\n", i,j, i+1,j, i,j, i+1,j, i,j);

printf("tr {ti_3,2^%d,%d} {po_1^%d,%d} {pbl^%d,%d} -> {pol_1^%d,%d} {pb_2^%d,%d}\n", i,j, i+1,j, i,j, i+1,j, i,j );

printf("tr {ti_3,4^%d,%d} {po_1^%d,%d} {pbl^%d,%d} -> {pol_1^%d,%d} {pb_4^%d,%d}\n", i,j, i+1,j, i,j, i+1,j, i,j );

}

printf("net n2o%d\n", k);

}

Automatic visualization

Generated graphical format

Generalized neighborhoods

2-neigborhood for

3 dimensions

Generalized neighborhoods

2-neigborhood for

3 dimensions

on edges

Moore neighborhood in a torus

Theorems and Hypothesis

Theorem 1. Model of a hypercube is a p-invariant Petri net

for arbitrary natural numbers d, k.

Theorem 2. Model of a hypercube is a t-invariant Petri net

for arbitrary natural numbers d, k.

Statement. Model of a hypercube is not a live Petri net (it

contains deadlocks).

Hypothesis1. Appearing deadlocks in the grid models

increase probability of appearing new deadlocks.

Hypothesis 2. Process of deadlocks creation can be

controlled by generators of (perilous) traffic.

Basic publications • Zaitsev D.A., Zaitsev I.D. and Shmeleva T.R. Infinite Petri Nets:

Part 1, Modeling Square Grid Structures, Complex Systems, 26(2), 2017, 157-195.

• Zaitsev D.A., Zaitsev I.D. and Shmeleva T.R. Infinite Petri Nets: Part 2, Modeling Triangular, Hexagonal, Hypercube and Hypertorus Structures, Complex Systems, 26(4), 2017, forthcoming

• Zaitsev D.A. A generalized neighborhood for cellular automata, Theoretical Computer Science, 666 (2017), 21–35.

• Zaitsev D.A. Verification of Computing Grids with Special Edge Conditions by Infinite Petri Nets, Automatic Control and Computer Sciences, 2013, Vol. 47, No. 7, pp. 403–412.

• Zaitsev D.A., Shmeleva T.R. Verification of hypercube communication structures via parametric Petri nets, Cybernetics and Systems Analysis, Volume 46, Number 1 (2010), 105-114

• Shmeleva, T.R., Zaitsev, D.A., Zaitsev, I.D. Verification of square communication grid protocols via infinite Petri nets, MESM 2009 - 10th Middle Eastern Simulation Multiconference, p. 53-59.

Conclusions

• Finite parametric specification of infinite Petri nets

• Construction and solving infinite systems in parametric form

• Proof of infinite Petri net invariance

• Representation of complex deadlocks

• Analysis of computing grids (plane multiangle, hypercube)

Research directions

• Formal methods for solving infinite systems

• Methods for liveness investigation

• Methods of boundedness, conservativeness, liveness enforcing

• Behavioral properties of models

• Composition of a few basic elements on a given pattern

Infinite Petri Nets

top related