Es wird eine Form der Agentenbasierten Simulation vorgestellt, die eine Verfeinerung der Diskreten-Ereignis-Simulation darstellt. Sie besitzt eine formale Ausführungssemantik, die auf Objektbasierter Simulation basiert, die ihrerseits auf der Diskreten-Ereignis-Simulation basiert. Die hier vorgestellte Agentenbasierte Simulation beinhaltet die Aufteilung des zu simulierenden Systems in aktive Entitäten (Agenten) und passive Entitäten (Objekte). Dabei besitzen die Agenten einen externen (physischen) und einen internen (mentalen) Zustand. In der Simulation gibt es einen Umgebungssimulator, der die Umgebung die Objekte und die externen Agentenzustände verwaltet sowie für jeden Agenten einen Agentensimulator, der den internen Agentenzustand verwaltet. Die Simulation läuft in Zyklen ab. Der Umgebungssimulator ermittelt in jedem Zyklus die aktuellen Ereignisse, führt Veränderungen in der Umgebung durch und teilt den Agentensimulatoren ihre Wahrnehmungen mit. Die Agentensimulatoren ermitteln in jedem Zyklus aktuelle interne Ereignisse, führen Veränderungen des internen Zustands durch und teilen dem Umgebungssimulator durchgeführte Aktionen mit. Die Agentenbasierte Simulation basiert auf der Objektbasierten Simulation, die wiederum auf der Diskreten-Ereignis-Simulation basiert. Man kann ein Agentenbasiertes Simulationsmodell in ein äquivalentes Objektbasiertes Simulationsmodell und dieses in ein äquivalentes Simulationsmodell der Diskreten-Ereignis-Simulation transformieren. Somit stellt die Agentenbasierte Simulation eine Verfeinerung der Diskreten-Ereignis-Simulation dar. Zur visuellen Spezifikation eines konkreten Agentenbasierten Simulationssystems dient eine UML-basierte Spezifikationssprache, die Reaktionsregeln zur Verhaltensspezifikation der Simulatoren verwendet. Ferner wird eine AORML- basierte Spezifikationssprache vorgestellt, die als agentenorientierte Sprache eine natürlichere Modellierung erlaubt, aber aufgrund mangelnder Toolunterstützung sich noch nicht für eine automatisierte Weiterverarbeitung eignet. Besonders ausführlich werden Fahrerlose Transportsysteme behandelt, da sich diese gut als Demonstrationsbeispiel für Agentenbasierte Simulation eignen. Ferner werden Fahrstuhlsysteme und Warteschlangen im Supermarkt als Beispiele verwendet. Als proof of concept dienen ein Simulationssystem, dessen Kern eine Java-Programmbibliothek ist, sowie ein mit seiner Hilfe durchführte Studie, in der ein komplexes dezentral gesteuertes Fahrerloses Transportsystem simuliert und auf seine Effizienz untersucht wird. Aus einem in der UML- basierten Spezifikationssprache modellierten visuellen Simulationsmodell kann ein Simulationsmodell in der XML-basierten Sprache XMI generiert werden. Mittels XSL-Transformationen wird dieses Modell in vom Simulator verwendeten Java-Code transformiert. Somit ist es möglich, ein visuell spezifiziertes Simulationsmodell automatisch in ein Simulationsprogramm zu transformieren und dieses vom Simulator ausführen zu lassen.
We present a kind of agent-based simulation being a refinement of discrete- event simulation. It has a formal semantic for execution, which bases on object-based simulation, which itself is basing on discrete-event simulation. Our agent-based simulation contains distribution of the simulated system in active entities (agents) and passive entities (objects). Agents have an external (physical) as well as an internal (mental) state. In simulation there is an environmental simulator, managing the environment, which is the objects and the external agent states. We also have an agent simulator for each agent, managing the internal agent state. Simulation cycles, whereby the environmental simulator computes the events for the current cycle, does changes in the environment and sends perceptions to each agent simulator. Agent simulators compute internal events for the current cycle, do changes to the internal state and send taken actions to the environmental simulator. Agent-based simulation bases on object-based simulation, which itself bases on discrete-event simulation. One can transform an agent-based simulation model into an equivalent object-based model, which one can transform into an equivalent discrete-event simulation model. So, agent-based simulation is indeed a refinement of discrete-event simulation. We present a UML-based specification language to specify a concrete agent-based simulation system visually. This language uses reaction rules to specify the behaviour of simulation. We present an AORML-based specification language as well, which allows more naturally modelling, but is not useable for automatically processing because of insufficient tool support. We use the example of Automatically Guided Vehicles intensively, because it is very suitable to demonstrate agent-based simulation. Further examples are elevator systems and queues in supermarkets. As proof of concept we implemented a simulation system, whose kernel is a Java program library. We used this system to simulate a complex system of Automatically Guided Vehicles with decentral control and to do studies on the efficiency of this system. Having a simulation system, which is visually modelled using the UML-based simulation language, one can generate a simulation model in the XML-based language XMI. Using XSL transformation this model can be transformed into Java code, which can be used by the simulator. So, we developed a system to transform a visually specified simulation model into a simulation program, which can be executed by the simulator.