Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Games Framework PSM - Specification. > Server DisplayRegistry AgentRegistry clientFacade SimulationAdmin ClientFacade DisplayRegistry AgentRegistry.

Similar presentations


Presentation on theme: "Distributed Games Framework PSM - Specification. > Server DisplayRegistry AgentRegistry clientFacade SimulationAdmin ClientFacade DisplayRegistry AgentRegistry."— Presentation transcript:

1 Distributed Games Framework PSM - Specification

2 > Server DisplayRegistry AgentRegistry clientFacade SimulationAdmin ClientFacade DisplayRegistry AgentRegistry SimulationAdmin ClientFacade serverFacade

3 > DisplayRegistry + register(d:Display) + unregister(d:Display) > AgentRegistry + register(a:Agent) + unregister(a:Agent) > SimulationAdmin + run() + stop() + getState() : SimulationState + getEnvironmentAgent() : Agent > SimulationState STOPPED RUNNING CREATED

4 DisplayRegistry Keeps track of all registered displays –register(d:Display) Registers a new display –unregister(d:Display) Unregister a display. If the passed display has not been registered yet this method should have any effect.

5 AgentRegistry Keeps track of all registered agents –register(a:Agent) Registers a new agent –unregister(a:Agent) Unregister an agent. If the passed agent has not been registered yet this method should have any effect.

6 SimulationAdmin run() –Start simulation stop() –Stops current simulation –If the simulation is already stopped this method should have no effect. getState() : SimulationState –Returns current simulation state getEnvironmentAgent() : Agent –Returns the agent driving simulation

7 SimulationAdmin State Machine CREATED RUNNING STOPPED run() stop()

8 > ClientFacade + init(serverURL:String) + exportObject(obj:Remote) : Remote + exportAgent(realAgent:Object, agentInterface:Class) + getProxiedEnvironment(environmentInterface : Class) : Object > ServerFacade + init(port:Integer, environmentAgent : EnvironmentAgent) + initProxiedEnvironment (port:Integer, envAgent :EnvironmentCycleProcessor) + getProxyForRemoteAgent(proxyInterface:Class, remoteAgent:Agent) : Object

9 ClientFacade init(serverURL:String) –Connects to server exportObject(obj:Remote) : Remote –Returns a remote stub from a local object –Every object that is supposed to be accessed remotely should be exported first. exportAgent(realAgent:Object, agentInterface:Class) –Creates a proxy for the agent and exports it getProxiedEnvironment(environmentInterface : Class) –Creates a proxy for the environment and returns it

10 ServerFacade init(port:Integer, environmentAgent : EnvironmentAgent) –Starts server initProxiedEnvironment (port:Integer, envAgent :EnvironmentCycleProcessor) –Starts server getProxyForRemoteAgent(proxyInterface: Class, remoteAgent:Agent) : Object

11 > Agent + sendPerception(m:Message) > Display + update(m:Message) > Message > Serializable > EnvironmentAgent > EnvironmentCycleProcessor + think() + getEnvironmentState() : Message


Download ppt "Distributed Games Framework PSM - Specification. > Server DisplayRegistry AgentRegistry clientFacade SimulationAdmin ClientFacade DisplayRegistry AgentRegistry."

Similar presentations


Ads by Google