Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.