Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

36
Can Kayali Can Kayali Betreuer: Dr. Andreas Gerber Webdiens t kompositi on

Transcript of Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

Page 1: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

Can KayaliCan Kayali

Betreuer: Dr. Andreas GerberWebdienst komposition

Page 2: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

2

(1) Webdienstkomposition

(2) Petrinetze & Dienstnetze

(3) Webdienste als Dienstnetze

(4) Netzanalyse

(5) Konklusion

Webdienstkomposition

Page 3: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

3

Webdienstkomposition

• Anforderungen:– Konnektivität

– Nichtfunktionale Eigenschaften

– Korrektheit

– Skalierbarkeit

• Ansätze– BPEL

– OWL-S

– Web Components

– -Kalkül

– Petrinetze

– Model Checking

Page 4: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 5: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 6: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 7: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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]

Page 8: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

8

(1) Webdienstkomposition

(2) Petrinetze & Dienstnetze

(3) Webdienste als Dienstnetze

(4) Netzanalyse

(5) Konklusion

Webdienstkomposition

Page 9: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

9

• Kommunikation mit Automaten [Petri, 1962]• Formales Modell für nebenläufige Systeme und ihr Verhalten

Petrinetze

Page 10: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

10

Berechenbarkeit von Petrinetzen

kontextsensitiv

kontextfrei

regulär

Petrinetze

Page 11: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

– …

Page 12: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

12

Berechenbarkeit von farbigen Petrinetzen

kontextsensitiv

kontextfrei

regulärFarbige Petrinetze

Page 13: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 14: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 15: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

15

(1) Webdienstkomposition

(2) Petrinetze & Dienstnetze

(3) Webdienste als Dienstnetze

(4) Netzanalyse

(5) Konklusion

Webdienstkomposition

Page 16: Can Kayali Betreuer: Dr. Andreas Gerber 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/

Page 17: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

17

Webdienste

• CS={IIYAMA Monitorkauf, ATI Graphikkartenkauf, …, Microsoft Tastaturkauf, DHL Transport}

• SN =

DHL TransportATI Grafikkartenkauf

Microsoft Tastaturkauf

IIYAMA Bildschirmkauf

. .

.

Page 18: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 19: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

19

Leerer Dienst

• NameS = Empty• Desc = “Empty Web Service”• Loc = Null• URL = Null• CS = ;

Page 20: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

20

Sequenz S1 ¯ S2

. .

.

. .

.

. .

.

. .

.

S1 S2. . .

. . .

. . .

. . .

Page 21: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

21

. .

.

. .

.

S2 . . .

. . .

. .

.

. .

.

S1 . . .

. . .

Alternative S1 © S2

Page 22: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

22

. .

.

. .

.S2 . . .

. . .

. .

.

. .

.

S1 . . .

. . .

Ungeordnetes Paar S1 ¦ S2

Page 23: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

23

Iteration S1

. .

.

. .

.

S1 . . .

. . .

Page 24: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

24

Parallelismus mit Kommunikation S1 ||C S2

. .

.

. .

.

S2 . . .

. . .

. .

.

. .

.

S1 . . .

. . .

Page 25: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

25

Discriminator (S1|S2) Ã S3

. .

.

. .

.

S2 . . .

. . .

. .

.

. .

.

S1 . . .

. . .

. .

.

. .

.

S3 . . .

. . .

Page 26: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 27: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

27

Verfeinerung Ref(S1, a, S2)

S1 S2

a

b c

a1 a2 a1 a2

b c

Ref(S1, a, S2)

Page 28: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

28

Beispiel: Compi

Ref(Ref(S,kaufeKomponenten,(kaufeBildschirm ||; kaufeGrafikkarte ||; kaufeTastatur)), liefere, (packein ¯ sende))

kaufeKomponenten liefere

S

Page 29: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

...

Page 30: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 31: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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

Page 32: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

32

(1) Webdienstkomposition

(2) Petrinetze & Dienstnetze

(3) Webdienste als Dienstnetze

(4) Netzanalyse

(5) Konklusion

Webdienstkomposition

Page 33: Can Kayali Betreuer: Dr. Andreas Gerber 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

Page 34: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

34

(1) Webdienstkomposition

(2) Petrinetze & Dienstnetze

(3) Webdienste als Dienstnetze

(4) Netzanalyse

(5) Konklusion

Webdienstkomposition

Page 35: Can Kayali Betreuer: Dr. Andreas Gerber 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]

Page 36: Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

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