1 / 42

Schaffung eines Vergleichers für DIANE Service Descriptions (DSD)

Schaffung eines Vergleichers für DIANE Service Descriptions (DSD). Diplomarbeit Michael Müssig Betr. Professor: Prof. Dr.-Ing Dr. h.c. P.C. Lockemann Betr. Mitarbeiter: Michael Klein. MOVIE getInfo… reserveSeat… buyDVD… downloadSoundtrack… chatWithMainActor… MORE…. Szenario.

samira
Download Presentation

Schaffung eines Vergleichers für DIANE Service Descriptions (DSD)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Schaffung eines Vergleichers für DIANE Service Descriptions (DSD) Diplomarbeit Michael Müssig Betr. Professor: Prof. Dr.-Ing Dr. h.c. P.C. Lockemann Betr. Mitarbeiter: Michael Klein

  2. MOVIE getInfo… reserveSeat… buyDVD… downloadSoundtrack… chatWithMainActor… MORE… Szenario • Kinokarten-Buchdienst „Buche einen aktuellen Action-Film, der um 20:00 Uhr in einem Karlsruher Kino beginnt!“

  3. ? Welcher Dienstgeber ist geeignet? (Vergleich) Wie rufe ich den Dienst auf? (Konfiguration) Dienst- Angebot Dienst- Angebot Dienst- Angebot Dienst- Angebot Dienst- Angebot Dienst- Geber Dienst- Geber Dienst- Geber Dienst- Geber Dienst-Geber Nutzung eines passenden Dienstes Mobile Anwendung Dienst- Anfrage

  4. 8. aufrufen 10. Ergebnis übermitteln 6. auswählen 7. konfigurieren 4. suchen Ablauf dienstorientierter Anwendungen 9. ausführen Dienstnehmer (Client) Dienstgeber (Server) 3. Anfrage beschreiben 1. Angebot beschreiben 2. veröffentlichen 5. vergleichen Repository (evtl. verteilt)

  5. Aufgaben und Ziele • Schaffung eines Vergleichers für DSD • Hauptkriterium: Vollautomatische Dienstnutzung • Aufgaben des Vergleichers / Matcher • Übereinstimmung von Angeboten zu Anfrage Vergleichswert innerhalb [0,0 .. 1,0] • präferenzbasiertes Vergleichen • Konfiguration der Dienste • parametrisierbares Angebot • Informationen nach Dienstnutzung (Anfrage)

  6. Gliederung • Verwandte Ansätze • Funktionsweise des Vergleichers • Live-Demo • Ergebnisse und Ausblick

  7. Verwandte Ansätze - WSDL • WSDL = Web Service Description Language • einfach, weit verbreitet • standardisiert durch W3C • Dienstbeschreibung • Mangel an Semantik • Funktionalität erraten aus Nachrichtenfluss • strikte Nachrichtenkompatibiliät • evtl. semantisch passender Dienst nicht nutzbar • einfacher Vergleicher • Eingabe liefert mehr • Ausgabe verlangt weniger

  8. Verwandte Ansätze – OWL-S • ehemals DAML-S • ontologiebasiert • beschreibt nicht nur Nachrichtenfluss • Probleme des Vergleicher • Zusammenhang Nachrichten/Zustandsübergang fehlt • Verwendung von allgemeinen Heuristiken • keine Präferenzen integrierbar

  9. Verwandte Ansätze - WSMO • WSMO = Web Service Modelling Ontology • Heterogenität erlaubt • Auflösung durch Mediatoren • nicht vollständig automatisierbar • Unterschied Angebot/Anfrage • ABER: Präferenzen schwer einstellbar • unvollständiger Vergleicher • Mediator nicht integriert

  10. Vergleicher in DSD • reine Zustandsorientierung • kombinierte Betrachtung des Nachrichtenflusses und der Beschreibung • Vergleich auf Instanzebene • Beschreibung von Instanzen • „Buche Harry Potter“ vs. „Suche Kinokartenbuchdienst“

  11. Vergleicher in DSD (2) • Unterscheidung Angebot/Anfrage • Funktionalität gesucht, nicht spezieller Dienst • mehrere Dienste können Funktion erfüllen • vollständige Präferenzintegration in Anfragen • individueller Vergleicher, keine allgemeine Heuristik

  12. Übersicht der Variablen Eingabe Ausgabe • OffIN • wird beim Vergleich gefüllt • Dienstparameter • OffOUT • ist nach Dienstnutzung durch Anbieter gefüllt Angebot • ReqIN • wird vor Vergleich gefüllt • wiederverwendbar • ReqOUT • ist nach Dienstnutzung durch Vergleicher gefüllt Anfrage

  13. Beispiel - Offer Angebot 13

  14. Beispiel - Request Anfrage 14

  15. Der Vergleichs-Algorithmus • Vergleich und Konfiguration des Angebots • Garantierter Vergleichswert (worst case) • Graph-Vergleich • anfragegetrieben • rekursiver Abstieg innerhalb des Graphs • Unterscheidung bzgl. Element-Typ • Teilmengeneigenschaft • 2 Modi • minimizing: Vergleicher bestimmt schlechtesten Wert • maximizing: Vergleicher bestimmt besten Wert

  16. Beispiel - Request Anfrage Primitiver Datentyp 16

  17. Vergleich – Primitive Datentypen Vergleichswert 0.5 0,375 4 x 8

  18. Beispiel - Request Anfrage Wertbasierte Klasse 0.375 1.0 18

  19. Vergleich – Wertbasierte Klassen • Isolierter Vergleich • orthogonale Attribute • rekursiver Abstieg • amount • Vergleichswert = 0.375 • currency • Vergleichswert = 1.0 • Price • Verbindungsstrategie: AND • 0.375 * 1.0 • Vergleichswert = 0.375 0.375 0.375 1.0

  20. Beispiel - Request Anfrage 0.375 Öffentliche Entitätsklasse 20

  21. Vergleich – Öffentliche Entitätsklassen

  22. Beispiel - Request Anfrage Teilöffentliche Entitätsklasse Spiderman 2 : 1.0 Terminator 3: 0.5 22

  23. Vergleich – Teilöffentliche Entitätsklassen • Vergleicher fehlt vollständiges Wissen • Attribute nicht orthogonal • Ausführung bei offIN-Belegung mit Vergleichswert >0 nicht garantiert  spezieller Vergleich mit erweitertem Bewertungskriterium unabdingbar

  24. Ausführungswahrscheinlichkeit • Vergleicher berechnet Ausführungswahrscheinlichkeit • Abschätzung • möglicher Variablenbelegungen • möglicher Instanzen

  25. OffIN-Kombinationen Anfrage Angebot 1 20:00 5 action:Genre 2  10 mögliche OffIN-Kombinationen

  26. Verbesserung durch deklaratives Binden • Ausführungswahrscheinlichkeit oft recht niedrig • Deklaratives Binden von Variablen • Anbieter muss dies explizit erlauben Deklarative Bindung

  27. Beispiel - Request Anfrage Ausgabevariable binden 27

  28. Beispiel - Offer Angebot 28

  29. Binden von ReqOUT-Variablen • Angebot ist Menge • falls erlaubt, deklarative Bindung • einelementig, Füllwert gegeben • mehrelementig, Angebot passt nicht zu Anfrage • Angebot ist OffOUT • Referenz auf OUT-Variable • Angebot ist Instanz/OffIN • direkter Füllwert

  30. Beispiel - Request Anfrage Ausgabevariable binden 30

  31. Beispiel - Offer Angebot 31

  32. Binden von ReqOUT-Variablen • Angebot ist Menge • falls erlaubt, deklarative Bindung • einelementig, Füllwert gegeben • mehrelementig, Angebot passt nicht zu Anfrage • Angebot ist OffOUT • Referenz auf OUT-Variable • Angebot ist Instanz/OffIN • direkter Füllwert

  33. Binden von ReqOUT-Variablen • Angebot ist Menge • falls erlaubt, deklarative Bindung • einelementig, Füllwert gegeben • mehrelementig, Angebot passt nicht zu Anfrage • Angebot ist OffOUT • Referenz auf OUT-Variable • Angebot ist Instanz/OffIN • direkter Füllwert

  34. Übersichtstabelle Vergleicher

  35. LIVE - Demo VERGLEICHER

  36. Ergebnisse und Ausblick • Vergleicher erfüllt Anforderungen automatischer Dienstnutzung • Berechnung des Vergleichwertes • individueller Matcher (Präferenzen) • Bindung der Variablen • Erkenntnis: Teilöffentliche Klassen • effektiv, aber nicht effizient (Ausführungswahrscheinlichkeit) • deklarative Bindung • TODO: Erweiterte Evaluation • Ausblick: Erweiterung des Vergleichers • Definition von Abhängigkeiten zwischen Attributen • lokale Optimierung (Pruning)

  37. DIANE Project http://www.ipd.uni-karlsruhe.de/DIANE/de Danke für Ihre Aufmerksamkeit!

  38. <Type> tcs prop. condition Set direct conditions ms connection strategy DSD - Mengen • deklarative Mengen • Beschreibungselemente • Type Check Strategy • Direct Conditions • Property Conditions • Missing Strategy • Connecting Strategy

  39. DSD - Mengen (2) • Primitive Mengen • Wertbasierte Mengen • Entitäts-Mengen(öffentlich/teilöffentlich) Integer < 100 PriceV amount Double <= 8.00 MoviePE year Integer > 2000

  40. IN Integer < 100 DSD - Variablen • Variable als besondere Menge • spätere Bindung • IN-Variable • ReqIN – bereits gebunden • OffIN – Bindung während Matching • OUT-Variable • OffOUT – evtl. Referenzierung • ReqOUT – Bindung nach Matching

  41. Matching – Öffentliche Entitätsklassen • komplettes Wissen über Instanzen • alle Instanzen veröffentlicht • Stoppe rekursives Graphmatching • Iteration über Instanzen • Ist Instanz im Offer enthalten? • Matche Instanz mit Request • Bilde Cluster • gleiche OffIN-Variablenbelegung • Minimum innerhalb des Clusters • Maximum zwischen den Clustern

  42. Einelementige Menge • Menge deklarativ einelementig • Menge durch Variable einelementig • Element kann nach Dienstausführung bestimmt werden

More Related