Changes between Version 29 and Version 30 of SIMEO


Ignore:
Timestamp:
Jan 18, 2010, 8:52:05 PM (14 years ago)
Author:
ghit.bogdan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SIMEO

    v29 v30  
    9696The system is formed of two major components, the SIMEO Engine and the SIMEO GUI, as shown in the following figure:
    9797
    98 // TODO: replace figure
     98[[Image(system.pdf)]]
    9999
    100 [[Image(architecture.png)]]
    101100
    102 === a) Engine ===
    103101
    104 The Engine is the one responsible for running the environment simulation, running the agents and communicating with the GUI. It runs a master thread and multiple slave threads. The Engine is ran on the cluster.
    105102
    106 Each slave thread runs an agent. Each agent interacts with the environment through sensors and actuators. The sensors are the ones notifying the agent of changes in the environment, while the actuators, after being updated by the agent to reflect the action it wants to take, act on the environment.
    107103
    108 Each sensor (actuator) entity contains a provider and the actual sensor (actuator) of the agent. The provider is the component executed by the master and will update the sensor (respectively, it will receive the action wanted by the agent). The communication between the master and the agents is done through channels between the sensor / actuator and its associated provider.
     104
     105The Master is responsible with running the environment simulation, creating the agents / workers and launching the the GUI.
     106
     107Each slave thread runs an agent which interacts with the environment through sensors and actuators. The sensors are the ones notifying the agent of changes in the environment, while the actuators, after being updated by the agent to reflect the action it wants to take, act on the environment.
     108
     109Each sensor / actuator is coordinated by a provider which represents its correspondent in the master thread. The provider is the component executed by the master and will update the sensor (respectively, it will receive the action wanted by the agent). The master communicates with the agents through channels created between the sensors / actuators and their associated providers.
    109110
    110111The master thread will first set up the simulation by creating the environment, waiting for all agents to register and creating the channels of communication with these agents. Also, the master sends to each agent the information necessary for gaining access to the corresponding channels and for creating the sensors and the actuators. For each step of the simulation, the master will first update all sensor providers, which send the new data to the agents. The master will wait for the agents' responses. The received actuators will then be applied on the environment. The changes made to the environment are sent to the GUI.
    111112
    112113The Engine contains a component to which we will refer as the remote GUI. This is the component that communicates with the GUI, by sending all the environment data necessary for drawing a frame, like the object positions, etc.
    113 
    114 === b) GUI ===
    115 
    116 The GUI is ran locally. It displays the environment simulation and allows the user to control this simulation. For each frame, it asks the Engine for the new environment data. The Engine executes a step and then sends the new environment data to the GUI.
    117114
    118115