Package fr.lifl.jedi.controllersCore

Package where all elements used to run a simulation are defined, and where means to synchronize different views on the simulation are defined.

See:
          Description

Interface Summary
AgentOrderingPolicy The interface is the parent interface for all policies used to order an agent set.
 

Class Summary
AbstractControlGUIController<GUIView extends ISimulationGUI> Controller associated with the GUI that manages the initialization, run, pause, or abortion of simulations.
AbstractGUIController<GUIView extends ISimulationGUI> Controller associated with all GUI that display simulations data.
 

Package fr.lifl.jedi.controllersCore Description

Package where all elements used to run a simulation are defined, and where means to synchronize different views on the simulation are defined.

This package and its subpackage are the fruits of works lead by the SMAC (which stands for "Systèmes Multi-Agents et Comportements" -- i.e. Multi-Agent Systems and Behavior in english) Research Team, from the University of Lille, France.

This version of JEDI was written by :

Contact : philippe (d) mathieu (a) lifl (d) fr
Replace (d) with a dot, and (a) with an @.

Package contents

This package contains all classes that make possible to run a simulation. It corresponds to the Controller part of the MVC.

In JEDI, performing a simulation is made thanks to an instance of the SimulationCore class. Such a class defines how the simulation is initialized, and when it has to stop.

A particular controller is registered to the simulation core, in order to manage when initialization takes place, when simulation starts, aborts or pauses. This controller is an instance of the AbstractControlGUIController class.

Other controllers are registered to the simulation core, in order to display or process data from the simulation at the end of every simulation step. The role of the simulation core is to synchronize all GUIs : whenever the simualtion finishes its initialization or a time step, events are thrown to the controllers of all GUIs to tell them to update. The simulation will continue only when all GUIs finished their update. These controllers are instances of the AbstractGUIController class.

A simulation runs in a thread called SimulationThread, in which simulation runs by time steps, where agents are asked in sequence to behave. The order of that sequence is changed at the beginning of every time step, thanks to an instance of the AgentOrderingPolicy class.