Difference between revisions of "Eclipse projects"

From SIMA wiki
Jump to: navigation, search
(Simulation)
(Simulation)
Line 8: Line 8:
 
=== Simulation ===
 
=== 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.
 
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).
 
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).
  

Revision as of 16:59, 29 October 2013

Structure

The following diagram shows the project structure of the ARS simulation environment, where the arrows represent the dependencies.


Eclipse-projects.png

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).

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.