Lade Inhalt...

Ontologien als Kommunikationsgrundlage und Informationsspeicher für mobile Agenten

Studienarbeit 2004 53 Seiten

Informatik - Internet, neue Technologien

Leseprobe

Inhaltsverzeichnis

I. Einstieg
I. 1. Motivation
I. 2. Ontologien
I. 2. 1. Allgemeines
I. 2. 2. Ontologien in der Informatik
I. 3. Mobile Agenten
I. 3. 1. Allgemeines
I. 3. 2. Einsatzmöglichkeiten

II. Repräsentation von Ontologien mit RDF, RDF-S und OWL
II. 1. Resource Description Framework (RDF)
II. 2 RDF Schema
II. 3. OWL
II. 3 1. OWL Lite, OWL DL und OWL Full
II. 3. 2. Ontologiebeschreibung in OWL
II. 3. 2. 1. Der Dokumentenkopf
II. 3. 2. 2. Sprachelemente

III Modellierung einer Bewerbungsontologie und Nutzbarkeit für mobile Agenten
III. 1. Einführung
III. 1. 1. Motivation
III. 1. 2. Sprachen und Werkzeuge
III. 2. Modellierung der ApplicationOntology
III. 2. 1. Einführung
III. 2. 2. Beschreibung und einfaches Klassenmodell
III. 2. 3. Detaillierte Klassenbeschreibung

IV. Nutzbarkeit für Mobile Agenten

Anhang I Dokument ApplicationOntology.owl

Anhang II Quellenverzeichnis

I. Einstieg

Als Nutzer des World Wide Web, ob nun beruflich oder privat, bemerkt man beständig eine Zunahme der Fülle und Komplexität von Informationen. Wenn sich man nun auf der Suche nach bestimmen Inhalten auf herkömmliche Suchmaschinen verlässt, wird man sich dieser Komplexitätszunahme in Form unverhältnismäßig vieler teils völlig unnützer Suchergebnisse nur allzu deutlich bewusst. Man muss also nach weiteren Möglichkeiten suchen, schnell und effektiv zum Erfolg zu kommen.

Die einfachste Möglichkeit sich Zeit und Mühe zu ersparen, wäre doch, die Aufgabe einfach abzugeben und „Jemand Anderen“ damit zu belasten. Ein Konzept in der Informatik, welches in der Lage ist selbstständig Probleme zu lösen, ist das der mobilen Agenten. Sie können sich unter bestimmten Voraussetzungen im World Wide Web frei bewegen und versuchen die ihnen gestellte Aufgabe zu erfüllen.

Damit hätte man jedoch nur eine Ersparnis des Suchaufwands erreicht – die Qualität der Ergebnisse bliebe unberührt. Bei mobilen Agenten handelt es sich ebenfalls nur um Programme, die Aufgaben in einer für den Menschen geschaffenen Umgebung bewältigen sollen. Die Schwierigkeiten des Auslesens von Informationen sind die selben. Ein Text von und für Menschen geschrieben, kann von einer Maschine nur auf logische Verknüpfungen von Zeichenketten, nicht aber auf Zusammenhänge von Inhalten hin, untersucht werden.

Nachdem wir aber nun mit den mobilen Agenten ein Werkzeug besitzen, dass uns die Arbeit abnehmen könnte, benötigen wir nur noch eine Umgebung in der es effizient arbeiten kann. Als solche Umgebung hat der Erfinder der World Wide Web, Sir Tim Berners Lee, eine Erweiterung desselben vorgeschlagen. Dieser „Nachfolger“ trägt den Namen Semantic Web [1] und speichert neben der für Menschen lesbaren Form von Webseiten, Informationen auch formal in einer von Maschinen verarbeitbaren Form ab. Zur Repräsentation dieser sogenannten Metadaten wurden Ontologien vorgeschlagen.

Die folgende Arbeit stellt derzeitige Standards zur Repräsentierung und Modellierung von Ontologien vor. Weiterhin soll ein Beispiel modelliert und die Nutzbarkeit für mobile Agenten diskutiert werden.

I. 2. Ontologien

I. 2. 1. Allgemeines

Der Begriff Ontologie hat seinen Ursprung in der Philosophie und steht für die „[…] Wissenschaft, die Theorie oder die Untersuchung des Seins, bzw. die Erforschung dessen, was ist, 'wie es ist' […]“ [2]. Die Ontologie beschäftigt sich also mit den Dingen wie sie wirklich sind. Sie steht damit der Erkenntnistheorie (Epistemologie) gegenüber, die sich damit beschäftigt wie wir die Dinge sehen und wie wir die Welt interpretieren.

Ein schönes Beispiel für das Paradoxon in der klassischen Ontologie ist die Erklärung der eigenen Malerei von Franz Marc [3]. Der Künstler stellte die Welt durch die Augen von Tieren dar, weil er es als Anmaßung empfand, unsere Wahrnehmung als einzig mögliche anzusehen. So wissen wir heute, dass zum Beispiel Insekten durch die Fähigkeit andere Wellenlängen des Lichts zu sehen und ihre Facettenaugen die Welt wirklich anders wahrnehmen. Abgesehen davon, dass Marc natürlich ebenso wenig weiß wie ein Hund oder eine Ameise einen Baum sieht, zeigt er sehr schön die Grenzen der klassischen Ontologie in der Philosophie auf. Im Grunde geht es dem Ontologen darum verschiedene Sichtweisen und Interpretationen der selben Sache zu ignorieren und die wahre Gestalt zu beschreiben. Es ist leicht einzusehen, dass diese Frage nicht ohne weiteres beantwortet werden kann, da man den Filter seiner Sinnesorgane nicht entfernen kann, weil sie notwendige Bedingung für die Wahrnehmung überhaupt sind. In der modernen Philosophie stellen sich in Verbindung mit dem Ontologiebegriff (analytische Ontologie) jedoch weitere Fragen, die denen der Informatik weniger fremd sind. Sie ist eine “ Lehre von grundlegenden Kategorien“ [4] und beschäftigt sich mit den Dingen und wie sie zueinander stehen. Es tauchen Begriffe wie Ereignis, Eigenschaft, Attribut, Entität, Teil und Ganzes auf. Die zentrale Frage ist wie sich „verschiedene Kategorien zueinander verhalten und ob sich eine Kategorie als fundamentale auszeichnen lässt“ [4]. Weitere Fragen wie „Sind einzelne Dinge etwa bloße Bündel von Eigenschaften?, Kann es Eigenschaften (Universalien) geben, die unabhängig von Dingen existieren?, Braucht man eine eigene Kategorie des Ereignisses?“ [4] lassen Parallelen zu Analyse und Modellierung bestimmter Sachverhalte in der Informatik erkennen. Der eigentliche Unterschied zwischen beiden Wissenschaften ist wohl, dass die Informatik die Wahrnehmung durch Definitionen und Formalismen zwar nicht abgelöst, ihr aber die Zweideutigkeit und die Möglichkeit verschiedene Sachen hinein zu interpretieren, genommen hat.

I. 2. 2. Ontologien in der Informatik

Wie schon erwähnt, ist es angedacht Ontologien zur Beschreibung von Webseiten zu verwenden. Dabei werden Inhalte als Metadaten zusätzlich zum Quelltext und für den Endnutzer unsichtbar abgespeichert. Darüber hinaus können Ontologien jedoch nahezu beliebige Sachverhalte beschreiben und ihre Nutzung für Webseiten ist vielmehr nur ein Beispiel. Eine Ontologie in der Informatik ist eine klar definierte Beschreibungssprache für ein abgeschlossenes Wissensgebiet, oder auch die Knowledge Domain. Es werden nicht nur Inhalte hinterlegt, sondern auch die Beziehungen die zwischen den einzelnen Elementen bestehen.

Wichtig ist natürlich, dass das Dokument in der diese Beziehungen und Bildungsregeln definiert sind für alle Nutzer zugänglich ist. In diesem Zusammenhang ist es sinnvoll auch von einem gemeinsamen Vokabular der Nutzer zu sprechen. Dieses ist in Form einer Taxonomie aus Klassen, Relationen, Funktionen und Axiomen (Restriktionen) gegeben [5]. Aufgrund dieser Form ist der Umgang für Software, wie zum Beispiel mobile Agenten, mit Inhalten relativ leicht zu realisieren.

Dass diese Form der Repräsentierung von Informationen nur für kleinere Wissensgebiete von einer breiten Masse akzeptiert werden kann, wird unmittelbar aus den Problemen der Ontologie in der Philosophie und unseres eigenen Wortschatzes klar. Mehrdeutigkeiten existieren und können auch in der Modellierung einer Ontologie nicht ignoriert werden. So das Wort ‚Bank’ – In einer klaren, exakten Beschreibung wie einer Ontologie muss man sich entscheiden ob man sich entweder darauf setzen oder darin ein Konto eröffnen kann. Ebenso ist die Wahrnehmung oft Grund für Missverständnisse. Gerade beschreibende Adjektive wie Farb- und Größenangaben sind relativ im Bezug auf Genauigkeit und Blickwinkel.

Es genügt also nicht eine Ontologie einfach zu modellieren – man muss einen Mittelweg zwischen Ausdrucksstärke und allgemeingültiger Betrachtungsweise und Bezeichnung der Elemente und Beziehungen finden.

I. 3. Mobile Agenten

I. 3. 1. Einführung

Mobile Agenten sind autarke Softwareentitäten, die sich frei in einem Netzwerk bewegen können und dabei selbstständig Aufgaben verschiedenster Art bewältigen können. Grundlage für die Migration, also das Wandern von einer Lokalität zur einer Anderen, ist zum einen eine Plattform, die diese Migration zulässt, und zum Anderen das Wissen wo sich andere Plattformen befinden. Diese Agentenplattform ist ebenfalls ein Programm, die den Platz für den Agenten zur Verfügung stellt und in der Lage ist, mit ihm zu kommunizieren. Aus Sicherheitsgründen ist es sinnvoll, die Aufgaben des Agenten vollständig von der Plattform abarbeiten zu lassen, da die Rechte für den Zugriff auf lokale Daten so nur für dieses lokale Programm definiert werden müssen.

Ein größeres Problem, insbesondere in einem sich verändernden Netzwerk wie dem World Wide Web, ist die Erstellung einer Karte mit anderen Agentenplattformen sowie eine effiziente Routenplanung zur Erfüllung der Aufgaben an verschiedenen Lokalitäten.

Die Diskussion von Strategien und Lösungen dieser Aufgaben soll jedoch nicht Inhalt dieser Arbeit sein.

I. 3. 2. Einsatzmöglichkeiten mobiler Agenten

Im folgenden Abschnitt werden einige Möglichkeiten für den Einsatz mobiler Agentensysteme kurz beschrieben. Er soll lediglich einen Einblick in die Vielseitigkeit und Mächtigkeit dieses Konzeptes geben. Aufkommende und resultierende Fragen werden bewusst nicht im Detail beantwortet und sollen dem Leser ermöglichen, sich auf seine Art und Weise in die Welt der mobilen Agenten zu denken.

Eine Möglichkeit des Einsatz besteht bei kostenintensiven Applikationen in verteilten Systemen. Das können Aufgaben sein, deren Erfüllung aus Platz- oder Zeitgründen an anderer Stelle effizienter oder grundsätzlich erst lösbar werden. Hier könnten mobile Agenten die Kommunikation und den Datenaustausch übernehmen. Es ist möglich Agenten mit Teilaufgaben abzuschicken um eigene Ressourcen zu schonen. Der Agent sucht nun selbstständig nach alternativen Lokalitäten um die ihm gestellten Aufgaben zu bewältigen bzw. bewältigen zu lassen. Wenn das erledigt ist kehrt er mit den Ergebnissen zu ihrem Absender zurück, der die Daten nutzen kann.

Eine andere Anwendungsmöglichkeit findet sich im Szenario der gemeinsamen Arbeit an Dokumenten. Das kann ein zum Beispiel ein Programmierprojekt sein, bei dem es möglich ist, dass durch räumliche Trennung der Entwickler ständig aktuelle Versionen der selben Dateien existieren und daher ständig abgeglichen werden müssen. Ein Lösungsansatz war bisher ein Repository bei der die Dateien auf einem zentralen Server abgelegt und verwaltet werden. Wenn ein Entwickler die Arbeit aufnimmt muss er das Repository kontaktieren und sich die aktuellste Version auf den eigenen Rechner laden und nach Abschluss seiner Arbeiten wiederum das Repository aktualisieren. Manchmal ist es sogar möglich, dass bei der gleichzeitigen Arbeit neue Versionen in sehr kurzen Abständen zur Verfügung stehen. Ein Agent könnte nun selbstständig von Mitarbeiter zu Mitarbeiter wandern und nach neueren Versionen der Dateien suchen und/oder diese dann in der ganzen Gruppe aktualisieren. Die Vorteile sind zum Einen die Dezentraliesierung und damit Unabhängigkeit von festen „Lagerstätten“ für die Dateien und zum Anderen die regelmäßige und selbstständige Aktualisierung ohne Zutun des Entwicklers.

Eine Art Filesharing á la Kazaa & Co ist eine andere Möglichkeit das Agentensystem zu nutzen. Der Agent wandert mit Suchanfragen von User zu User und liefert entweder Quellen oder Beschreibungen der gewünschten Dateien. Im besten Fall bringt er gleich die Dateien mit. Damit hätte man eine effizientere, dezentralere Lösung für dieses Problem, denn selbst die jetzt noch verwendeten Supernodes wären überflüssig.

Ein weiteres Prinzip der Nutzung ist die Suche von Informationen nach dem Client Server Prinzip. Wobei in diesem Fall Clients und Server nur Rollen sind die auch getauscht werden können. Im Prinzip sind es zwei Usergroups, die Informationen austauschen. Der Client schickt Agenten mit Anfragen an die Servergroup um Aufgaben zu erledigen. Das können Einkaufslisten sein, die verschiedene Onlineshops abwandern und die besten Angebote suchen oder im besten Fall gleich die Bestellungen abgeben.

II. Repräsentation von Ontologien mit RDF, RDF-S und OWL

II. 1. Ressource Description Framework (RDF)

RDF [6] wurde 1999 vom W3C [7] vorgestellt. Es handelt sich um eine Spezifikation für eine Möglichkeit der Darstellung von Metadaten. Es ist eine Sprache, die von Computern gelesen und verstanden werden soll. Geschrieben wird RDF üblicherweise im XML Format. Der Plan des W3C ist es, mit der Erweiterung durch das RDF-Schema (RDF-S) [8] und Ontologien, RDF als grundlegende Technik für den Datenaustausch im Semantic Web zu verwenden. Informationen im RDF-Modell werden in sogenannten Statements geschrieben. Das sind, ähnlich einem Satz deutscher Sprache, hier Tripel mit den Elementen Subjekt, Prädikat und Objekt. Diese Elemente werden mittels Universal Resource Identifier (URI) identifiziert. RDF spricht in diesem Zusammenhang auch von resource, property und value. Außergewöhnlich ist, dass auch die Prädikate im Metadatenformat beschrieben und von mehreren Anwendungen durch Referenzierung genutzt werden können.

Das folgende einfache Beispiel zeigt die Beschreibung eines Textdokument nach Dublin Core [9]. Das ist eine Art der Beschreibung von Dokumenten im Metadatenformat. Am Anfang müssen die verwendeten Namensräume (xmlns) referenziert werden. Hier sind das RDF und Dublin Core (xmlns:rdf=“...“, xmlns:dc=“...“). Anschließend schreibt man seine „Sätze“ im XML Format. Gelesen wird von Außen nach Innen. Im Beispiel gibt es nur ein Subjekt vom Typ rdf:description mit Namen „Mein Dokument“, die Prädikate sind aus dem Dublin Core Namensraum und lauten creator und title. Die Objekte sind die strings „Mike Tschierschke“ und „RDF Beispiel“. Interessant ist, dass die Subjekte und Objekte keine strings sein müssen. Sie können über eine URI referenziert ebenfalls vordefinierte Objekte sein. Mit den Worten vom W3C wird hier die resource „Mein Dokument“ mit den properties „creator“ und „title“ beschrieben. Die property values sind „RDF Beispiel“ und „Mike Tschierschke“

1: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
2: xmlns:dc="http://purl.org/dc/elements/1.1/">
3: <rdf:Description rdf:about="Mein Dokument">
4: <dc:description>RDF Beispiel</dc:description>
5: <dc:publisher>Mike Tschierschke</dc:publisher>
6: </rdf:Description>
7: </rdf:RDF>

Der vom W3C angebotene RDF Validator [10] liest das Beispiel folgendermaßen aus :

Abbildung in dieser Leseprobe nicht enthalten

Der zugehörige Graph wird wie folgt angegeben :

Abbildung in dieser Leseprobe nicht enthalten

So könnte man das Dokument aber genauso gut als Sätze der deutschen Sprache schreiben.

„Mein Dokument“ hat den Titel „RDF Beispiel“.

„Mein Dokument“ hat den Autor „Mike Tschierschke“.

Weiterhin bietet RDF sogenannte Container Elemente, die genutzt werden um Elemente zusammenfassen oder Alternativen zu schaffen. Das sind <rdf:Bag>, <rdf:Seq> und <rdf:Alt>. <rdf:Bag> beschreibt eine ungeordnete Liste, <rdf:Seq> beschreibt eine geordnete Liste und <rdf:Alt> beschreibt eine Menge von Alternativen. In den folgenden Beispielen fehlen die Definitionen der Namensräume ect. um das Wesentliche hervorzuheben.

1. Bag

<Studienarbeit:Betreuer>

<rdf:Bag>

<rdf:li>Christian Erfurth</rdf:li>

<rdf:li>Arndt Döhler</rdf:li>

</rdf:Bag>

</Studienarbeit:Betreuer>

2. Seq

<Praktikum:Zeitraum>

<rdf:Seq>

<rdf:li>weniger als drei Monate</rdf:li>

<rdf:li>drei bis sechs Monate</rdf:li>

<rdf:li>sechs bis zwölf Monate</rdf:li>

<rdf:li>mehr als zwölf Monate</rdf:li>

</rdf:Seq>

</Praktikum:Zeitraum>

3. Alt

<Fahrrad:Farbe>

<rdf:Alt>

<rdf:li>gelb</rdf:li>

<rdf:li>schwarz</rdf:li>

<rdf:li>rostig</rdf:li>

</rdf:Alt>

</ Fahrrad:Farbe >

Wie man sieht, ist bereits RDF ein mächtiges Werkzeug um Sachverhalte und Beziehungen zwischen Objekten zu beschreiben. Die Auswertung durch Rechner stellt kein Problem dar und die vielfältige Möglichkeit der Darstellung erhöht die Lesbarkeit für Menschen beträchtlich.

II. 2. RDF Schema

RDF-S ist eine Erweiterung von RDF. Denn RDF stellt nur eine Syntax für einen Datenaustausch zur Verfügung. Das gemeinsame Vokabular und die Bildungsregeln (die Ontologie !) muss man sich jedoch aus einer externen Spezifikation besorgen. In unserem Beispiel war das Dublin Core. Um solche Konstrukte direkt in RDF zu definieren braucht man ein weiteres Werkzeug. RDF-S arbeitet nach dem objektorientierten Prinzip. Das erlaubt Ressourcen als Instanzen oder Subklassen von Klassen zu definieren. Man definiert zusätzlich zum RDF Namensraum einen für RDF-S. Das folgende Beispiel definiert die Klassen Mensch, Mann und Frau. Außerdem definiert man, dass Mann und Frau Unterklassen von Mensch sind.

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xml:base= "http://www.meinServer.de/Menschen">

<rdf:Description rdf:ID="Mensch">

<rdf:type

rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

</rdf:Description>

<rdf:Description rdf:ID="Mann">

<rdf:type

rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

<rdfs:subClassOf rdf:resource="#Mensch"/>

</rdf:Description>

<rdf:Description rdf:ID="Frau">

<rdf:type

rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>

<rdfs:subClassOf rdf:resource="#Mensch"/>

</rdf:Description>

</rdf:RDF>

Man kann im Beispiel genauso rdf:Description mit rdfs:class ersetzen um die Objektorientierung noch zu verdeutlichen und den Code noch einfacher zu gestalten.

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xml:base= "http://www.meinServer.de/Menschen">

<rdfs:Class rdf:ID="Mensch" />

<rdfs:Class rdf:ID="Mann">

<rdfs:subClassOf rdf:resource="#Mensch"/>

</rdfs:Class>

<rdfs:Class rdf:ID="Frau">

<rdfs:subClassOf rdf:resource="#Mensch"/>

</rdfs:Class>

</rdf:RDF>

Instanzen beschreibt man einfach mit dem Tag rdfs:instanceOf an Stelle von rdfs:subClassOf.

Beschreibungssprachen für Ontologien sind F-Logic, DAML und OIL. Mit OWL (Web Ontology Language) hat das W3C eine Sprache vorgestellt, die die Ausdrucksmöglichkeiten von DAML und OIL vereinen.

[...]

Details

Seiten
53
Jahr
2004
ISBN (eBook)
9783638376051
Dateigröße
592 KB
Sprache
Deutsch
Katalognummer
v38594
Institution / Hochschule
Friedrich-Schiller-Universität Jena – Mathematik und Informatik
Note
sehr gut
Schlagworte
Ontologien Kommunikationsgrundlage Informationsspeicher Agenten

Autor

Zurück

Titel: Ontologien als Kommunikationsgrundlage und Informationsspeicher für mobile Agenten