09-05-2008 Efficient Controllability Analysis of Open Nets Workshop on Web Services and Formal...

Preview:

Citation preview

09-05-2008

Efficient Controllability Analysis of Open Nets

Workshop on Web Services and Formal Methods 2008

Daniela Weinbergweinberg@informatik.hu-berlin.de

http://www.service-technology.org/wsfm2008

2

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Setting

Service self-contained software unit encapsulated functionality with interface designed to interact with other services

service SS interacting withanother serviceservice modeling

3

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

question, whether there exists another service C such that S and C can interact properly

does the composition of S and C reach a final state without deadlocking and no messages are left pending on the interface

interaction is done asynchronously

Controllability

4

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Model of a Service

a service is modeled as an open net

Petri net with • output (yellow) places,• input (orange) places,• special initial state and

set of final states• acyclic

Example: online portal initial state: [p1] set of final states: {[p5]}

5

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Using the Online Portal

user as an automaton Interaction Graph

?terms ?note

?stats

!review

!login!login

6

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Filling out the Bubbles

nodes: set of states transient states, deadlocks

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

7

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Filling out the Bubbles

nodes: set of states transient states, deadlocks

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

!login

[p4]

8

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Filling out the Bubbles

nodes: set of states transient states, deadlocks

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

!login

[p4, login][p5]

[p4]

9

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Filling out the Bubbles

nodes: set of states transient states, deadlocks

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

[p4, login][p5]

[p4]

!review

...!login

...

?note

...?stats

...

!review... ?terms

...

...

?note

...?stats

...

...

!login

10

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Interaction Graph of Online Portal

11

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Interaction Graph of Online Portal

Is our service controllable? Does the IG contain a controller?

Classification of the nodes necessary

12

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

The complete Interaction Graph

for real life services IG grows huge in size industrial service (open net: #P = 116, #E = 156)

complete IG: #Nodes = 1584, #Edges = 7473, time = 302s

solution: define reduction rules! reduced IG: #Nodes = 31, #Edges = 41, time

= 1s

13

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Activation of Events

state s activates an event a:

state s is a deadlock sending or receiving a

leads from s to a new state [p1]

[p4, terms][p2, note]

[p3, stats, note]

?note

...?stats

!review

...!login

...?terms

!login

[p4]

...

14

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Receiving before Sending

Idea: do not send anything as long as you can receive something

one state activates a receiving and a sending event

consider the receiving event only

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

?note

...?stats

...

!review

...!login

...

...

15

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Reduced Interaction Graph I

16

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Combining Receiving Events

Idea: receive as much as possible at once

a state activates more than one receiving event

combine all receiving events of one state to one event

[p1][p4, terms][p2, note]

[p3, stats, note]

?terms

?note

...?stats

...

!review

...!login

...

...

17

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Combining Receiving Events

Idea: receive as much as possible at once

a state activates more than one receiving event

combine all receiving events of one state to one event

[p1][p4, terms][p2, note]

[p3, stats, note]

!review

...!login

...

?stats, ?note

...?terms

...

18

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Reduced Interaction Graph II

19

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

All Reduction Rules combined

all reduction rules can be combined

20

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Reduced Interaction Graph III

all reduction rules combined: 6 nodes, 5 edges

full IG: 30 nodes, 31 edges

21

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Take Home Points

our case studies show reduced interaction graph is an efficient

technique to decide controllability for most services reduction by >90%

IG and all reduction rules are integrated into tool Fiona

http://www.service-technology.org/fiona

22

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

Future Work

define more reduction rules• which events are activated• reduce number of states stored in nodes

adapt techniques to work with cyclic open nets as well

23

Effi

cient C

ontro

llab

ility A

naly

sis of O

pen N

ets

See more

Web http://www.service-technology.org/wsfm2008 slides, paper, tools, examples, ...

09-05-2008

Thanks a lot!

Recommended