Rollerslam Interactions
Agents Framework Default Structure
: Agent : Environment Agent sendPerception(m1) : Simulation Thread sendPerception(mn)... think() : Display s = getEnvironmentState() update(s)
Agents Framework Proxies
: Agent : Proxied Environment Agent sendPerception( m:MethodCallMessage) : Simulation Thread : Remote Methodinvocatio nHandler dash(d) add(m) : Proxied Agent think() sendPerception(m) :Environment Cycle Processor dash(d) think()
Rollerslam
Initialization
:Rollerslam Display :Client Facade init(host) :Display Registry : Controller Impl connect(host) : Simulation Thread cdi: ControllerDi splay Impl : Simulation Admin :Server Facade register(cdi) startSimulation() run() setRunning(true) initProxiedEnvironment(port, e) e: Roller slam Env : Roller slam Agent init(host) joinWorld(...) gameStarted(...) getProxiedEnvironment()
Cycle Processing
:Rollerslam Agent : Action Interpretation Component dash(worldModel,d) :Ramification Component : Rollerslam Environment dash(d) think() processRamifications(world) : Simulation Thread :ControllerD isplay Impl :Model Impl update(s) s = getEnvironmentState() setModel(s) :Game Canvas w = getModel() feel(...)