380 likes | 526 Views
DAML DARPA Agent Markup Language. Veranstaltung: Seminar „Softwareagenten“ Veranstalter: Institut für Informatik Dozent: Prof. Dr. W. Lippe Betreuer: Dr. Dietmar Lammers Referent: Dirk Redbrake. Inhalt. Was ist DAML ? DARPA Das DAML-Programm Ziele von DAML Agenteneinsatz
E N D
DAMLDARPA Agent Markup Language Veranstaltung: Seminar „Softwareagenten“ Veranstalter: Institut für Informatik Dozent: Prof. Dr. W. Lippe Betreuer: Dr. Dietmar Lammers Referent: Dirk Redbrake
Inhalt • Was ist DAML ? • DARPA • Das DAML-Programm • Ziele von DAML • Agenteneinsatz • Beispiel für eine Ontologie • Anwendungen • Zusammenfassung
Was ist DAML ? • DAML: DARPA Agent Markup Language • Erweiterung von RDF und XML • Nutzung besonders durch Agenten • Forschungsprojekt der DARPA • Heutiger DAML-Standard vereinigt DAML und OIL • OIL: Ontology Interface Layer ist das europäische Gegenstück zum US-amerikanischen DAML • Verbesserte Beschreibbarkeit von Ontologien • „DAML Vision“: WWW -> Semantic Web • Entwicklung von Programmen zur DAML-Nutzung
DARPA • DARPA: Defense Advanced Research Projects Agency • Zentrale Forschungsstelle des US-amerikanischen Department of Defense (DoD) • Gegründet 1958 im Kalten Krieg • Standort Arlington, Virginia • Finanzierung durch Steuergelderfond • Teilnehmer: Wissenschaftler und Ingenieure, die nicht in Diensten der Regierung stehen
DARPA-Projekte • Projekte besonders für das Militär interessant • „Sicherstellung eines überevolutionären technischen Vorsprungs der USA“ (DARPA) • „extrem risikobehaftet mit gewaltigem Pay-Off“ (DARPA) • Beispiel: Entwicklung des Internets • Normale Laufzeit: 3 - 5 Jahre meist ohne Verlängerung • Normales Jahresbudget: 2,5 - 10 Mio. US-$ • Durchschnittliche Vertragspartner: • 10 Firmen / Institutionen • 2 Universitäten
DAML-Programm • Offizieller Start im August 2000 in Boston • Vermeintliche Laufzeit bis etwa 2004 • 16 Teams zur DAML-Tool-Entwicklung • 21 Projekte (10 Firmen und 7 Universitäten) • „unclassified“: Berichte und Ergebnisse frei • Budget: 13,1 Mio. US-$ (2001) 15,9 Mio. US-$ (2002) • Zuständigkeit seit 1.11.2001 beim IXO • IXO: Information Exploitation Office entwickelt Sensor- / Informationssystemen, z.B. intelligente Zielsysteme
Ziele (I) • Interoperable, agenten-basierte Integration verschiedener militärischer Quellen und Systeme in Echtzeit • InteLink und C2Link („command and control“) • 2002: Vergrößerung des DAML-Statement-Archivs für Laufzeittests von derzeit 850000 auf 1,5 Mio. • Tool-Entwicklung zur DAML-Einbettung in Web-Seiten und Informationsquellen und Agentenerzeugung
Ziele (II) • Agenten erkennen komplexe semantische Strukturen • Agenteneinsatz im Internet und bei Sensoren • Kommunikation über DAML • Ontologien-Entwicklung im Bottom-up-Design • Nutzbarkeit für verschiedene Information Communities • Durch DAML Anhang von Informationen an Objekte (z.B. Funktionsbeschreibungen)
Agenteneinsatz • Identifikation von Informationsquellen • Kommunikation zwischen Agenten • Dynamisch, selbständig und interoperabel • DAML als Kommunikationssprache • Information fusion (Web, DB, Sensoren etc) • URIs müssen noch vorgegeben werden • Entwicklung eines Agentennetzwerkes
Beispiel für Ontologie • Aktueller DAML+OIL-Standard vom März 2001 • Syntaktisch normale Markup Language • 35 Sprachelemente • Stand 27.11.2001: 169 Ontologien, 49 Properties • Verwendung vieler RDF-Befehle • Ontologie besteht aus beliebig vielen Headern, Klassen, Properties, Restriktionen und Instanzen • Instanzen verwenden nur RDF
Beispiel DAML-Header <Ontology rdf:about=""> <versionInfo>$Id: reference.html,v 1.10 2001/04/11 Exp $</versionInfo> <rdfs:comment>TestOntology</rdfs:comment> <imports rdf: resource="http://www.daml.org/daml"/> </Ontology> • Ontology: Rahmen für Ontologie • versionInfo: textliche Aussage über DAML-Version • imports: transitives Importieren von Ontologien • Wenn A B und B C, dann A B und C • A und B äquivalent, wenn A B und B A
DAML-Klassen • Einteilung des Universums in zwei Domänen • Object domain: Einzelobjekte in DAML oder RDF beschreibbar • Datatype domain: XML-Datentypen mit DAML-Befehl datatype verwendbar • Überwiegend Objekte der object domain erstellt • DAML-Klasse stets Unterklasse von RDF • Beispiele: • Class: Definition einer DAML-Klasse • equivalentTo: Verweis auf semantisch äquivalente Klasse (+ weitere derartige Befehle)
DAML-Property-Beispiele • Überwiegend RDF-Sprachschatz • samePropertyAs: Verweis auf äquivalente Property • equivalentTo: wie bei DAML-Klassen • TransitiveProperty: wenn (x,y) und (y,z) Instanzen der Property, dann auch (x,z) • UniqueProperty: zwei Instanzen einer Property haben niemals den gleichen Wert
DAML-Property-Restrictions + Beispiele • Property Restrictions: Ein- bzw. Beschränkungen von Properties (DAML-Befehl: restriction) • Definition in anonymen Subklassen durch Verwendung von rdf:subClassOf • onProperty: betroffene Properties / URIs • toClass: Klasse mit zulässigen Property-Werten • maxCardinality n: Property darf höchstens n Mal instanziert werden
DAML-Beispiel <daml:Class URI_name> <daml:equivalentTo rdf:resource= "http://www.daml.org/daml#Person"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#name"/> <daml:toClass rdf:resource= "http://www.w3.org/XMLSchema#string"/> <daml:maxCardinality>1 </daml:maxCardinality> </daml:Restriction> </rdfs:subClassOf> </daml:Class>
DAML-Anwendungen • Tool-Entwicklung ist Teil des DAML-Projektes • Tools benutzen DAML oder kommunizieren mit Agenten, die DAML benutzen • Derzeit Dutzende von Tools (häufig JAVA) • Inhaltlich ähneln sich viele Anwendungen • Tools überwiegend noch nicht fertig • Häufig zusätzliche Software erforderlich • Einige Präsentationen als Tutorials • Tools werden auf DAML-Homepage gesammelt
Suchmaschine auf DAML-Homepage • Einflussbereich auf registrierte Server begrenzt • Suche nach definierten Properties und Klassen • Suchen von Ontologien mit Kriterien wie URI, Re-gistrierungsdatum, Schlüsselwort, Property, Klasse • Alle verwendeten DAML-Statements sind registriert • Wegen fehlerhafter Statements ist Qualität der Links extrem unterschiedlich • Links stets .DAML-Dateien • Suche deutlich komfortabler als bei herkömmlichen Suchmaschinen
Wall Street Journal (DARPA-Fiktion) • DAML-Verwendung in der Online-Ausgabe • Ontologie „Firma“: Name und wirtschaftliche Eckdaten als Properties • Ontologie „Artikel“: Titel, Datum, Herausgeber, Text als Properties • Agent könnte Benutzer jedes mal eine E-Mail schicken, wenn ein Artikel über eine gewünschte Firma erscheint • Gleichzeitiges Auslesen aktueller Eckdaten • Erweiterung auf Branchen wie „Banken“, etc.
DAML Crawler (I) Architektur des DAML Crawlers (Quelle: DAML-Homepage)
DAML Crawler (II) • JAVA-Programm zum Suchen von DAML-Statements • Registrierung der URIs vorher notwendig • Tägliche automatische Suche nach Statements wahrscheinlich durch Agenten • DAML Crawler selbst liest nur Resultate aus • Ziel „Echtzeit“ verfehlt • Nachfolgende Tabelle ist ein gekürztes Beispiel-resultat (TOTAL-Werte beziehen sich jedoch auf alle Server)
DAML Crawler (III) Auszug aus Ergebnisliste (Quelle: DAML-Homepage)
PalmDAML (I) • Anwendung für Palm Desktops • Tragbarer Organizer (Adressen, E-Mail, Termine) • Kabelloser Internetanschluss
PalmDAML (II) • Agenten legen DAML-Datenbank an • JAVA-Anwendung daml2pdb liest Daten aus und konvertiert sie in eine Palm Data Base (PDB) • Herunterladen der PDB aus dem Internet Architektur Palm DAML (Quelle: DAML-Homepage)
PalmDAML (III) • PalmOS-Programm HotSync konvertiert PDB, um sie nutzbar zu machen • PDB-Größe noch auf 64 KB begrenzt Aufruf PalmDAML (Quelle: DAML-Homepage)
PalmDAML (IV) • Nach Start von Palm-DAML Anzeige der Datensätze • Beispiel ist eine PDB über den europäischen Adel Öffnen einer PDB (Quelle: DAML-Homepage)
PalmDAML (V) • Übersicht über Knoten • Darstellung abgekürzt: nur Verzeichnis # Resource Knotenauszug (Quelle: DAML-Homepage)
PalmDAML (VI) • Darstellung Einzelknoten • 1) volle URI • 2) Statements mit Subjekt/Objekt-Beziehung • 3) Informationen zu anwählbarem Statement-Knoten Einzelknoten (Quelle: DAML-Homepage)
PamlDAML (VII) • Suchfunktion • Ergebnis: alle Knoten, in denen Suchbegriff vorkommt Suchfunktion (Quelle: DAML-Homepage)
PalmDAML (VIII) • Suchergebnis: hier ein Knoten • Knoten lassen sich auswählen Suchergebnis (Quelle: DAML-Homepage)
PalmDAML (IX) • Ansicht eines Knotens • Gleiche Ansicht wie zuvor Einzelknoten (Quelle: DAML-Homepage)
PalmDAML (X) • PalmDAML mit kommerziellem Potential • Serienmäßiger Vertrieb auf Palm Desktops • Problem: noch geringe Datenbank-Größe von 64 KB • In Planung: Filterung von DAML-Statements • In Planung: Erzeugen von DAML-Statements
DAML Viewer (I) • Weiteres Tool zur Abfrage von DAML-Statements • Als Applet oder Applikation erhältlich • URIs oder Dateien müssen angegeben werden URI-Eingabe (Quelle: DAML-Homepage)
DAML Viewer (II) • Liste aller gefundenen Resourcen • Einzelne Knoten anwählbar Knotenauszug (Quelle: DAML-Homepage)
DAML Viewer (III) • Option „Properties“ liefert Anzahl von DAML-Statements und Resourcen • Option „View Source“ zeigt Knoten-Quellcode an • Klick auf Knoten öffnet Fenster mit verwendeten Properties (Subjekt/Objekt, etc.) Einzelknoten (Quelle: DAML-Homepage)
HyperDAML (I) • Einfaches Tool zur Konvertierung einer DAML-Datei in ein Hypertext-Dokument • Beispiel: <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#surname"/> <daml:toClass rdf:resource= "http://www.w3.org/XMLSchema#string"/> <daml:maxCardinality>1</daml:maxCardinality> </daml:Restriction> </rdfs:subClassOf>
HyperDAML (II) • Resultat mit erhöhter Lesbarkeit • Resourcen direkt anwählbar • Ausgangsbeispiel nach Konvertierung:
Zusammenfassung • Vereinigung von DAML, OIL, RDF, XML • DAML könnte alle Standards in sich vereinigen • Einflussreicher Schirmherr (DARPA) könnte Popularität steigern • Schritt vom WWW zum Semantic Web • Internet wie eine Datenbank abrufbar • Internet als Vorbereitung für spätere militärische Anwendungen (z.B. Raketenabwehrsystem) • Probleme: Echtzeit und vorherige URI-Eingabe • Enormes Potential und schon jetzt eindrucksvoll