Eclipse projects
Contents
Structure
The following diagram shows the project structure of the ARS simulation environment, where the arrows represent the dependencies.
Projects
Simulation
This project is the starting point for every simulation. Its job is to set up the simulation environment using the Mason Multiagent Simulation Framework, manage the creation of the entities and assign all the properties according to the scenario files. A simulation is started by running the class clsSimulatorMain. This can be achieved either by calling clsSimulatorMain directly with the appropriate parameters, or by running the scenario selector (clsScenarioSelector). The actual setup is performed by the module clsSimplePropertyLoader. This class reads and analyzes the scenario file, and manages the creation and linking of all entities, decision units and memories.
MASON
MASON is a JAVA multiagent simulation framework developed by a project group at George Mason University. It is included into the ARS simulation environment as a library, so its source code is not part of the ARS project.
Entities
This project contains all the entities that exist in the simulation environment, except the ARSIN and some ARSIN-related entities. The decision to create a separate project for the entities is based on the consideration that the ARSIN project holds only the base data structures, and the ARS-related objects. The entities within this project are
clsApple | clsAppleGreen | clsCake |
clsCan | clsCarrot | clsFungus |
clsFungusEater | clsHare | clsLamp |
clsLynx | clsPlant | clsRectangleStationary |
clsRemoteBotOrientationTest | clsSchnitzel | clsSchnitzl |
clsSelf | clsSprout | clsStone |
clsToilet | clsTomato | clsUnrealHealth |
clsWallAxisAlign | clsWallHorizontal | clsWallVertical |
All the entities in this project are part of the entity hierarchy. The base classes of the hierarchy are found in the package entities.base in the ARSIN project.
EntityBase-Body-ARSIN
This project has two functions. First of all it provides the base modules and data structures for all objects that can be simulated. These modules are the entity base (abstract entitiys - see entity hierarchy), the bodies (and all its interfaces, sensors, actuators and attributes) and miscellaneous enums and tools. Secondly it contains the ARSIN and its related entities such as clsSmartExcrement and clsSpeech.
DecisionUnitInterface
DecisionUnits
ARSMemory
AlternativeDecisionUnits
AlternativeDecisionUnits implements all decision units that are not based on the ARS model. They are located in a dedicated project in order to seperate them from the psychoanalytic du's. Some examples are dumbmind, reactive, remotecontrol and rulebased.
DecisionUnitMasonInspectors
This project coontains the MASON inspectors for the decision units. Inspectors are a MASON toolkit, that allow to observe attributes of the simulated objects during simulation. Values that can be observed with a DecisionUnitMasonInspector are e.g. emotions (anxiety, anger, elation, joy etc.).
BodyEntityMasonInspectors
Same as DecisionUnitMasonInspectors except that it is used to display attributes of the entities and their bodys such as health, energy, position, id etc.
GeneralTools
GeneralTools comprises miscellaneous tools that are of general nature and are used by several modules. An example is the class clsGetARSPath that returns the directory file system paths of some resources and projects.