Safira: Implementing Set Algebra for Service Behavior

14
Safira: Implementing Set Algebra for Service Behavior Kathrin Kaschner

Transcript of Safira: Implementing Set Algebra for Service Behavior

Page 1: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior

Kathrin Kaschner

Page 2: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 2

Service Behavior

- can be described by various formalisms (e.g., BPEL, BPMN, Petri nets, automata)

- consider stateful services

- asynchronous message passing 

?e

?c ?t

!b !b!r!r

Page 3: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 3

Sets of Service Behaviors

The set of all correctly interacting partners of a service ...

!t

!e

?b ?r

?e

?c ?t

!b !b!r!r

!c

!t

?b ?r

!t

!c

?b ?r

!c

!e

?b ?r?e

?c ?t

!b !b!r!r

...

Page 4: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 4

!e

!c!t!e

!t!c

?b ?r

!t ∨!c∨!e

!e !t ∨!c

?b∧?r

final

!t

!e

?b ?r

?e

?c ?t

!b !b!r!r

Sets of Service Behaviors

... is finitely representable

Page 5: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 5

The set of all services with some propertyis often finitely representable

Sets of Service Behaviors

*„never ?a“

*

*

„?a before ?b“

not ?a,?b

*

not ?b

?b

?a

?a

*

?a

„eventually ?a“

Page 6: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 6

1. Querying a set of behaviors:

Desired: Combination using Boolean operatorsconjunction intersectiondisjunction unionnegation complement

„eventually ?a“*

„never ?a“

*

*

„?a before ?b“

not ?a,?b

*

not ?b

?b

?a

?a

*

?a

Why Set Algebra? 

Page 7: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 7

Why Set Algebra? 

2. Substituting a Service:

CP(S) ⊆ CP(S‘)

CP(S) ∩ CP(S‘) = ∅

Counterexamples!

CP(S): set of all correct partners of service S

S

S‘

?

Page 8: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 8

Why Set Algebra?

n membership tests

3. Navigating in a Registry:

CP(S1) CP(S2) CP(S3) CP(S4) CP(S5) CP(S6) CP(S7) CP(S8)

S1 S2 S3 S4 S5 S6 S7 S8

Page 9: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 9

Why Set Algebra?

CP(S1) CP(S2) CP(S3) CP(S4) CP(S5) CP(S6) CP(S7) CP(S8)

⋃ ⋃ ⋃ ⋃

S1 S2 S3 S4 S5 S6 S7 S8

⋃ ⋃

log n membership tests

3. Navigating in a Registry:

Page 10: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 10

Set Algebra for Service Behavior

union complementintersection

membership check emptiness check !e

!c!t!e

!t!c

?b ?r

!t ∨!c∨!e

!e !t ∨!c

?b∧?r

finalon finite representations of sets

Safira

Page 11: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 11

Using Safira

Intersection:  safira –i –opdf -t file1 file2

... standard product automaton construction

Union: safira –u –opdf -t file1 file2

... de Morgan     M ⋃N = M ⋂N

INTERFACEINPUTB;

OUTPUTC, E, T;

NODES0 : (C + E + T)C -> 1E -> 2T -> 3

1 : EE -> 4

...

INTERFACEINPUTB;

OUTPUTC, E, T;

NODES0 : (C + E + T)C -> 1E -> 2T -> 3

1 : EE -> 4

...

safira

Download: http://service-technology.org/safira

Page 12: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 12

Using Safira

- Complement:  safira –opdf –c file

Page 13: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 13

Size of the Complement

complement algorithm 1 complement algorithm 2size of the given automaton size time size time

Vending Machine 6 12 0 s 26 0 s

Purchase Order 169 338 1 s 887 0 s

Contact Negotation 369 658 3 s 2,287 0 s

Car Analysis 733 987 6 s 3,931 0 s

SMPT 3,307 3,460 47 s 19,995 1 s

Quotation1 7,937 14,594 346 s 61,571 15 s

Quotation2 11,265 22,530 535 s 88,323 19 s

Page 14: Safira: Implementing Set Algebra for Service Behavior

Safira: Implementing Set Algebra for Service Behavior 14

Conclusion and Future Work

union complement

membership check emptiness check

intersection

Safira

http://service-technology.org/safira