can kayali betreuer: dr. andreas gerber webdienstkomposition
TRANSCRIPT
Can KayaliCan Kayali
Betreuer: Dr. Andreas GerberWebdienst komposition
2
(1) Webdienstkomposition
(2) Petrinetze & Dienstnetze
(3) Webdienste als Dienstnetze
(4) Netzanalyse
(5) Konklusion
Webdienstkomposition
3
Webdienstkomposition
• Anforderungen:– Konnektivität
– Nichtfunktionale Eigenschaften
– Korrektheit
– Skalierbarkeit
• Ansätze– BPEL
– OWL-S
– Web Components
– -Kalkül
– Petrinetze
– Model Checking
4
Ansätze
• BPEL– Business Process Execution Language (for Web Services)
– Kombiniert WSFL und WSCI mit XLANG
– Wird entwickelt bei BEA, IBM, Microsoft, SAP, Siebel
– XML basiert
– process, partners, activity
– BPELJ
– Kompositionsoperatoren: sequantial, parallel
– Implementations: IBM Websphere, Oracle BPEL Process Manager, Microsoft BizTalk 2004, OpenStorm ChoreoServer, Active BPEL
5
Ansätze
• OWL-S– Ontologie für Webdienste
– Ermöglicht Entdeckung, Komposition, Interoperation von Webdiensten
– Modelliert Dienste in drei Teilen• Service profile• Service model• Service grounding
– Kompositionsoperatore: sequence, split, split+join, unordered, choice, if-then-else, iterate und repeat-until
• Web Components– Webdienste als Softwarekomponenten
– Klassenmodell: Wiederverwendung, Spezialisierung, Erweiterung
– Kompositionsoperatoren: sequantial, sequantial alternative, parallel with result synchronisation, parallel alternative, condition, while-do
6
Ansätze
• -Kalkül– Algebraic Parallel Composition
– Kalkül für Prozesse
– x(y), x[y], . , |
– Verifikation, Optimierung per Inferenzregeln
• Model Checking– Dienstkomposition mit Mealy Maschinen
– Temporale Logik
7
Ansätze - Anforderungen
Konnektivität Nichtfunktionale Eigenschaften
Korrektheit Automatische Komp.
Skalierbarkeit
BPEL X mittel
OWL-S X X mittel
Web Components X X niedrig
-Kalkül X X gut
Petrinetze X X niedrig
Model Checking X X X N\A
[Milanovic, Malek, 2004]
8
(1) Webdienstkomposition
(2) Petrinetze & Dienstnetze
(3) Webdienste als Dienstnetze
(4) Netzanalyse
(5) Konklusion
Webdienstkomposition
9
• Kommunikation mit Automaten [Petri, 1962]• Formales Modell für nebenläufige Systeme und ihr Verhalten
Petrinetze
10
Berechenbarkeit von Petrinetzen
kontextsensitiv
kontextfrei
regulär
Petrinetze
11
Farbige Petrinetze
• Petrinetze : Beschreibung und synchronisation von nebenläufigen Prozessen
• Programmiersprachen : Definition von Datentypen, Manipulation von deren Werten
• Farbige Petrinetze kombinieren diese zwei Aspekte– Kanten besagen wie und in welchen Bedingungen eine Transition einen
Zustand ändert
– Marken sind typisiert
– Zeitbedingungen
– …
12
Berechenbarkeit von farbigen Petrinetzen
kontextsensitiv
kontextfrei
regulärFarbige Petrinetze
13
Dienstnetze
• SN = (P, T, W, i, o, l)• P endliche Menge von Stellen• T endliche Menge von Transitionen• W µ (P £ T) [ (T £ P) Menge von gerichteten Kanten (Flussrelation)• i 2 P Eingabestelle • o 2 P Ausgabestelle • l : T ! A [ {} Etiketten
14
• SN = (P, T, W, i, o, l)• P endliche Menge von Stellen• T endliche Menge von Transitionen• W µ (P £ T) [ (T £ P) Menge von gerichteten Kanten (Flussrelation)• i 2 P Eingabestelle :• o 2 P Ausgabestelle: • l : T ! A [ { } Etiketten
trink_Milch schlaf_ein
15
(1) Webdienstkomposition
(2) Petrinetze & Dienstnetze
(3) Webdienste als Dienstnetze
(4) Netzanalyse
(5) Konklusion
Webdienstkomposition
16
Webdienste
• Ein Webdienst ist ein Tupel S = (NameS, Desc, Loc, URL, CS, SN)• Beispiel:
– NameS = Compi Computerkauf
– Desc = “Dieser Dienst dient dem Kauf eines neuen Computers der Marke Compi”
– Loc = Serv1
– URL = www.mycompi.com/buyacompi/
17
Webdienste
• CS={IIYAMA Monitorkauf, ATI Graphikkartenkauf, …, Microsoft Tastaturkauf, DHL Transport}
• SN =
DHL TransportATI Grafikkartenkauf
Microsoft Tastaturkauf
IIYAMA Bildschirmkauf
. .
.
18
Webdienstalgebra
• Compi Computerkauf = (IIYAMA Bildschirmkauf || Microsoft Tastaturkauf || …) ¯ DHL Transport
• S ::= | Leerer DienstX | Konstanter DienstS ¯ S | SequenzS © S | AlternativeS ¦ S | Ungeordnetes Paar
S | Iteration S ||c S | Parallel. mit Komm.
(S|S) Ã S | Discriminator[S(p,q) : S(p,q)] | AuswahlRef(S,a,S) Verfeinerung
19
Leerer Dienst
• NameS = Empty• Desc = “Empty Web Service”• Loc = Null• URL = Null• CS = ;
20
Sequenz S1 ¯ S2
. .
.
. .
.
. .
.
. .
.
S1 S2. . .
. . .
. . .
. . .
21
. .
.
. .
.
S2 . . .
. . .
. .
.
. .
.
S1 . . .
. . .
Alternative S1 © S2
22
. .
.
. .
.S2 . . .
. . .
. .
.
. .
.
S1 . . .
. . .
Ungeordnetes Paar S1 ¦ S2
23
Iteration S1
. .
.
. .
.
S1 . . .
. . .
24
Parallelismus mit Kommunikation S1 ||C S2
. .
.
. .
.
S2 . . .
. . .
. .
.
. .
.
S1 . . .
. . .
25
Discriminator (S1|S2) Ã S3
. .
.
. .
.
S2 . . .
. . .
. .
.
. .
.
S1 . . .
. . .
. .
.
. .
.
S3 . . .
. . .
26
Auswahl [S1(p1, q1) : Sn(pn, qn)]
. .
.
S1 . . .
. . . . . .
. .
.
Sn
. . .
. . . . . .
. .
.. .
.
. .
.
Was kostet eine ATI
Graphikkarte?
Was kostet eine ATI
Graphikkarte?
Hmm mal berechnen…
Hmm mal berechnen…
Sie kostet 249 Euro
Sie kostet 205 Euro
Ich merke mir das günstigste
Angebot
p1 q1
qnpn
27
Verfeinerung Ref(S1, a, S2)
S1 S2
a
b c
a1 a2 a1 a2
b c
Ref(S1, a, S2)
28
Beispiel: Compi
Ref(Ref(S,kaufeKomponenten,(kaufeBildschirm ||; kaufeGrafikkarte ||; kaufeTastatur)), liefere, (packein ¯ sende))
kaufeKomponenten liefere
S
29
Algebraische Eigenschaften
S1 ¯ (S2 ¯ S3) = (S1 ¯ S2) ¯ S
¯ S = S
S1 © S2 = S2 © S1
S1 © (S2 © S3) = (S1 © S2) © S3
S © S = S
(S1 © S2) ¯ S3 = (S1 ¯ S3) © (S2 ¯ S3)
S1 ¦ S2 = (S1 ¯ S2) © (S2 ¯ S1)
S1 ||c S2 = S2 ||c S1
...
30
S1 ¦ S2 vs. (S1 ¯ S2) © (S2 ¯ S1)
• Definiere Kosten C(S) = #Stellen + #Transitionen
• C(S1 ¦ S2) = C(S1) + C(S2) + 6 + 4 = C(S1) + C(S2) + 10
• C((S1 ¯ S2) © (S2 ¯ S1)) = C(S1 ¯ S2) + C(S2 ¯ S1) + 2 + 4
= 2 ¢ C(S1) + 2 ¢ C(S2) + 2 + 4 + 1
= 2 ¢ C(S1) + 2 ¢ C(S2) + 7
! Für große S1 , S2 ist S1 ¦ S2 effizienter
31
S1 ¦ S2 vs. (S1 ¯ S2) © (S2 ¯ S1)
• Definiere Tiefe T(S) = Länge des maximalen i-o-Pfades
• T(S1 ¦ S2) = max(T(S1), T(S2)) + 8
• T((S1 ¯ S2) © (S2 ¯ S1)) = max(T(S1 ¯ S2), T(S2 ¯ S1)) + 4
= max((T(S1) + T(S2) + 2), (T(S2) + T(S1) + 2) ) + 4
= T(S1) + T(S2) + 2 + 4
= T(S1) + T(S2) + 6
! Für große S1 , S2 ist S1 ¦ S2 effizienter
32
(1) Webdienstkomposition
(2) Petrinetze & Dienstnetze
(3) Webdienste als Dienstnetze
(4) Netzanalyse
(5) Konklusion
Webdienstkomposition
33
Netzanalyse
• Eine Transition heißt Verklemmung, wenn man sie nicht schalten kann
• Eine Markierung heißt lebendig, wenn man davon aus keine ewige Verklemmung erreicht
• Ein Netz heißt beschränkt, falls für jeder Schaltsequenz ein k existiert, die grösser als die Anzahl der Marken in der Resultatmarkierung von dieser Schaltsequenz ist
• Das Beschränktheitsproblem für Petrinetze ist entscheidbar
(EXPSPACE) [Karp, Miller, 1968]
• Das Lebendigkeitsproblem für Petrinetze ist entscheidbar
(EXPSPACE) [Hack, 1974]
• korrekt = beschränkt und lebendig [Murata, 1989]
• Bisimulationsäquivalenz [Park, 1981], [Milner, 1989]– Optimierung [Schnoebelen, Sidorova, 2000]– Anpassung
34
(1) Webdienstkomposition
(2) Petrinetze & Dienstnetze
(3) Webdienste als Dienstnetze
(4) Netzanalyse
(5) Konklusion
Webdienstkomposition
35
Benachbarte Arbeiten
• Petrinetze– Entscheidbarkeit und Komplexität [Esparza, 1998]
– Farbige Petrinetze [Rantzer et al., 2003] [Aalst et al., 1994]
• Webdienstkomposition– WSMX [Haller et al., 2005]
– OWLS-Xplan [Klusch, Gerber, Schmidt, 2005]
– SHOP2 [Sirin et al., 2004]
– SWORD [Ponnekanti, Fox, 2002]
36
Vielen Dank für die Aufmerksamkeit!
• Webdienste: Modellierung, Automatische Komposition• Anforderungen:
– Konnektivität
– Nichtfunktionale Eigenschaften
– Korrektheit
– Skalierbarkeit
• Ansätze:
– BPEL, OWL-S, Web Components, -Kalkül, Model Checking
– Petrinetze• Algebra• Analyse• Mögliche Erweiterung: farbige Petrinetze
Zusammen fassung