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