Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition.

Ähnliche Präsentationen


Präsentation zum Thema: "Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition."—  Präsentation transkript:

1 Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition

2 2 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition

3 3 Anforderungen: –Konnektivität –Nichtfunktionale Eigenschaften –Korrektheit –Skalierbarkeit Ansätze –BPEL –OWL-S –Web Components – -Kalkül –Petrinetze –Model Checking

4 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 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 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 7 Ansätze - Anforderungen KonnektivitätNichtfunktionale Eigenschaften KorrektheitAutomatische Komp. Skalierbarkeit BPEL X mittel OWL-S XX mittel Web Components XX niedrig -Kalkül XX gut Petrinetze XX niedrig Model Checking XXX N\A [Milanovic, Malek, 2004]

8 8 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition

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

10 10 Berechenbarkeit von Petrinetzen kontextsensitiv kontextfrei regulär Petrinetze

11 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 12 Berechenbarkeit von farbigen Petrinetzen kontextsensitiv kontextfrei regulär Farbige Petrinetze

13 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 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 15 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition

16 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 17 Webdienste CS={IIYAMA Monitorkauf, ATI Graphikkartenkauf, …, Microsoft Tastaturkauf, DHL Transport} SN = DHL TransportATI Grafikkartenkauf Microsoft Tastaturkauf IIYAMA Bildschirmkauf...

18 18 Webdienstalgebra Compi Computerkauf = (IIYAMA Bildschirmkauf || Microsoft Tastaturkauf || …) ¯ DHL Transport S ::= | Leerer Dienst X | Konstanter Dienst S ¯ S | Sequenz S © S | Alternative S ¦ S | Ungeordnetes Paar S |Iteration S || c S | Parallel. mit Komm. (S|S) Ã S | Discriminator [S(p,q) : S(p,q)] |Auswahl Ref(S,a,S)Verfeinerung

19 19 Leerer Dienst NameS = Empty Desc = Empty Web Service Loc = Null URL = Null CS = ;

20 20 Sequenz S 1 ¯ S 2... S1S1 S2S2

21 21... S2S2 S1S1 Alternative S1 © S2

22 22... S2S2 S1S1 Ungeordnetes Paar S1 ¦ S2

23 23 Iteration S 1... S1S1

24 24 Parallelismus mit Kommunikation S 1 || C S 2... S2S2 S1S1

25 25 Discriminator (S 1 |S 2 ) Ã S 3... S2S2 S1S1 S3S3

26 26 Auswahl [S 1 (p 1, q 1 ) : S n (p n, q n )]... S1S1 SnSn Was kostet eine ATI Graphikkarte? Hmm mal berechnen… Sie kostet 249 Euro Sie kostet 205 Euro Ich merke mir das günstigste Angebot p1p1 q1q1 qnqn pnpn

27 27 Verfeinerung Ref(S 1, a, S 2 ) S1S1 S2S2 a bc a1a1 a2a2 a1a1 a2a2 bc Ref(S1, a, S2)

28 28 Beispiel: Compi Ref(Ref(S,kaufeKomponenten,(kaufeBildschirm || ; kaufeGrafikkarte || ; kaufeTastatur)), liefere, (packein ¯ sende)) kaufeKomponentenliefere S

29 29 Algebraische Eigenschaften S 1 ¯ (S 2 ¯ S 3 ) = (S 1 ¯ S 2 ) ¯ S ¯ S = S S 1 © S 2 = S 2 © S 1 S 1 © (S 2 © S 3 ) = (S 1 © S 2 ) © S 3 S © S = S (S 1 © S 2 ) ¯ S 3 = (S 1 ¯ S 3 ) © (S 2 ¯ S 3 ) S 1 ¦ S 2 = (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) S 1 || c S 2 = S 2 || c S 1...

30 30 S 1 ¦ S 2 vs. (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) Definiere Kosten C(S) = #Stellen + #Transitionen C(S 1 ¦ S 2 ) = C(S 1 ) + C(S 2 ) + 6 + 4 = C(S 1 ) + C(S 2 ) + 10 C((S 1 ¯ S 2 ) © (S 2 ¯ S 1 )) = C(S 1 ¯ S 2 ) + C(S 2 ¯ S 1 ) + 2 + 4 = 2 ¢ C(S 1 ) + 2 ¢ C(S 2 ) + 2 + 4 + 1 = 2 ¢ C(S 1 ) + 2 ¢ C(S 2 ) + 7 ! Für große S 1, S 2 ist S 1 ¦ S 2 effizienter

31 31 S 1 ¦ S 2 vs. (S 1 ¯ S 2 ) © (S 2 ¯ S 1 ) Definiere Tiefe T(S) = Länge des maximalen i-o-Pfades T(S 1 ¦ S 2 ) = max(T(S 1 ), T(S 2 )) + 8 T((S 1 ¯ S 2 ) © (S 2 ¯ S 1 )) = max(T(S 1 ¯ S 2 ), T(S 2 ¯ S 1 )) + 4 = max((T(S 1 ) + T(S 2 ) + 2), (T(S 2 ) + T(S 1 ) + 2) ) + 4 = T(S 1 ) + T(S 2 ) + 2 + 4 = T(S 1 ) + T(S 2 ) + 6 ! Für große S 1, S 2 ist S 1 ¦ S 2 effizienter

32 32 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition

33 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 34 (1)Webdienstkomposition (2)Petrinetze & Dienstnetze (3)Webdienste als Dienstnetze (4)Netzanalyse (5)Konklusion Webdienstkomposition

35 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 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 Zusammenfassung


Herunterladen ppt "Can Kayali Betreuer: Dr. Andreas Gerber Webdienstkomposition."

Ähnliche Präsentationen


Google-Anzeigen