URL - Universität Paderborn

Werbung
ONTOLOGIEBASIERTES RAPID PROTOTYPING
FÜR KOGNITIVE MULTIAGENTENSYSTEME
Florian Klein und Holger Giese
AG Softwaretechnik, Universität Paderborn
Warburger Str. 100, D-33098 Paderborn
[email protected], [email protected]
Abstract: Multiagentensysteme sind häufig durch emergentes Verhalten geprägt,
so dass ihre Entwicklung in der Regel einen Zyklus aus Simulation und Anpassung des Entwurfs erfordert. Wir schlagen daher vor, diesen Prozess durch geeignete Werkzeuge zum Rapid Prototyping zu unterstützen. Dabei dient uns eine
zentrale, mehrfach verwendete Ontologie als Grundlage für die prototypische
Implementierung der kognitiven Agenten und ihrer Interaktionen.
1 Motivation
Entwürfe für kognitive Multiagentensysteme sind aufgrund der Komplexität solcher
Systeme meist schwer zu erfassen. Die häufig dem Anschein nach chaotischen
Interaktionen weisen Parallelen mit umfangreichen sozialen Systemen auf und werden
von verschiedenen Ansätzen auch mit analogen Konzepten beschrieben [Ca90].
Entsprechende Systeme erschließen sich in der Regel nicht mehr rein analytischen
Herangehensweisen, sondern sind durch emergentes Verhalten geprägt, wie es etwa in
besonders eindrücklicher Weise in Schwarmintelligenz zum Ausdruck kommt [Ru95].
Die Entwicklung entsprechender Systeme setzt somit einen Zyklus aus Simulation und
Anpassung des Entwurfs fast zwingend voraus.
Wir schlagen deswegen vor, für die schnelle Realisierung solcher Simulationen eine
umfassende Werkzeugunterstützung in Form von Rapid Prototyping [Mu90] für
kognitive Multiagentensysteme bereitzustellen. Diese soll den Aufwand für die
Entwicklung solcher Systeme und die Erprobung neuer Konzepte entscheidend
reduzieren.
Die klassischen Anwendungsgebiete von Ontologien liegen in den Bereichen Wissensrepräsentation [So00] und Kommunikation [LFP99]. Des Weiteren werden Ontologien
auch immer mehr außerhalb von klassischer KI und Multiagentensystemen eingesetzt,
z.B. zur Strukturierung von Inhalten im Bereich Semantic Web [W301]. Für das Rapid
Prototyping von kognitiven Multiagentensystemen schlagen wir vor, darüber hinaus
einen Brückenschlag zu klassischen objektorientierten Ansätzen der Softwaretechnik
[Bo94] zu vollziehen und die Rollen des Analysemodells, das eine erste Konzeptionalisierung der Problemdomäne für den Entwickler darstellt, mit der Rolle der Ontologie,
die eine explizite formale Spezifikation der durch alle beteiligten Agenten geteilten
Konzepte darstellt [Gr93], zu verbinden.
Auch wenn den Ontologien häufig aufgrund ihrer Bereitstellung von Konzepten, die von
allen beteiligten Agenten geteilt werden, eine wesentliche Rolle bei der Überwindung
und Überbrückung der Unterschiede zwischen den Weltmodellen der Agenten zufällt,
bleiben die einzelnen Teilmodelle wie z.B. Kommunikationsmodell oder Weltmodell der
Agenten üblicherweise separat, da für jeden Zweck eine andere Ontologie mit ihrem
spezifischen Fokus Verwendung findet. In einem allgemeinen Anwendungsszenario ist
eine solche Differenzierung der Ontologien je nach Anwendungsfall sinnvoll und
meistens auch notwendig, da keine Ontologie bzgl. Inhalt und interner Repräsentation
allen Anforderungen auf einmal gerecht werden kann. In dem in diesem Artikel
betrachteten Fall dagegen liegt es aufgrund der Natur des Rapid Prototyping nahe, eine
weitergehende und somit mehrfache Nutzung einer einzelnen Ontologie als Ausgangspunkt für die prototypische Entwicklung eines kognitiven Multiagentensystems zu
verwenden.
Vor diesem Hintergrund muss deren Notation und Repräsentation im Wesentlichen
pragmatische Anforderungen erfüllen. Neben der Verfügbarkeit von Werkzeugen spielt
hier dabei vor allem die Möglichkeit zum Einbeziehen von Verhalten und die spätere
mögliche Integration von komplexen Softwaremodellen eine wesentliche Rolle. Aus
diesem Grund verwenden wir für die Beschreibung von Ontologien im Rahmen des
Rapid Prototyping UML Klassendiagramme (UML1.5).
Der hier vorgestellte Ansatz wurde im Kontext von Arbeiten zu Multiagentensystemen
für verteilte mechatronische Systeme entwickelt. Als Anwendungsbeispiel wird im
Folgenden das Projekt „Neue Bahntechnik Paderborn“ (http://nbp-www.upb.de)
verwendet, das ein neuartiges, auf autonomen Shuttles basierendes, schienengebundenes
Transportsystem erforscht. Die intelligenten Shuttles agieren dabei autonom auf einem
gemeinsamen Schienennetz mit dem Ziel, durch Abwicklung von Transportaufträgen für
Güter und Personen einen möglicht hohen Betriebsgewinn zu erzielen.
Im Folgenden werde wir in Abschnitt 2 unseren Ansatz kurz vorstellen und dabei die
Modellierung der konkreten Entitäten (Abschnitt 2.1), der daraus abgeleiteten Entitäten
(Abschnitt 2.2) sowie der kognitiven und kommunikativen Aspekte (Abschnitt 2.3)
erläutern. Die Konzepte zur Werkzeugunterstützung des Rapid Prototyping werden in
Abschnitt 3 zuerst bzgl. Modellierung (Abschnitt 3.1) und dann bzgl. Simulation
(Abschnitt 3.2) beschrieben. In Abschnitt 4 werden die vorgestellten Konzepte
abschließend zusammengefasst, und es wird ein Ausblick auf zukünftig geplante
Arbeiten gegeben.
2 Ansatz
Geht man von der Definition einer Ontologie als „formal explicit specification of a
shared conceptualization“ [Gr93] aus, so liegt der Betrachtungsschwerpunkt auf der
Vermittlung einer statischen Begriffswelt, die erst in Folge durch ihre Verwendung im
Rahmen konkreter Implementierungen mit Leben gefüllt wird. Aus der Sicht des Rapid
Prototyping ist es hingegen vordringlich, ohne Brüche von einer konzeptionellen
Systembeschreibung über ein operatives Modell bis hin zu einer ersten Implementierung
zu gelangen. Eine Ontologie als Mittel der konzeptionellen Beschreibung muss hier
notwendigerweise stärker in einer softwaretechnischen Sichtweise verwurzelt sein und
um Elemente zur Beschreibung dynamischer Aspekte erweitert werden. Im Gegenzug
tritt der Austauschgedanke in den Hintergrund: die Ontologie bezieht sich auf ein
konkretes System und dient den Zwecken der daran arbeitenden Entwickler, indem sie
einen normativen begrifflichen und konzeptuellen Rahmen schafft.
Für die ersten Schritte verwendet der hier vorgestellte Ansatz dementsprechend eine
entwicklerzentrierte Perspektive. In enger Anlehnung an die objektorientierte Analyse
und Spezifikation werden zunächst die konkreten, d.h. in diesem Zusammenhang
wahrnehmbaren, Entitäten des Agentensystems durch ein Klassendiagramm modelliert.
Die Bevorzugung objektorientierter Modellierungstechniken gegenüber formallogischen Beschreibungsformen hier und insbesondere im Weiteren ist nicht durch eine
überlegene oder auch nur notwendigerweise äquivalente Ausdrucksmächtigkeit
motiviert, sondern fußt in der pragmatischen Orientierung des Ansatzes. Ausschlaggebend waren hier ihre größere Anschaulichkeit und die Abstimmung auf die Erfahrungen
der avisierten Zielgruppe, mithin also Überlegungen zur Usability, sowie technische
Aspekte, also die Möglichkeit zur Integration mit in der Softwaretechnik verfügbaren
Techniken und die Verfügbarkeit von Werkzeugen, die sowohl die Modellierung von
Struktur als auch Verhalten abdecken.
Nichtsdestotrotz wurde Wert auf ein stringentes und konsistentes Gesamtkonzept gelegt.
Die im zweiten Schritt definierten abstrakten Modellelemente wie Ereignisse, Ziele,
Regeln oder soziale Strukturen müssen jeweils direkt auf konkrete Entitäten zurückführbar sein. Dies ist nicht nur als eine technische Voraussetzung ihrer Implementierbarkeit
im Sinne der Theorie der Systemebenen [Ka01], sondern auch als inhaltliche Forderung
nach einer Abstützung auf semantischer Ebene im Sinne des Positivismus zu verstehen.
Aufbauend auf dem resultierenden Modell der konkreten und abstrakten Elemente, die
das System aus der Perspektive eines allwissenden Betrachters in Form des Entwicklers
definiert und somit eine Sicht beschreibt, die als öffentlich bezeichnet werden kann,
kann nun die Wahrnehmung des Systems durch Agenten und die Kommunikation über
diese Wahrnehmungen zwischen Agenten beschrieben werden, woraus sich für den
einzelnen Agenten seine individuelle Sicht auf das System ableiten lässt. Entscheidend
für die Eignung und Praktikabilität des Ansatzes ist, dass zur Beschreibung der in der
individuellen Sicht kodierten Anforderungen an und Annahmen über die Weltsicht des
Agenten mit dem Vokabular der normativen öffentlichen Sicht ausgedrückt werden
kann, ohne dadurch später die tatsächliche Implementierung der internen Weltsicht eines
Agenten ungebührlich einzuschränken.
Unterstützt durch eine geeignete Infrastruktur soll das Gesamtmodell erlauben, schnell
zu einer ersten Simulation auch unfertiger Spezifikationen zu gelangen, und dennoch
eine graduelle Verfeinerung des Modells, ohne abrupten Wechsel der Modellierungsmethode, bis hin zur Spezifikation des endgültigen Produktes zulassen.
2.1 Modellierung der konkreten Entitäten
Im ersten Schritt wird die konkrete, unmittelbar wahrnehmbare Umwelt der Agenten
modelliert. Die Interpretation dieses Begriffs hängt wesentlich von der Art des
betrachteten Multiagentensystems ab: In einer reinen Softwareumgebung, etwa einem
Online-Buchungssystem, sind auch die ‚konkreten’ Entitäten informatorischer Art, etwa
Flüge, Buchungen, Rechnungen, Datenbanken oder Verteilerlisten. Die Beschreibung
der konkreten Entitäten entspricht hier einer objektiven Spezifikation der tatsächlich zu
implementierenden Klassen. Bei einem mechatronischen System ist die ‚Wahrnehmbarkeit’ zumeist wörtlicher zu nehmen: der Großteil der relevanten Entitäten entstammt der
physikalischen Realität. Das Vorgehen entspricht hier eher dem Erstellen eines
Analysemodells, das den bedeutsamen Ausschnitt der Realität strukturiert und
klassifiziert. Um effizientes Rapid Prototyping der Agentenkomponenten überhaupt erst
zu ermöglichen, wird der physikalische Teil des Systems jedoch während der ersten
Entwicklungsphasen durch ein Simulationsmodell ersetzt, das die entsprechenden
Umweltreaktionen und Sensordaten liefert. Für diese Simulation stellen die identifizierten konkreten Entitäten wiederum eine Spezifikation dar.
Die Modellierung der Entitäten
Bereich
erfolgt durch die Klassen und
1..*
gemeldet bei
zugehörigen
Attribute
eines
- id
*
herkömmlichen UML-KlassendiaShuttle
gramms (s. Abbildung 1). Diese
1
gehört zu
*
bislang
noch
konventionelle -position
*
Streckenabschnitt
statische Ontologie soll nun um -geschwindigkeit
1
folgt
dynamische Aspekte erweitert -ladung
-länge
ist auf
1..2
*
-richtung
werden. Hierzu werden Storypatkennt
*
terns [Fi98], eine auf der Theorie
1..2
der Graphgrammatiken [Ro97]
Abbildung 1: Ontologie der konkreten Entitäten
basierende erweiterte Form von
UML-Kollaborationsdiagrammen,
verwendet. Ihr Vorteil liegt zum einen in der anschaulichen Darstellungsform, zum
anderen in ihrer Fähigkeit, mit demselben Formalismus sowohl Restriktionen im Stil der
Object Constraint Language (OCL) der UML als auch Verhalten als den Übergang von
einer Instanzsituation in eine andere, also durch Vor- und Nachbedingungen, beschreiben zu können.
Mithilfe von Storypatterns kann
nun als zweiter Schritt für den
<<delete>> ist auf
<<create>> ist auf
konkreten Teil des Systems eine
operative Beschreibung seiner
t1 : Streckenabschnitt
t2 : Streckenabschnitt
Dynamik angegeben werden.
Diese umfasst einerseits UmweltAbbildung 2: Storypattern zur Formalisierung der
prozesse wie Zeit, Schwerkraft
Fortbewegung eines Shuttles
oder Korrosion, die durch das
System bereitgestellt bzw. simuliert werden müssen. Zum anderen umfasst sie die
Aktorik der Agenten, also die Änderungen, die die Agenten in diesem Teil des Systems
{s1.position == t1.länge}
s1 : Shuttle
unmittelbar vornehmen können. Beispiele wären etwa das Erzeugen von Buchungen
oder Nachrichten(objekten) und ein vereinfachtes Modell der Bewegung eines Shuttles
auf den nächsten Gleisabschnitt (s. Abbildung 2). Beispiel für eine Restriktion auf der
konkreten Ebene wäre etwa, dass Shuttles maximal eine Geschwindigkeit von 180 km/h
erreichen können.
2.2 Erweiterung um abstrakte Entitäten
Der abstrakte Teil des Modells untergliedert sich in zahlreiche Teilbereiche. Allen
abstrakten Entitäten ist jedoch gemein, dass sie sich in ihrer Definition auf die bereits
definierten Entitäten abstützen und somit für die Agenten unmittelbar wahrnehmbar
sind, ohne notwendigerweise vorher in Symbole übersetzt werden zu müssen. Dem
Entwickler bieten sie jedoch in jedem Falle eine wichtige Verständnis- und Strukturierungshilfe. Spezifiziert werden sie wiederum durch Storypatterns.
Die erste Gruppe abstrakter Konstrukte
klassifiziert Zustände. Hierbei kann es sich
sowohl um operative als auch deklarative Beschreibungen handeln. Bedeutsame Ereignisse, etwa Unfälle (Kollision im Shuttlenetz, s.
Abbildung 3) oder Gefahrenpotentiale (drohende Kollision) lassen sich besser operativ
umschreiben, während Zielvorgaben (etwa
energieeffiziente Fortbewegung oder preisgünstige Buchungen) deklarativer Natur sind.
{s1.position == s2.position}
s1 : Shuttle
ist auf
s2 : Shuttle
ist auf
t1 : Streckenabschnitt
Abbildung 3: Definition eines Unfalls
Der zweite Teilbereich beschreibt soziale Strukturen. Agenten können sich in der Regel
in Gemeinschaften organisieren, etwa als Mitglied in einer Kontrollgruppe von Shuttles
oder auch nur als die Mitglieder eines Nachrichtenverteilers. Die Gemeinschaft wird
dabei entweder, wie im ersten Beispiel, nur indirekt durch ihre Mitglieder, oder direkt
von einem dedizierten konkreten Objekt, hier der Verteilerliste, vertreten. In jedem Falle
ist jedoch die Mitgliedschaft in einer Gemeinschaft eine auf der konkreten Ebene
beobachtbare (sei es durch das Befahren eines bestimmten Streckenabschnitts durch ein
Shuttle (s. Abbildung 4) oder als Eintrag in einer Liste), durch Storypatterns formalisierbare Eigenschaft eines Agenten. Die sozialen Strukturen können somit zwar auch
explizit modelliert werden, werden
aus Sicht des Gesamtmodells
<<create>> gemeldet bei
a1 : Bereich
a2 : Bereich
jedoch formal durch ein System
von
Zugehörigkeitsbedingungen
beschrieben.
Ähnliches gilt für die
s1 : Shuttle
gehört zu
gehört zu
Rollen,
die
Agenten
innerhalb der
<<delete>> ist auf
<<create>> ist auf
Gemeinschaften
zugewiesen
t1 : Streckenabschnitt
t2 : Streckenabschnitt
werden können. Diese sind ein
wichtiges Konstrukt, über das
Abbildung 4: Storypattern zur Definition der
Agenten an bestimmte VerhalMitgliedschaft in einer Kontrollgruppe
tensweisen in Form von Ent-
wurfsmustern gebunden werden können [Gi03b]. Mithilfe dieser Verhaltensmuster wird
die für sicherheitskritische Anwendungen fundamentale formale Verifikation des
Systemverhaltens möglich [Gi03a].
Diese stehen in enger Beziehung zum letzten, zwar abstraktesten, aber dennoch
einflussreichen Bereich: den sozialen Konventionen. In Form von Storypatterns
definieren sie die Regeln (z.B. Vorfahrtsregelungen), die im Rahmen einer Gemeinschaft
Gültigkeit haben. Um komplexere soziale Interaktionen beschreiben zu können, wird das
zentrale Konzept der Willenserklärung eingeführt, das sich von der Sprechakttheorie
herleitet. Entsprechend lassen sich Willenserklärungen von Agenten in die bekannten
Sprechaktklassen [Si98] wie Aussage, Verbot, Erlaubnis, Aufforderung oder Versprechen einordnen. Eine Willenserklärung kann explizit erfolgen, etwa indem ein Shuttle
einem anderen in einer Nachricht erlaubt, mit ihm einen Konvoi zu bilden, oder implizit,
etwa indem ein Shuttle in den Bereich einer Streckenkontrolle einfährt und dadurch ein
Versprechen abgibt, die dortigen Verhaltensregeln zu respektieren. Abstrakt ist in beiden
Fällen nur die Interpretation der Willenserklärung, ihre Essenz, die eigentliche
Erklärung, findet in Form von Aktionen auf der konkreten Ebene statt. Somit werden
implizite Willenserklärungen wiederum durch Storypatterns formalisiert, die expliziten
Willenserklärungen hingegen erst im folgenden Abschnitt durch Nachrichtendefinitionen
exakt festgelegt.
2.3 Erweiterung um kognitive und kommunikative Aspekte
Ausgehend von der öffentlichen Systemsicht wird nun für jede Agentenklasse eine
individuelle Systemsicht definiert. Kern einer solchen Sicht ist jeweils das Weltmodell,
das die Wissensrepräsentation des Agenten beschreibt. Dieses wird jedoch weitestgehend nicht direkt angegeben, sondern zumindest in seiner ersten Approximation
zunächst impliziert.
An erster Stelle steht hier die Definition der Sensorik des Agenten, das Wahrnehmungsmodell. Ausgehend vom Modell der öffentlichen Sicht wird für jeden Sensor der für
diesen sichtbare Ausschnitt der Ontologie ausgewählt. Sensoren arbeiten definitionsgemäß nur auf konkreten Entitäten; jedoch dürfen zur Komplexitätsreduktion einem Sensor
auch abstrakte Entitäten direkt zugewiesen werden, sofern er alle Elemente des
konstituierenden Storypatterns wahrnehmen kann und der Agent die entsprechende
Interpretation vorzunehmen in der Lage ist. In reinen Softwaresystemen können einem
Sensor in ähnlicher Weise Entitäten nur zugewiesen werden, wenn ein entsprechender
Assoziationspfad existiert. Eine zusätzliche Dimension der Definition stellt die Quality
of Service dar: dies umfasst zum einen Restriktionen, unter welchen Bedingungen
bestimmte Entitäten oder welche Instanzen einer Klasse wahrgenommen werden können,
und zum anderen die für mechatronische Systeme entscheidende Frage, mit welcher
Frequenz und Genauigkeit etwas gemessen werden kann. So erlaubt das Navigationssystem des Shuttles ihm etwa, seine Position alle 10ms auf 5m genau zu bestimmen.
Alle von Sensoren erfassten Elemente der öffentlichen Systemsicht werden somit
implizit Teil des Weltmodells. Auf dieser Basis können nun die Nachrichten, die die
Agenten austauschen, nun exakt spezifiziert werden. Agenten können nur das kommuni-
zieren, was sie wissen: somit lassen sich die einzelnen Nachrichtentypen wiederum als
Ausschnitt aus der Ontologie der Wissensrepräsentation definieren. Jede sinnvolle
Nachricht entspricht dabei gleichzeitig einer oder mehrerer Willenserklärungen. Aus der
Tatsache, dass Nachrichten durch Klassendiagramme, also als Struktur von Entitäten,
definiert werden, ergibt sich die in diesem Kontext verschmerzbare Einschränkung, dass
sich nur Konstrukte erster Ordnung, also Zustände und Strukturen, jedoch keine
Aussagen höherer Ordnung wie etwa Regeln kommunizieren lassen. Abbildung 5 stellt
eine entsprechende Nachrichtenübermittlung dar, in dem ein Shuttle einem zweiten sein
aktuelles Wissen über seine eigene Position übermittelt.
Wissensrepräsentation Shuttle s1
Nachricht
s1 : Shuttle
-position
-geschwindigkeit
-ladung
s2 : Shuttle
Wissensrepräsentation Shuttle s2
s1 : Shuttle
s2 : Shuttle
-position
-geschwindigkeit
-position
-geschwindigkeit
-ladung
t1 : Streckenabschnitt
t2 : Streckenabschnitt
t1 : Streckenabschnitt
Instanz des konkreten Modells
s1 : Shuttle
s2 : Shuttle
t1 : Streckenabschnitt
t2 : Streckenabschnitt
c1 : Streckenkontrolle
Abbildung 5: Illustration eines Kommunikationsprozesses
Eingehende Nachrichten erweitern das Weltmodell eines Agenten um die enthaltenen
Entitäten. Darüber hinaus können dem automatisch extrahierten Weltmodell jedoch auch
manuell Elemente hinzugefügt werden, etwa um inhärentes oder durch Schlussfolgerungen inferiertes Wissen eines Agenten berücksichtigen zu können.
Im Kontext des Rapid Prototyping kann das Weltmodell auch durchaus direkt zur
Generierung einer Wissensrepräsentation verwendet werden. Primär stellt es jedoch nur
eine Spezifikation einer solchen Wissensrepräsentation einer Agentenklasse dar. In
diesem Zusammenhang erfüllt es jedoch eine wichtige Funktion bei der eindeutigen
Festlegung der Semantik zahlreicher Willenserklärungen. Der hierbei verwendete,
juristisches Prinzip getaufte Grundsatz [Kl03] sieht vor, dass Agenten an den allgemein
anerkannten Annahmen über ihren internen Zustand gemessen werden, wobei dessen
externe Spezifikation durch das Weltmodell natürlich eine zentrale Rolle spielt. So wird
etwa in der Regel vorausgesetzt werden, dass der Inhalt einer Nachricht nach ihrem
erfolgreichen Empfang der Wissensbasis hinzugefügt wurde, der Agent also somit
darüber informiert war. Umgekehrt lässt sich einem Agenten analog eine Lüge in Form
einer unfundierten Aussage nachweisen.
Mit Bezug auf mechatronische Systeme ist hier zu beachten, dass Informationen über die
Umwelt hier häufig äußerst flüchtiger Natur sind. Daher sollten alle Aussagen einen
Zeitstempel vorsehen, sowie die Spezifikation um entsprechende soziale Konventionen,
wann bestimmte Informationen wieder vergessen werden dürfen, ergänzt werden.
3 Konzepte zur Toolunterstützung
Die angestrebte Toolunterstützung baut auf den Erfahrungen aus vorhandenen Projekten
auf. FUJABA [http://www.fujaba.de] ist ein Open-Source UML CASE Tool, das in
Paderborn entwickelt und derzeit im Rahmen einer universitätsübergreifenden
Kooperation weiter ausgebaut wird. Es ist in der Lage, direkt aus graphischen Spezifikationen in Form von UML Klassendiagrammen, Statecharts und Storypatterns vollständige ausführbare Programme zu generieren. Als Zielsprache wird gegenwärtig ausschließlich Java unterstützt, im Rahmen eines gegenwärtig laufenden Projekts ist jedoch eine
Erweiterung um die Generierung von C++ Code geplant. Ergänzt wird FUJABA durch
DOBS (Dynamic Object Browsing System), ein auf Java Reflection basierendes
Visualisierungswerkzeug, mit dem in einfacher Weise Abläufe und Instanzsituationen
sichtbar gemacht werden können. Die beim Entwurf eines automatisierten flexiblen
Fertigungssystems mit DOBS gemachten positiven Erfahrungen sollen hier in einem
allgemeineren Kontext nutzbar gemacht werden [Kö00].
3.1 Modellierung
Die Unterstützung der Modellierung der oben beschriebenen Sichten soll durch eine
überschaubare Erweiterung von FUJABA um entsprechende Diagrammtypen und
Werkzeuge erreicht werden. Wie Abbildung 6 überblicksartig darstellt, kann dabei
überwiegend auf die existierenindividuelle Sicht
öffentliche Sicht
den Editoren und CodegeneratoWillenserklärungen
ren für Klassendiagramme und
Storypatterns zurückgegriffen
Verhalten
werden. Die konkrete Ontologie
Soziale
KommunikationsStrukturen
wird zunächst als herkömmlimodell
ches Klassendiagramm spezifi. Ereignisse
Ziele
ziert, auf dessen Basis Verhalten
Weltmodell
abstrakt
und abstrakte Aspekte dann
konkret
durch unmodifizierte Storypattern definiert werden. Die
Wahrnehmungsmodell
einzelnen Diagramme werden
Konkrete Entitäten
dabei lediglich bestimmten
Aktorik
Teilsichten fest zugeordnet, um
etwa zwischen Storypattern, die
Aktorik, Ereignisse oder soziale
Formalismen
Gruppenzugehörigkeit definieExtrahiertes
ren, unterscheiden zu können,
Klassendiagramm
Storypatterns
Klassendiagramm
und übernehmen dadurch eine
eindeutige, feste Rolle. In dieAbbildung 6: Übersicht über die Teilsichten
sem Zusammenhang müssen ent-
sprechende Verwaltungs- und Navigationsstrukturen neu implementiert werden.
Bei der Definition von Sensorik, Nachrichten und Weltmodell, die auf der Extraktion aus
existierenden Klassendiagrammen basieren, sollen die beschriebenen Selektionsprozesse
in intelligenter Weise unterstützt werden. Zur Erstellung des Wahrnehmungsmodells aus
dem Klassendiagramm der konkreten Ontologie wird etwa zunächst eine Auswahl von
konkreten Entitäten importiert. Auf dieser Teilmenge werden dann jene Klassen und
Attribute, die tatsächlich wahrgenommen werden können, markiert. Weitere konkrete
und abstrakte Entitäten werden automatisch zum Markieren angeboten, sobald die
entsprechende Assoziationen bzw. Abstraktionen wahrgenommen werden können. Die
beiden anderen extrahierten Diagrammtypen werden analog unterstützt.
3.2 Simulation
Zweite Komponente der Toolunterstützung ist ein modularer Simulationskernel, der die
für das Rapid Prototyping bei mechatronischen Systemen wichtige Simulation der
physikalischen Umwelt der Agenten zur Verfügung stellt. Der Code für das System der
konkreten Entitäten wird dabei von FUJABA generiert. Auch das grundlegende
Systemverhalten kann durch die Codegenerierung für Storypatterns automatisch erzeugt
werden. Die Simulationsumgebung muss hier allerdings die notwendige Infrastruktur
bieten, um der unterschiedlichen Semantik und dem spezifischen Kontext der einzelnen
Patterns gerecht zu werden: Verhaltensbeschreibungen müssen passend ausgeführt,
Restriktionen und Konventionen wie etwa Willenserklärungen dagegen auf ihre
Gültigkeit überprüft werden.
Um nicht für jedes neue System redundant die Systemdynamik, etwa die Physik des
Modells, bis ins Detail angeben zu müssen, soll der Simulationskernel eine Bibliothek
von Grundprinzipien zur Verfügung stellen, auf die das Modell referenzierend
zurückgreifen kann. Dies ermöglicht es, schon mit unvollständigen Spezifikationen zu
Simulationsläufen mit vermindertem Realitätsgrad zu gelangen. Entsprechende
Prinzipien wären etwa Annahmen über Zeitmodell, Bewegungsprozesse, Modellierung
der physischen Form, Kollisionsverhalten sowie ein Visualisierungsmodell. Auf diese
Weise lässt sich etwa einfach festlegen, dass einer Shuttleentität bei der Generierung
eine Masse, Bewegungsgleichungen und eine Kollisionüberprüfung hinzugefügt werden
sollen.
4 Zusammenfassung und Ausblick
Der präsentierte pragmatische Ansatz zum Rapid Prototyping kognitiver Multiagentensysteme nutzt eine einzige für das System entwickelte initiale Ontologie, um alle
weiteren benötigten Ontologien von dieser abzuleiten. Dies kann mit Hilfe von
Werkzeugen durch Extraktion von Teilmodellen erfolgen, da im Kontext des Rapid
Prototyping von einer weiteren Differenzierung der Modelle abgesehen werden kann.
Die Erweiterung der klassischerweise rein statischen Ontologien um Bedingungen und
Regeln mittels Graphgrammatiken erlaubt darüber hinaus, das für das Rapid Prototyping
notwendige Verhalten zu integrieren. Auf dieser Basis aus Ontologie, abgeleiteten
Modellen und Verhaltensbeschreibungen kann mittels eines generischen Simulationskerns mit geringem Aufwand eine Evaluation des Zusammenspiels der kognitiven
Agenten durchgeführt werden. Wesentlich für die Flexibilität des Ansatzes ist es dabei,
dass es aufgrund der Verwendung von UML möglich ist, das komplexe Verhalten von
Agenten wo notwendig auf Modellebene durch zusätzliche UML Modellbestandteile zu
spezifizieren und zusammen mit der Simulation zur Ausführung zu bringen.
Nach der Entwicklung der Konzepte sind die konkrete Umsetzung der beschriebenen
Werkzeugunterstützung für das Rapid Prototyping von Multiagentensystemen und die
weitere Evaluierung des Ansatzes die nächsten, geplanten Schritte.
Literaturverzeichnis
[Bo94] Booch, Grady: Object-oriented analysis and design with applications. Addison-Wesley,
Reading, 1994.
[Ca90] Castelfranchi, C.: Social Power: A Point Missed in Multi-Agent DAI and HCI. In:
Decentralized AI. Hrsg.: Yves Demazeau, Jean-Pierre Muller. Elsevier Science, Amsterdam, S. 49-62, 1990.
[Fi98] Fischer, T., Niere, J., Torunski, L., Z¨undorf, A.: Story Diagrams: A new Graph Rewrite
Language based on the Unified Modeling Language. In Engels, G., Rozenberg, G., eds.:
Theory and Applications of Graph Transformations 6 (TAGT). LNCS 1764, Springer,
1998.
[Gi03a] Giese, H., Tichy, M., Burmester, S., Schäfer, W., Flake, S.: Towards the Compositional
Verification of Real-Time UML Designs. In: Proc. of the European Software Engineering Conference (ESEC), Helsinki, Finland, ACM Press, 2003.
[Gi03b] Giese, H., Burmester, S., Klein, F., Schilling, D., Tichy, M.: Multi-Agent System Design
for Safety-Critical Self-Optimizing Mechatronic Systems with UML. In: Proceedings of
the 2nd Workshop on Agent-Oriented Methodologies, OOPSLA, Anaheim, USA, 2003.
[Gr93] Gruber, T. R.: A translation approach to portable ontologies. Knowledge Acquisition, 5
(2), S. 199-220, 1993.
[Ka01] Kalenka, S.: Modelling Social Interaction Attitudes in Multi-Agent Systems. Dissertation, Department of Electronic Engineering, Queen Mary, University of London, London,
2001.
[Kl03] Klein, F.: Entwicklung eines Metamodells zur Agentenorientierten Softwareentwicklung.
Diplomarbeit am Lehrstuhl für Verteilte Systeme, Universität Münster, Münster, März
2003.
[Kö00] Köhler, H.J., Nickel, U., Niere, J., and Zündorf, A.: Integrating UML Diagrams for
Production Control Systems. In: Proc. of the 22nd International Conference on Software
Engineering (ICSE), Limerick, Ireland, S. 241--251, ACM Press, 2000.
[LFP99] Labrou, Yannis; Finin, Tim; Peng, Yun: Agent communication languages: the current
landscape. In: IEEE Intelligent Systems, 14 (2), S. 45-52, 1999.
[Mu90] Mullin, M.: Rapid prototyping for object oriented systems. Addison-Wesley, Reading,
1990.
[Ro97] Rosenberg, G. (Hrsg.): Handbook of Graph Grammars and Computing by Graph
Transformation. Volume 1, Foundations. World Scientific Publishing, London, 1997.
[Ru95] Russell, R.A.: Laying and sensing odor markings as a strategy for assisting mobile robot
navigation tasks. In: IEEE Robotics and Automotion Magazine, September, S. 3-9, 1995.
[Si98] Singh, M. P.: Agent communication languages: Rethinking the principles. In: IEEE
Computer, 31 (12), S. 40-47, 1998.
[So00] Sowa, J.F.: Knowledge Representation. Logical, Philosophical and Computational
Foundations. Brooks/Cole, Pacific Grove, 2000.
[W301] World Wide Web Consortium: Semantic Web. URL: http://www.w3.org/2001/sw/ Mai
2001.
Zugehörige Unterlagen
Herunterladen