Platform for Simulations with Multiple Agents
PlaSMA is an event-driven simulation system which has been designed to solve and evaluate scenarios of the logistics domain. In particular the system allows to simulate autonomous logistic processes where autonomous agents perform planning and decision processes. The platform is based on the FIPA-compliant Java Agent Development Framework (JADE). JADE offers components for agent communication and coordination. PlaSMA extends this architecture as a simulation middleware for discrete event time progression. Simulation experiments are defined by an OWL ontology and user-implemented software agents which represent the individuals defined in the ontology.
PlaSMA has originally been developed at the Collaborative Research Centre 637 Autonomous Cooperating Logistic Processes (SFB 637) at the Universität Bremen. Although its main focus is on logistics simulation, the system is suitable for other domains as well.
Technical Details
In general the PlaSMA architecture consists of the following components: the world model, physical objects, infrastructure, action triggers, behavior definitions and agents. The agents in a PlaSMA simulation scenario have methods for, e.g., sending and receiving messages as well as executing actions within defined behaviours. The simulation agent is a logical simulation process that represents either an environmental process, an organisation or a set of physical objects.
The world model of a PlaSMA scenario can be modeled as a graph so that the infrastructure of the logistics domain can be mapped accordingly. Graph nodes represent, e.g., traffic junctions or logistic sources and sinks. Graph edges represent roads, rails, waterways, etc. For modeling real transport infrastructures it is possible to import a graph from OpenStreetMap.
The PlaSMA application is platform-independent. It runs with the Java Virtual Machine on Windows and Linux. To run PlaSMA, simply get it from our download page, unpack the file and start both, the server and the client. To learn more about PlaSMA, please have a look into the PlaSMA User Guide and the Javadoc API documentation. Both documents provide information on how to use the PlaSMA System and how to create a scenario from scratch.
The PlaSMA software package contains a server application and two different client applications. The PlaSMA server runs the simulation either on a local machine or on mutiple computers in parallel. The client (GUI or console) starts simulation scenarios and provides information about simulation progress. The graphical user interface allows to configure simulation parameters and shows simulation entities on a 3D world map. The command line client for console is for advanced users and only shows percentage of simulation progress.