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.