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

Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition

Embed Size (px)

Citation preview

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