Topas
von Hagen Kröber, 1997
Topas ist ein objektorientierter Fertigungssimulator für parallele Rechnerarchitekturen.
Da die Analyse von Fertigungssystemen regelmäßig zu einer Menge mehr oder weniger
autonom arbeitender Subsysteme, wie Fertigungsplätzen, Werkern, Transportsystemen, Puffern usw.,
führt, liegt es nahe, diese relativ unabhängig voneinander agierenden Komponenten in
einem Simulationsmodell als parallel wirkende Agenten mit in Umfang und Zeit begrenzter
Kommunikation aufzufassen. Die im Bereich der Künstlichen Intelligenz untersuchten
Multiagentensysteme (MAS) bieten einen guten Ansatz zur Lösung von Parallelisierungsproblemen,
wie sie bei der Modellierung komplexer Fertigungssysteme auftreten. Agenten sind dabei selbständig
planende, handelnde und lernende Einheiten der Fertigung, wie Maschinen, Transporteinheiten, Lager usw.
Sie bewerben sich im Rahmen eines marktorientierten Verhandlungsprotokolls (contract net) um die
Übernahme von Aufträgen zur Ausführung von Teilaufgaben (Bohren, Fräsen, Montieren,
Transportieren, Lagern, ... ). Das Ziel der Planung und Simulation ist die Ermittlung von optimalen
Fertigungsabläufen mit minimalen Durchlaufzeiten der einzelnen Fertigungsaufträge durch
Selbstorganisation der Agentengesellschaft.
Was ist ein Agent ?
Die Übersetzung des Wortes Agent bedeutet "wirkendes, handelndes Wesen".
In der vorstehenden Abbildung wird eine typische Agentenarchitektur für die Modellierung von
Agenten in Fertigungssystemen skizziert. Dabei handelt es sich um sogenannte reflektive Agenten,
d.h. jeder Agent hat eine Intention. Produktionsagenten haben die Intention, möglichst viele
Aufträge zu erledigen. Lageragenten die Intention, möglichst wenig zu lagern, aber trotzdem
immer liefern zu können, usw.
Allgemein können Agenten mit folgenden Eigenschaften charakterisiert werden:
- autonom:
- Der Agent besitzt selbst die Kontrolle über seine Aktivitäten und handelt ohne direkten
Eingriff aus seiner Umwelt.
- rational, zielorientiert:
- Der Agent hat Ziele, die er versucht, durch sein darauf ausgerichtetes Verhalten zu erreichen.
- intelligent:
- Die Definition von Intelligenz ist eine Grundfrage der klassischen Künstlichen Intelligenz (KI)
und bisher noch nicht zufriedenstellend beantwortet. Im allgemeinen wird einem künstlichen System
beschränkte Intelligenz zugestanden, soweit sich sein Verhalten in einer begrenzten Umwelt nicht
erkennbar von dem eines Menschen unterscheiden läßt (Turing-Test).
- adaptiv, lernend:
- Frühere Beobachtungen und Erfahrungen des Agenten führen zu Veränderungen seines
zukünftigen Verhaltens.
- kommunikativ, sozial:
- Betont wird die Fähigkeit zur expliziten Kommunikation des Agenten mit seiner Umwelt und die
(Selbster-) Kenntnis von der Einbeziehung des Agenten in eine Agentengesellschaft.
Das Zusammenwirken mehrerer Agenten nach einem gegebenen Organisationsprinzip (Kooperationsmodell) führt
zu Agentengesellschaften, den sogenannten Multiagentensystemen.
Multiagentensysteme
Aus der Synergetik stammt das Prinzip der Selbstorganisation, das zur Erklärung für das spontane
Entstehen von Ordnungsstrukturen innerhalb einer größeren Anzahl von einzelnen Individuen (Agenten)
herangezogen wird. Probleme, an deren Lösung ein einzelner Agent scheitern würde, können nur durch das
koordinierte Zusammenwirken mehrerer Agenten gelöst werden.
Anhand der folgenden Merkmale können Agentensysteme klassifiziert werden:
- Problemlösungsstrategie:
- Problemlösung durch Synthese und/oder Dekomposition und Verteilung von Teilproblemen.
- Organisationsstufen:
- Grad des Zusammenwirkens der Agenten (Individuum, Team, Gesellschaft).
- Agentenanzahl:
- klein oder groß, statisch oder dynamisch.
- Granularität:
- Relative Komplexität von Teilaufgaben der Agenten im Verhältnis zum Gesamtproblem.
- Interaktionschema:
- Abstraktionsniveau von Kommunikationsinhalten (einfach, komplex) und die Anzahl an der Kommunikation
beteiligter Agenten.
- Verteilung der Kontrolle:
- Das Verhalten der Agenten wird zentral gesteuert und kontrolliert, die Agenten sind teilweise autonom
oder völlig unabhängig.
- Kooperationsbereitschaft:
- Altruistische Agenten berücksichtigen die Ziele anderer Agenten, tit-for-tat-Agenten sind nur bedingt
kooperativ und egoistische Agenten stehen in reiner Konkurrenz zueinander.
- Kopplung:
- Der Grad der Wechselwirkung zwischen den Agenten bestimmt sich durch das Verhältnis von Kommunikations- zu
lokalem Berechnungsaufwand.
Da die zur Kooperation und Koordination notwendige Kommunikation die wesentliche Rolle bei der Beschreibung
und Bewertung von Multiagentensystemen spielt, werden diese Systeme meist in folgender Weise systematisiert:
Systeme der indirekten Kommunikation:
- Blackboards (brainstorming modell, result sharing)
- Markt-Modell
- Schnitzeljagd-Modell
Systeme der direkten Kommunikation:
- Contract-Net-Modell (task sharing)
- Shared Plans
Das Contract-Net-Modell
Ein Contract Net setzt sich aus einem lose gekoppelten Netz verteilter Knoten (Agenten) zusammen, die über ein
Kommunikationssystem direkt miteinander Informationen austauschen. Es existieren keine zentrale Kontrollinstanz und
keine globale Wissensbasis. Ein Problem ist nur durch die Kooperation der Agenten lösbar und wird in einer Folge von
Verhandlungen zwischen Agentenpaaren auf die Knoten verteilt. Das Kommunikationsprotokoll definiert einen
marktähnlichen Koordinierungsmechanismus zwischen einem Vertragsanbieter (Manager) und einem Vertragsnehmer
(Contractor).

Zustandsdiagramm eines Manager-Agenten

Zustandsdiagramm eines Contractor-Agenten
Ein Agent kann eine Aufgabe entweder selbst bearbeiten oder Teile davon in Form einer Ausschreibung anderen Agenten bekanntmachen.
Innerhalb eines mehrstufigen Verhandlungsdialogs zwischen dem Manager und seinen Bewerbern wird für jeden (Teil-) Auftrag der
geeignetste Bewerber ermittelt. Dieser Contractor hat mit dem Zuschlag die Verantwortung für die Bearbeitung seines Auftrages
übernommen. Die Rollenverteilung unter den Agenten ist nicht fest vorgegeben. Ein Agent kann also gleichzeitig als Manager
und als Contractor wirken. Die Agenten kennen a priori nicht die Fähigkeiten und das Verhalten der anderen Agenten. Jeder
Agent führt planende und ausführende Operationen aus.
Die Verteilung der Ablaufkontrolle und das Fehlen von zentralen Ressourcen ermöglichen ein hohes Maß an Nebenläufigkeit.
Demgegenüber steht ein hoher Kommunikationsaufwand für die Synchronisation der Agenten. Die Ausnutzung der potentiell
vorhandenen Parallelität ist unmittelbar vom Charakter des Anwendungsproblems abhängig.
Agentenorientierte Simulation von Fertigungssystemen
Zur Einordnung in die klassische Simulationsmethodik ist dieser Ansatz eine Variante der ereignisorientierten, diskreten Simulation.
Die Agenten werden dabei als permanente aktive Elemente des Simulationsmodells betrachtet. Das Ziel der Simulation liegt darin,
einen möglichen Fertigungsablauf als Ergebnis der Selbstorganisation der Agenten zu erzeugen, der durch einen konkreten
Materialfluß und folgende Kenngrößen beschreibbar ist:
- mittlere Durchlaufzeiten
- Bearbeitungszeiten für Fertigungsaufträge
- Start- und Endzeitpunkte von Fertigungsvorgängen
- Zuordnung von Fertigungsvorgängen zu Fertigungsplätzen
- mittlere Auslastung von Fertigungsplätzen
Das dynamische Verhalten des Simulationsmodells entsteht durch eine Folge von Zustandsänderungen zu bestimmten diskreten
Zeitpunkten der Modellzeit. Sie werden sowohl durch Ereignisse des Materialflusses (Jobs) wie auch durch Ereignisse
der Kommunikation (Nachrichten) ausgelöst. Wobei Nachrichten i.allg. keine Entsprechung im realen Fertigungssystem
besitzen!
Die Fortschreibung der Modellzeit erfolgt gemäß dem ereignisorientierten Simulationsmodell durch das Setzen einer
Simulationsuhr auf den Ereigniszeitpunkt des nächsten auszuführenden Ereignisses. Darüber hinaus besitzt
jeder Agent eine eigene, lokale Simulationsuhr. Alle für einen Agenten eingeplanten Ereignisse werden, nach ihrem Zeitstempel
geordnet, in einer Ereignisliste im FIFO-Prinzip verwaltet. Lokale Simulationsuhren und damit lokale Modellzeit führen zu
Nebenläufigkeit im Modellierungsansatz und der Notwendigkeit der Synchronisation der Ereignisausführung.
In Topas wird die Synchronisation der Agenten mit dem konservativen Verfahren realisiert. Dabei wird durch den
Austausch von Zeitgarantien und dem Setzen von globalen Barrieren die Kausalität bei der Ausführung von Ereignissen
a priori gewährleistet. D.h. ein Ereignis wird erst dann ausgeführt, wenn sichergestellt ist, daß es nicht
von einem später auszuführenden Ereignis abhängig ist.
Das gesamte Simulationssystem ist in vier Abstraktionsebenen aufgeteilt:
- Modellierungsebene:
- Aktive Elemente sind die Fertigungsplätze, Transporteinheiten, Lager und Schnittstellenelemente. Sie sind durch
eine Material- und Informationsflußtopologie miteinander verbunden.
- Agentenebene:
- Hier wird die nach dem Contract-Net-Modell organisierte Agentengesellschaft repräsentiert.
- Simulationsebene:
- Jeder Agent wird auf einen logischen Prozeß abgebildet. Die logischen Prozesse führen lokale Ereignisse aus und
planen sich gegenseitig neue Ereignisse ein.
- Ausführungsebene:
- Die Verwaltung nebenläufiger Aktivitäten, Kommunikation und Interaktion werden mit Hilfe der Funktionalität
der Programmbibliothek Parallel Virtual Machine (PVM) implementiert.
Das Simulationssystem ist somit ein verteiltes Programmsystem. Seinem Entwurf liegt ein paralleles und objektorientiertes
Programmiermodell zugrunde. Die Umsetzung echt paralleler Funktionsabläufe macht die Anwendung des CSP-Modells
(Communicating Sequential Processes von Hoare) erforderlich.

Topas-Systemarchitektur
Die Kommunikation zwischen den Prozessen auf der Ausführungsebene erfolgt bidirektional, direkt und asynchron nach dem
Prinzip des Message Passing. Die Zuordnung von Prozessen zu Prozessorknoten ist Aufgabe des PVM-Systems und wird nach
PVM-internen Strategien vorgenommen.
Ablauf einer Simulationsstudie
- Vorgabe der Modellbeschreibung durch eine
- Starten und Initialisieren des Simulationssystems durch Aufruf der Simulatorkonsole.
- Nach Ablauf der Simulation ist eine Ergebnisdatei zur Auswertung verfügbar.
Die Simulationsergebnisse beruhen auf dem Lösen eines Planungsproblems für ein gegebenes Produktionsprogramm auf einer
feststehenden Fertigungstopologie. Die Lösung des Planungsproblems beruht auf der Selbstorganisation einer Agentengesellschaft,
in der jeder Agent durch Erreichen lokaler Optimalität versucht, zur Gesamtoptimalität beizutragen. Insbesondere die
Anwendung optimaler Bewertungsstrategien für Angebote und das Lernen der Agenten über das situationsabhängige
Verhalten ihrer Umgebung lassen dem System einen Optimierungsspielraum.