6. 6
Dieser Vorschlag im Beispiel
Provided Service
€
C T
Service
Requester
Public View
• Münze fällt
•Mechanismus
aktiviert Knöpfe
•Knopf löst Heizung
aus
•Tasse wird gefüllt
7. 7
Dieser Vorschlag im Beispiel
Provided Service
€
C T
Service
Requester
Bedienungs-
anleitung
• Wirf Münze ein!
• Drücke Knopf!
• Entnimm Tasse!
8. 8
Was publizieren?
Ein Vorschlag: „Public View“ = Abstrakte Version des
Service
Unser Vorschlag: Beschreibung des Verhaltens aller
Requester [Petri Nets 2007]
?
26. 26
Wie finden?
?
= Simulation ROG und Prüfung der Annotationen
Zustand von R
Zustand OG
!a∨(?b∧?c)
Simulations-
relation
!a ?b
Belegung: a,b: true
c: false
28. 28
Anwendung 1: Service-Discovery
• Registry (Broker) speichert Bedienungsanleitungen
• Requester sendet Public View oder
Bedienungsanleitung
• Matching beim Broker
Auswahl passender Services
Aktuelle Forschung: Gestaltung eines Repository
= Datenstruktur für Menge von
Bedienungsanleitungen
29. 29
Variante: „Ich will Kaffee!“
• Gewünschtes Verhalten/Unerwünschtes Verhalten
als Automat C (= „Constraint“) spezifizieren
• R⊕C mit Bedienungsanleitung matchen
Es matchen die Bedienungsanleitungen von
denjenigen Services, die C genügen
[BPM 2007]
30. 30
Anwendung 2: Requester generieren
• Erinnerung: Bedienungsanleitung ist operationell!
• Constraint C formulieren
• Produkt von C und OG bilden
Operationelle Beschreibung von R
[BPM 2007]
34. 34
Private views Tatsächliches System
Park Bank
Ziel: System
schwach sound
Kriterien lokal
prüfbar
35. 35
Lösung
Kriterium: Partners(Public view) Partners(Private View)
Verifikation:
Simulationsbeziehung zwischen OG(Public View)
und OG(Private View) derart, dass Implikation der
annotierten Formeln gültig ist
[WS-FM 2007]
36. 36
Anwendung 4: Testen
• geg.: Spezifikation S als BPEL-Prozess
• geg.: Implementation I als (Java,...)-Code
• brauchen zum Testen von I: Partner
nehmen Bedienungsanleitung von S
[Aktuelle Arbeiten]
37. 37
Anwendung 5: Adaptergenerierung
• geg.: R,P, nicht Partner voneinander
• ges.: Adapter so, dass R⊕A⊕P passend
A Partner von R⊕P‘
Bedienungsanleitung hilft bei der Suche
[DFG-Projekt „Verhaltensadapter“]
38. 38
Ausblick
• Bedienungsanleitungen für Multi-Partner-Services
– Problem: separate OG „Cartesian Closed“
• andere Korrektheitsbegriffe
– Livelockfreiheit, garantierte Terminierung
• alternative Nachrichtenmodelle
– synchron/asynchron; semantische Abhängigkeiten
[DFG-Projekt „Bedienungsanleitungen“]
39. 39
Fazit
• Bedienungsanleitungen sind nützliches Vehikel für
allerlei Probleme des SOC
• Berechnung trotz theoretisch hoher Komplexität
machbar (Model Checking Technologie kommt noch)
• Bezug zur Praxis durch bidirektionale Übersetzung zu
BPEL
• Varianten & Anwendungen: Work in Progress
• Verhalten orthogonal zu Signatur, Semantik,
nichtfunktionalen Eigenschaften