|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
IComponentControllerBase
.GuiceAgentModule
for the bindings.GuiceAgentModule
later.
Injector
created using the 'module'.
IPathExecutor
that implements several trivial methods from the
interface leaving the important one to be implemented by descendants.DistanceUtils.AcceptAllDistanceFilter
.
Provider
interface that allows you to
set the value directly into the provider via AdaptableProvider.set(Object)
.ILifecycleBus
, i.e., it has become used by new agent with 'agentId'.
LogCategory
plus to every new one.
LogCategory
plus to every new one.
LogCategory
plus to every new one.
LogCategory
plus to every new one.
LogCategory
plus to every new one.
IAgentLogger.addDefaultNetworkHandler()
method.
LogCategory
plus to every new one.
EventListener
, etc...
AbstractAgentLogger
to slip itself into the map.
LogCategory#removeLogEvent(java.lang.Object)
.
IStuckDetector
into the executor to watch over the path execution.
LogicModule.logic
.doLogic() is called.
LogicRunner
.
IAgentDescriptor
.UID
and IP of the host.ComponentController
and defines protected methods for the control of
the module's lifecycle (AgentModule#start()
, AgentModule.stop()
, AgentModule.pause()
, AgentModule.resume()
,
AgentModule.kill()
and AgentModule.reset()
).ComponentDependencyType
.STARTS_WITH the agent.
ComponentDependencyType
.STARTS_WITH the agent.
AgentScoped
)
as singletons.AgentTeamScoped
)
as singletons for the purpose of construction of the team of agents.IWorldConnection
is already connected.SharedComponentController#componentStateCountChanged()
.
IAgentStateUp
.
AbstractPathExecutor
which correctly sets the path executor states along the way and provide methods for reporting failures.IPathExecutorState
containing just the state.IAgentLogic.logic()
is called.
LogicModule.logic
.doLogic() is called.
IStuckDetector
registered inside executor via IPathExecutor.addStuckDetector(IStuckDetector)
whether the agent has stuck.
AgentScoped
objects that the scope is holding.
IComponentBus
implementors (ComponentBus
).IComponentControlHelper
- override only these that you need.ILifecycleBus
(not only IComponentBus
, you may create this ComponentController
even after some 'dependencies' has started
as ILifecycleBus
allows us to retrieve current state of dependencies, so we're able to start the component during the construction
if dependencies are already met.
ILifecycleBus
(not only IComponentBus
, you may create this ComponentController
even after some 'dependencies' has started
as ILifecycleBus
allows us to retrieve current state of dependencies, so we're able to start the component during the construction
if dependencies are already met.
IComponentBus
(not ILifecycleBus
, you must create this ComponentController
before any of 'dependencies' is started
as there is no way how to retrieve state of component from 'dependencies' so we will assume that all are in state ComponentState.INSTANTIATED
.
IComponentBus
(not ILifecycleBus
, you must create this ComponentController
before any of 'dependencies' is started
as there is no way how to retrieve state of component from 'dependencies' so we will assume that all are in state ComponentState.INSTANTIATED
.
ComponentController
behaves - when it calls IComponentControlHelper
.init()
and IComponentControlHelper
.start() methods.IFatalErrorEvent
.
IComponent
.ComponentFuture
can't be obtained.IComponent
.IComponent
.IStartedEvent
IPausedEvent
AbstractComponentControllerBase.component
state inside the agent's bus.
IStoppedEvent
.
IStoppingEvent
GuiceAgentModule.agentScope
into the module and then it iterates over GuiceAgentModule.modules
and
adds all their bindings to the module - each module always overrides previous ones (uses Modules.override(Module...)
).
GuiceAgentFactory.newAgent(IAgentParameters)
to configure the AbstractGuiceAgentFactory.getAgentModule()
with variables from 'agentParams'.
AbstractModule
into the module's queue GuiceAgentModule.modules
via GuiceAgentModule.addModule(AbstractModule)
.
GuiceAgentModule.modules
using GuiceCommunicationModule#addModule(Module)
.
AbstractComponentControllerBase.component
.
GuiceAgentModule.GuiceAgentModule()
to initialize the GuiceAgentModule.agentScope
,
override if you need you own AgentScope
implementation.
GuiceAgentModule.GuiceAgentModule()
to initialize the GuiceAgentModule.agentTeamScope
,
override if you need you own AgentScope
implementation.
AgentRunner#startAgentWithParams(IAgentParameters[])
to instantiate new
agents.
MultipleAgentRunner#startAgentWithParams(IAgentParameters[])
to instantiate new
agents.
SharedComponentController#componentStateCountChanged()
.
SharedComponentController#componentStateCountChanged()
.
Location#equals(Location)
.
IFilter
making it into DistanceUtils.IDistanceFilter
.DistanceUtils.IGetDistance
that uses Location.getDistance2D(Location)
method.DistanceUtils.IGetDistance
that uses Location.getDistance(Location)
method.ILocated
objects and their distance (or whatever required).Location
target.IViewable.isVisible()
== TRUE) objects.AnnotationListenerRegistrator
to register level A listener
(IWorldView.addEventListener(Class, cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEventListener)
for the annotated method.AgentRunner.newDefaultAgentParameters()
.
AgentRunner.newDefaultAgentParameters()
,
i.e., we're creating a new default parameters for every 'params' from the array.
PathExecutorState.FOLLOW_PATH_CALLED
state.
PathExecutorState.FOLLOW_PATH_CALLED
from
within the BasePathExecutor.followPath(IPathFuture)
method.
Future.get()
.
IPathFuture.getPathFrom()
to IPathFuture.getPathTo()
.
WorldObjectId
for 'name'.
WorldObjectId
for 'objId'.
WorldObjectId
for 'objId'.
IAgentDescriptor.getCount()
.
IAgentId
interface.
GuiceAgentFactory
(or concretely by the Guice)
to instantiate the agent.
IAgentParameters
interface.
AgentScoped
).
AgentTeamScoped
).
IViewable
instances} - those that the agent can currently see.
IViewable
instances} - those that the agent can currently see.
IViewable
instances} - those that the agent can currently see.
IViewable
instances} - those that the agent can currently see.
IComponent
.
ComponentState
of the component identified by 'componentId'.
ComponentState
of the component that implements / inherit the 'cls' class.
IAgentDescriptor.getAgentModule()
.
AgentDescriptor.getAgentModule()
.
Handler
that provides console publishing of all logs.
Handler
that provides publishing of all logs through NetworkLogPublisher
.
Location.getDistance(Location)
method.
Location.getDistance(Location)
method.
WorldObjectId.isDoubleId()
, otherwise it raises a PogamutException
.
IComponentBus
that the instance is working with.
DistanceUtils.VisibleFilter
).
DistanceUtils.VisibleFilter
).
WorldObjectId
for the given 'annotation'.
WorldObjectId
for the given 'annotation'.
DistanceUtils.GetLocatedDistance2D
.
DistanceUtils.GetLocatedDistance3D
.
ILocated
.
NetworkLogManager
is using.
IAgentLogic#initializeLogic()
method running time in millis.
IAgentLogic.logicShutdown()
method running time in millis.
WorldObjectId.isLongId()
, otherwise it raises a PogamutException
.
DistanceUtils.VisibleFilter
).
DistanceUtils.VisibleFilter
).
NetworkLogManager
is listening.
NetworkLogManager
is listening.
IAgentLogger.getNetworkLoggerHost()
method.
NetworkLogManager
is listening.
NetworkLogManager
is listening.
IAgentLogger.getNetworkLoggerPort()
method.
DistanceUtils.VisibleFilter
).
DistanceUtils.VisibleFilter
).
DistanceUtils.VisibleFilter
).
DistanceUtils.VisibleFilter
).
IPathExecutor.isExecuting()
and the path has been already computed, returns path the executor
is currently following.
AbstractPathExecutor.getPathElementIndex()
is in the range
of AbstractPathExecutor.getPath()
.
IPathExecutor.isExecuting()
and the path has been already computed, returns current path element
the executor is navigating to.
IPathExecutor.getPath()
that marks the element
the path executor is currently heading to.
IRotable
.
IllegalArgumentException
will be thrown.
IPathExecutor
.
ILocomotive
.
IViewable
instances} organized according to their WorldObjectId
-
those that the agent can currently see.
IViewable
instances} organized according to their WorldObjectId
-
those that the agent can currently see.
IAgent
factory that instantiates the agent according to the bindigs that are found inside
the GuiceAgentModule
, which is provided during the construction.Injector
created using the 'module'.
AbstractModule
, provides a way to hierarchically specify the bindings
for interfaces and classes.GuiceAgentModule.agentScope
via GuiceAgentModule.createAgentScope()
.
GuiceRemoteAgentModule
) that is specifying the bindings
for respective interfaces.GuiceAgentModule
for the purpose of remote agents (those communicating with the world using
IWorldConnection
).GuiceTeamRemoteAgentModule
) that is specifying the bindings
for respective interfaces.GuiceRemoteAgentModule
for the purpose of remote agents (those communicating with the world using
IWorldConnection
) that is using ISharedWorldView
to synchronize information within the agent's team.BatchAwareWorldView.currentObjectBatch
for processing?
IToken
, it provides an ability to give an agent a human-readable
name.AgentScoped
classes as singletons.IComponent
NOT ISharedComponent
s (for them, use ISharedComponentController
instead).IComponentController
or ISharedComponentController
.IEmbodiedAgent
not this IGhostAgent
).IAgentLogger
interface that is exposed via MBean.ILifecycleBus
is extending IComponentBus
by implementing the knowledge of lifecycle states of various IComponent
s.SharedComponentController#componentStateCountChanged()
.
SharedComponentController#componentStateCountChanged()
.
PathExecutorState.INSTANTIATED
state.
IPathExecutor
javadoc - do it now! Following javadoc assumes you know what IPathExecutor
is
and how its interface works.IPathExecutor
providing a high-level description of the state via
IPathExecutorState.getState()
.IPathPlanner
and IPathExecutor
.IPathPlanner
computation.IPausingEvent
and
IAgentResumingEvent
IAgentLogger.isDefaultNetworkHandler()
method.
WorldObjectId.token
.
IPathFuture
and working on getting the bot to its target.
ISharedComponent
NOT IComponent
s (for them, use IComponentController
instead).WorldObjectId.token
.
WorldObjectId.isLongId()
or WorldObjectId.isDoubleId()
).
NetworkLogManager#shutdown()
.
IStartingEvent
, it marks that the component is going to start.ILifecycleBus
and is watching it for auto start/stop/pause/resume/...
ISharedWorldView
instance that should be used by the particular agent.ITeamAgentParameters
and IRemoteAgentParameters
.IWorldObjectUpdatedEvent
that informs that some object has been destroyed.ComponentDependencyType
.STARTS_WITH the agent.
ComponentDependencyType
.STARTS_WITH the agent.
IFatalErrorEvent
, tear down the whole system!
DefaultPogamutPlatform.close()
to shutdown the network
logging, terminating its thread to let JVM die gracefully.
AgentRunner.killingAgents
access.
ILifecycleBus
which is extending IComponentBus
by implementing the knowledge of lifecycle states of various IComponent
s.MainAgentRunner#latch
(if reaches zero, start method resumes and closes the Pogamut platform),
and watches for the agent's failure (MainAgentRunner#killAgents(IAgent[])
in this case).
MultipleAgentRunner.latch
(if reaches zero, start method resumes and closes the Pogamut platform),
and watches for the agent's failure (MultipleAgentRunner#killAgents(IAgent[])
in this case).
AbstractComponentControllerBase.component
inside
bus of respective agents.
IComponentController
provided by respective ILifecycleBus.addLifecycleManagement(IComponent, IComponentControlHelper, ComponentDependencies)
of agents using the component.
IPausingEvent
of the component is broadcast into ILifecycleBus
of
the agent identified by 'agentId'.
IResumingEvent
of the component is broadcast into ILifecycleBus
of
the agent identified by 'agentId'.
IStartingEvent
of the component is broadcast into ILifecycleBus
of
the agent identified by 'agentId'.
IStartingPausedEvent
of the component is broadcast into ILifecycleBus
of
the agent identified by 'agentId'.
IStoppingEvent
of the component is broadcast into ILifecycleBus
of
the agent identified by 'agentId'.
IResetEvent
is caught at the ILifecycleBus
of the agent identified by 'agentId'.
ILifecycleBus
of the agent identified by 'agentId'.
Location.toString()
.
Location.toString()
in
Location.Location(String)
.
AbstractAgent.LOG_CATEGORY_NAME
.
AbstractAgent.log
.
LogCategory
to add events to the log.LogEventMark
.LogPublisher
.IAgentLogic.logic()
invocation.
IAgentLogic.logic()
is periodically called - allows you to sleep the logic until the rest of the agent is ready.
LogicModule
is stopping to end the logic.
LogCategory
to place mark on the map.IWorldChangeEvent
from the IWorldChangeEventOutput
passing them to the without any delay.BasePathExecutor.followPath(IPathFuture)
and
BasePathExecutor.stop()
methods.
NetworkLogManager
.NetworkLogManager
publishes.AbstractAgentLogger
that passes all the logs into NetworkLogManager
.IAgent
interface that is cast to AGENT parameter.
AgentId
from the 'name' and unique number that is automatically generated
from the AgentRunner.ID
.
AgentId
from the 'name' and unique number that is automatically generated
from the MultipleAgentRunner.ID
.
DistanceUtils.acceptAllDistanceFilter
, i.e., this will ACCEPTS-ALL-ITEMS.
AnnotationListenerRegistrator
to register level C listener
(IWorldView#addObjectListener(Class, Class, cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObjectListener)
for the annotated method.AnnotationListenerRegistrator
to register level B listener
(IWorldView#addObjectListener(Class, cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObjectListener)
for the annotated method.IViewable
objects raising WorldObjectAppearedEvent
automatically (if object is visible).
IViewable
objects automatically raising WorldObjectDisappearedEvent
if object was visible
before it was destroyed.
AnnotationListenerRegistrator
to register level E listener
(IWorldView#addObjectListener(WorldObjectId, Class, cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObjectListener)
for the annotated method.AnnotationListenerRegistrator
to register level D listener
(IWorldView#addObjectListener(cz.cuni.amis.pogamut.base.communication.worldview.object.WorldObjectId, cz.cuni.amis.pogamut.base.communication.worldview.object.IWorldObjectListener)
for the annotated method.EventDrivenWorldView.innerNotify(IWorldChangeEvent)
if the event is IWorldObjectUpdatedEvent
to process it.
IViewable
objects automatically raising WorldObjectAppearedEvent
and
WorldObjectDisappearedEvent
.
EventDrivenWorldView.innerNotify(IWorldChangeEvent)
if the event is IWorldObjectUpdatedEvent
to process it.
PathExecutorState.PATH_COMPUTATION_FAILED
state.
PathExecutorState.PATH_COMPUTED
state.
PathExecutorState.PATH_COMPUTATION_FAILED
from
within the BasePathExecutor.pathComputationFailed()
method.
BasePathExecutor.pathFuture
.
PathExecutorState.PATH_COMPUTED
from
within the BasePathExecutor.pathComputed()
method.
AbstractPathExecutor.getPath()
.
IPathExecutor
state.IPathFuture
interface that assumes the computation to be
dependent on some IComponent
s.IComponent
.
IAgentStateRunning
ObjectName
s for various Pogamut components (classes).ObjectName
instance can't be obtained.MBeanServer
interface, that is using to store references of
registered mbeans and listeners allowing to unregister/register them again using
PogamutMBeanServer.unregisterAll()
and PogamutMBeanServer.registerAll()
.PogamutProperty.toString()
method.EventReact.react(IWorldEvent)
hook allowing you to do additional work after the react method.
EventReact.react(IWorldEvent)
hook allowing you to do additional work after the react method.
ObjectEventReact#react(IWorldEvent)
hook allowing you to do additional work after the react method.
AgentRunner.factory
and started with IAgent.start()
.
MultipleAgentRunner#factory
and started with IAgent.start()
.
AgentRunner.factory
and
started with IAgent.start()
.
IAgent.start()
.
IPathFuture
that contains pre-set result, i.e., you do not need the future, you just want to pass down
some value...PathExecutorState.FOLLOW_PATH_CALLED
from within
the BasePathExecutor.followPath(IPathFuture)
method.
AgentRunner.factory
.
ComponentBusEvents.fatalError(String)
event is broadcast.
PathExecutorState.PATH_COMPUTATION_FAILED
from within
the BasePathExecutor.pathComputationFailed()
method.
PathExecutorState.PATH_COMPUTED
from within
the BasePathExecutor.pathComputed()
method.
IPausingEvent
of the component is broadcast.
EventReact.react(IWorldEvent)
hook allowing you to do additional work before the react method.
EventReact.react(IWorldEvent)
hook allowing you to do additional work before the react method.
ObjectEventReact#react(IWorldEvent)
hook allowing you to do additional work before the react method.
IResumingEvent
of the component is broadcast.
AgentRunner.isPausing()
.
MultipleAgentRunner.isPausing()
.
IStartingEvent
of the component is broadcast.
AgentRunner.factory
and before
the IAgent.start()
is called.
IAgent.start()
is called.
IStartingPausedEvent
of the component is broadcast.
IStoppingEvent
of the component is broadcast.
ComponentBusEvents.stopping()
event is broadcast.
PathExecutorState#STUCKD
from within the
BasePathExecutor#stuck(IStuckDetector)
method.
PathExecutorState.SWITCHED_TO_ANOTHER_PATH_ELEMENT
from within
the BasePathExecutor.switchToAnotherPathElement(int)
method.
PathExecutorState.TARGET_REACHED
from within the
BasePathExecutor.targetReached()
method.
AbstractPathExecutor.getPath()
.
Provider
to by of type "T".AbstractAgent.getComponentId()
maps to actual 'agent' registered + number of registration for a given agent.
ILifecycleBus
, i.e., it has stopped to be used by agent with 'agentId'.
LogCategory
.
LogCategory
.
LogCategory
.
LogCategory
.
IAgentLogger.removeDefaultNetworkHandler()
method.
IStuckDetector
from the executor (must be the same instance, equals() is NOT USED).
IResetEvent
is caught.
IResetEvent
is caught in any of stopped bus.
IComponentBus
broadcast IResetEvent
to reset all agent's components as well
as an agent.
IAgentStatePaused
Rotation.toString()
.
Rotation.toString()
in
Rotation.Rotation(String)
.
AbstractGuiceAgentFactory.injector
so the new one is created when AbstractGuiceAgentFactory.getInjector()
is called.
AgentDescriptor
and assigns 'params'.
IViewable
objects.
Level.WARNING
).
Level.WARNING
).
ISharedWorldView
that should be used by this agent.
AbstractComponentControllerBase.componentState
to desired state.
SharedComponentController#componentStateCountChanged()
.
SharedComponentController#componentStateCountChanged()
.
ISharedComponentControlHelper
- override only these that you need.ISharedComponent
while providing methods that has to be implemented by any ISharedComponent
.IComponentControlHelper
that is passed to every ILifecycleBus.addLifecycleManagement(IComponent, IComponentControlHelper, ComponentDependencies)
sensing decisions of ordinary ComponentController
that signalizes when the component should be started for a given bus.EventDrivenWorldView.innerNotify(IWorldChangeEvent)
if the event is IWorldObjectUpdatedEvent
to process it.
LogicModule.logic
.logic() will be called.
AgentRunner#startAgentWithParams(IAgentParameters[])
to start newly
created agent.
MultipleAgentRunner#startAgentWithParams(IAgentParameters[])
to start newly
created agent.
AbstractPathExecutor.stop()
.
PathExecutorState.STOPPED
from within the
BasePathExecutor.stop()
method.
PathExecutorState.STOPPED
from
within the BasePathExecutor.stop()
method.
PathExecutorState.STOPPED
state.
PathExecutorState.STUCK
that should be called whenever some
stuck detector detects that the agent is stuck.
PathExecutorState.STUCK
state.
IStuckDetector
or some other part of the IPathExecutor
.
PathExecutorState.STUCK
from
within the BasePathExecutor#stuck(IStuckDetector)
method.
PathExecutorState.SWITCHED_TO_ANOTHER_PATH_ELEMENT
state.
AbstractPathExecutor
state into AbstractPathExecutor.state
.
PathExecutorState.SWITCHED_TO_ANOTHER_PATH_ELEMENT
from
within the BasePathExecutor.switchToAnotherPathElement(int)
method.
PathExecutorState.TARGET_REACHED
state.
PathExecutorState.TARGET_REACHED
from
within the BasePathExecutor.targetReached()
method.
Charset
that is used by the NetworkLogManager
to send logs over the socket.
Velocity.toString()
.
Velocity.toString()
in
Velocity.Velocity(String)
.
DistanceUtils.VisibleFilter
.
IVisionLocalWorldView
interface.IComponentEvent
may be really substitued as T.
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |