Dienstbeschreibung mit DAML

Werbung
Dienstbeschreibung mit DAML
Ein graphischer Editor für DAML
-Ting Zheng
Betreuer: Michael Klein, Philipp Obreiter
1
Aufgabestellung





2
Erstellung eines graphischen Editors, der die Instanziierung
von DAML Modell erleichtern kann.
Er kann eine beliebige Dienstbeschreibungsschablone (z.B.
DAML-S) einlesen.
Der erstellte DAML Modell kann persistent gespeichert und
wieder eingelesen werden.
Benutzerfreundlichkeit
Operationen sollten nur rein visuell durchgeführt werden
Möglichst viele Mechanismen, um die Konsistenz von DAML
Modell zu bewahren.
Überblick über die Aufgabe
Instanziiere eine konkrete Dienstbeschreibung aus der entstandenen
Schablone.
Dienstontologie
Editor
Dienst
xyz
3
abc
Dienstbeschreibungsinstanz
 in DAML
 Folgt der Dienstontologie
Kurze Vorstellung von DAML+OIL

DAML+OIL ist eine Ontologiesprache




Wichtige Begriffe



4
Sie basiert auf XML.
Eine Erweiterung von RDF.
Abkürzend nennt man DAML+OIL auch DAML.
Ähnlich wie normale Objektorientierte
Programmiersprache(z.B. Java) enthält DAML auch die
Begriffe „Klasse“, „Eigenschaft“ und „Instanz“.
Aussage
Eine Aussage kann sich als einen Tupel (Subjekt,
Prädikate, Objekt) darstellen lassen.
Modell
Ein Modell ist eine Menge von Aussagen.
Graph Modell
Ein DAML Modell kann sich bijektiv in ein Graph Modell abbilden
lassen.
Die Transformation lautet:
1.
Jede Ressource entspricht einem Knoten.
2.
Jede Eigenschaft entspricht einem gerichteten Kanten.
3.
Eine Kante K läuft von Knoten A nach Knoten B, genau dann
wenn, die der Kante K entsprechende Eigenschaft P der
dem Knoten A entsprechende Ressource S hat das Wert von
Ressource O, die dem Knoten B entspricht.
Diese Transformation bereitet die theoretische Grundlage für
diesen Editor vor.
5
Ein kleines Beispiel
<rdf:RDF>
<Service:Service rdf:ID=‚DianeService'>
<Service:presents rdf:resource='#DianeProfile' />
</Service:Service>
<Profile:Profile rdf:ID=´DianeProfile´/>
</rdf:RDF>
6
Entwurfsmuster - Beobachter
7
Entwurfsmuster - Beobachter
8
Softwareansatz


Diese Anwendung wurde mit Java entwickelt.
Außerdem wurden die folgenden APIs verwendet:
1.
2.
9
Jena 1.6.0 ein von HP Lab entwickelte Paket. Es kann
DAML-Modelle verwalten.
JGraph 1.0 eine mit Java entwickelte
Graphkomponente. Sie unterstützt alle nötige
Funktionalität, um ein Graph darzustellen und zu
manipulieren.
Implementierung

Grundlegende Operationen
 Einfügen
 Löschen
 Ändern := Löschen;Einfügen


Die Bijektivität zwischen Graph Modell und DAML Modell
werden bei allen Operationen streng kontrolliert.
Persistentes Speichern
 DAML Modell wird in XML Form gespeichert.
 Graph Modell wird nicht gespeichert.
 Die Positionsinformation wird mitgespeichert.

Konsistenzbewahrung
 Einige Operationen bewahren schon Konsistenz (z.B. Einfügen
einer Eigenschaft kann Zieltypen dieser Eigenschaft garantieren).
 Eine Funktion steht zur Verfügung, um die vordefinierten
Konsistenzbedingung nachzuprüfen. (z.B. Kardialitäten von
Eigenschaften)
10
DEMO
11
Zusammenfassung
 Der Editor ist ein rein visuelles Werkzeug.
 Benutzerfreundlich
 Übersichtlich
 Möglichst viele Konsistenzbewahrungen
 Erweiterung
 Jetzt: DAML-Schablone  DAML Instanz
Später: RDFS  DAML-Schablone
 Editor könnte verteilte DAML Instanz Modelle kontrollieren
12
DANKE!
Danke für Ihre Aufmerksamkeit!
13
Anhang
14
Herunterladen