Upload
universitaet-rostock
View
646
Download
2
Tags:
Embed Size (px)
Citation preview
Safira: Implementing Set Algebra for Service Behavior
Kathrin Kaschner
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
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
...
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
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“
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?
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‘
?
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
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:
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
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
Safira: Implementing Set Algebra for Service Behavior 12
Using Safira
- Complement: safira –opdf –c file
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
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