Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition

Preview:

Citation preview

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