1 Entwicklung einer Evaluationsmethodik für Semantic Web Services und Anwendung auf die DIANE...
-
Upload
aldric-bolliger -
Category
Documents
-
view
104 -
download
1
Transcript of 1 Entwicklung einer Evaluationsmethodik für Semantic Web Services und Anwendung auf die DIANE...
1
Entwicklung einer Evaluationsmethodik für Semantic Web Services
und Anwendung auf die DIANE Service Description
Thomas Fischer08.07.2005
Diplomarbeit
Betreuender Professor:Prof. Dr. Ing. Klemens Böhm
Betreuender Mitarbeiter:Dipl. Inform. Michael Klein
Universität Karlsruhe, Institut für Programmstrukturen und Datenorganisation
2
Einordnung
Interaktion,statisch
Automation,dynamisch
Syntax
Semantik
WWW
SemanticWeb
Web Service
SemanticWeb Service
3
Einordnung
Dienstbeschreibungssprache was bietet mein Dienst (Angebot)? welche Funktionalität suche ich (Anfrage)?
Ontologien als „gemeinsames Vokabular“ Ausschnitt der realen Welt gemeinschaftliche Erstellung, Nutzung, Wartung formalisierte Beschreibung
Semantic Web Service – Frameworks Dienstbeschreibungssprache Ontologie(-sprache) Bieten Komponenten für:
Dienstsuche Konfiguration & Ausführung Komposition
WSMO,DSD
4
Ziele von Semantic Web Service Frameworks
Automation
VertretbarerEinigungsaufwand
SemantischeKorrektheit
Minimale Interaktion mit Nutzer bei: Dienstsuche Konfiguration & Ausführung Dienstkombination
System liefert genau die Ergebnisse, die ein auch ein menschlicher Nutzer gewählt hätte
Zeitaufwand bei Erstellung & Wartung eines gemeinsamen Vokabulars
Erweiterbarkeit Unterstützung durch Tools
Gesamtziel: gleichzeitige Erfüllung aller Aspekte
Randbedingung: dynamische Dienstlandschaft
5
Problematik
Bisher: nur abgegrenzte Evaluierungen einzelner Aspekte ein gemeinsames Ziel aber kein gemeinsamer Test
(„allgemeiner Benchmark“) fehlende Realitätsnähe bei Evaluierungen
Wunsch nach: Evaluierung aller Aspekte einem möglichst generischen Prüfverfahren möglichst hoher Realitätsnähe
6
Aufgabenstellung
Entwicklung eines Kompetenz-Benchmarks für SWS-Frameworks zur Überprüfung des Anforderungsdreiecks in dynamischen Umgebungen in realistischen Szenarien
Exemplarische Anwendung der Methodik auf DSD
7
Eigener Ansatz
Automation gefordert sukzessive Betrachtung
der übrigen Aspekte Experten modellieren
reale Nutzeranfragenund Konzeptontologie
Automation
VertretbarerEinigungsaufwand
SemantischeKorrektheit
Randbedingung: dynamische Dienstlandschaft
Teil 1
Teil 2
invertiertes Vorgehen:geschulte Nutzermodellieren vorgegebene Anfragen
zwei Gruppen
8
Benchmark – Teil 1: Überblick
Auswertung
realeNutzer-
anfragen
UMLKonzept-ontologie
Ziel-Ontologie Dienstanfragen
Modellierung durch Experten
9
Benchmark – Teil 1: Nutzeranfragen
von realen Nutzern erstellt „unbedarfte“ Nutzer ca. 100 Endnutzeranfragen ca. 60 Programmieranfragen
zwei Diensttypen:
Endnutzer-orientiert
Programmiersprachen-orientiert
Buchbestellung Bahnticket Reisebüro-anwendung
PDA Portal-Software
10
Benchmark – Teil 1: Nutzeranfragen
Beispiele „Endnutzeranfragen“
[#4] „Bruce Schneier: "Angewandte Kryptographie", gebundene Ausgabe auf deutsch. Preis < 70 €.“
[#117] „Fahrt von Karlsruhe nach Kronach, 1 Person mit Bahncard 50, alle Züge mit Reservierung im Nichtraucher
(Großraum), am 24.06. vormittags, schnellste Verbindung, mit möglichst wenig Umsteigen“
11
Benchmark – Teil 1: Nutzeranfragen
Beispiel „Programmieranfragen“
/** * [#222] Belastet eine Kreditkarte um einen Betrag * @param number Nummer der Kreditkarte * @param date Gültigkeitsdauer der Kreditkarte * @param owner Name des Kreditkartenbesitzers * @param company Firma, die die Kreditkarte ausgestellt hat * @param sum Belastungsbetrag * @param cur Belastungswährung * @param text Text, der in der Buchung erscheinen soll */void belasteKreditkarte(Integer number, Date date, String owner,
Company company, Double sum,Currency cur, String text)
12
Benchmark – Teil 1: Konzeptontologie
semiformale Beschreibung der in den Anfragen vorkommenden Domänen Notation in UML
13
Benchmark – Teil 1: Konzeptontologie
Beispiel
-asin : string-isbn : string-numberOfPages : int-releaseDate : Date-originalTitle : string-Title : string
Book
Language
German English French
Author-writtenBy
1..*
*
-writtenIN1*
-name : string-age : int-birthday : Date
Person
-name : string
Company
*
-publisher
1
-name : string-postCode : int
City
*
-locatedIn 1..*
-rank : int
SalesRank
1
0..1
1
-hasSalesRank*
-description : string-amazonCode : int
Category
-belongsTo
*
*
-description : string
Binding
*
-hasBinding1
14
Benchmark – Teil 1: Auswertung
Ontologie Anfragen
initialer Aufwand Zeitdauer
fortlaufender Aufwand Abschätzung über
Fragenkatalog
Unterstützung durch Tools Aufwand bei Änderungen Dokumentation und Hilfe
Anzahl modellierbarer Anfragen
Anzahl nicht modellierbarer Anfragen wegen: Ontologie Fehlender Sprachkonstrukte
15
Benchmark – Teil 2: Überblick
Vergleich
realeprogrammiersprachliche
NutzeranfragenZiel-Ontologie
Dienstanfragen Dienstanfragen
Team 1 Team 2Modellierung
• zwei Teams• räumlich getrennt• Teilnehmer sind mit der Sprache vertraut
16
Benchmark – Teil 2: Auswertung
Wie viele Anfragen, die gleich sein sollten,erzeugen einen Treffer beim Vergleich?
Wie viele Anfragen, die nicht gleich sein sollten,erzeugen einen Treffer beim Vergleich („false positives“)?
17
Anwendung auf DSD
Teil 1:1. Modellieren der Konzeptontologie2. Modellieren der Anfragen
• Endnutzeranfragen• Programmieranfragen
3. Auswertung
Teil 2:1. Schulung der Hiwi-Gruppen in DSD2. Modellieren der Anfragen durch zwei Teams3. Vergleich der Ergebnisse4. Auswertung
18
Auswertung Teil 1: Ontologie
initialer Aufwand ca. 1,5h
fortlaufender Aufwand moderat
+ Unterstützung durch Visio-Schablonen und Assistenten
+ leichte Suche und Navigation+ ausführliche Dokumentation+ intuitives Verständnis beim
Modellieren
- manuelle Änderung bei Erweiterungen nötig
19
DSD: Beispiele
BookE
CopyOfBookE
instanceOf
IntegernumberOfPages
domain.economyCompanyE
publisher
Date
releaseDate
String
isbn
ONTOLOGY: domain.literature
domain.fileDocumentE
topPhysicalEntityE
category
CategoryEPdescription
String
amazonCode
Integer
asin
String
binding
BindingEPdescription
String
String
originalTitle
salesRankdomain.economySalesRankEP
20
Auswertung Teil1: Nutzeranfragen
EndnutzeranfragenBuch:
Bahn:
ProgrammieranfragenReisebüro:
PDA-Portal:
6,90%
6,90%
86,21%
17,39%
10,87%
71,74%
8,70%
13,04%
78,26%
modellierbar
theoretischmodellierbar
(mit erweiterterOntologie)
nichtmodellierbar
(fehlende Sprachkonstrukte)
6,00%
25,00%
69,00%
21
DSD: Beispieleupper
bookbuy4 : Service
upper.profile : ServiceProfile
presents
effect
Owned
entity
CopyOfBook
Book
instanceOf
Person
author
String== "Bruce Schneier"
name
title
String
== "Angewandte Kryptographie"
price
Price
Currency
== eur
currency
Double
<70
amount
Binding
== gebunden
bindinglanguage
Language
== de
Request #4
Bruce Schneier:"Angewandte
Kryptographie"gebundene Ausgabe
auf deutschPreis < 70 €
22
DSD: Beispiele
Request #131:„Ich muss nach Pforzheim.Raucherabteil, nahe bei den Toiletten.“
Request #67:Ich hätte gern das Buch mit dem ungefähren Titel „Lehrbuch der Telematik“ […].
23
Auswertung Teil 2: Dynamik
Auswertung noch in Arbeit
absehbares Ergebnis: Großteil der Anfragen ist passend keine „false positives“
24
Fazit DSD
Positiv initialer Aufwand gering fortlaufender Aufwand moderat sehr gute Ergebnisse bei Programmieranfragen gute Ergebnisse bei Endnutzeranfragen (trotz Fokus auf
Programmieranfragen)
Verbesserungsvorschläge „list“-Konstrukt fehlt „fuzzy-String“-Konstrukt fehlt keine Mehrfachvererbung für bessere Dynamikergebnisse:
bessere Dokumentation der Kategorien-Ontologie
25
Zusammenfassung
erstellt:Kompetenz-Benchmark, der
die an SWS-Frameworks gestellten Anforderungen in dynamischen Umgebungen unter realistischen Bedingungen
prüft durchgeführt:
Anwendung auf ein existierendes Framework (DSD)
mögliche Erweiterungen: Klassifikation und Ergänzung der Anfragen Tiefere Untersuchung des „fortlaufenden Aufwands“
weiteres Vorgehen: Anwendung auf weitere Frameworks verfügbar ab September auf der DIANE-Webseite
26
Vielen Dankfür die
Aufmerksamkeit!
Fragen ?!?