Modifier and Type | Interface and Description |
---|---|
interface |
IAgent
MXBean interface - serves the purpose only to JMX, you should always derive your agent from
at least AbstractAgent, even though it's not enforced right now it may be in the future!
|
interface |
IEmbodiedAgent
Embodied agents are agents that are physically present in the world.
|
interface |
IGhostAgent
Interface of the agent that may observe the world and can even act inside it
but does not have the body (notice that in case that the world contains agents-ghosts, that are
"physically" being somewhere, they would be
IEmbodiedAgent not this IGhostAgent ). |
interface |
IObservingAgent
Observing agent is agent that may watch/observe the world, but is powerless to do anything
inside it directly.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractAgent
Abstract agent class, provides basic interface for the agent implementing its lifecycle methods + introducing JMX.
|
class |
AbstractEmbodiedAgent<WORLD_VIEW extends IWorldView,ACT extends IAct> |
class |
AbstractGhostAgent<WORLD_VIEW extends IWorldView,ACT extends IAct>
Next step to embodied agents are those without the physical body
but with the ability to act inside the environment.
|
class |
AbstractObservingAgent<WORLD_VIEW extends IWorldView>
The main difference between AbstractAgent and AbstractObservingAgent is that
this one has a world to observe.
|
Modifier and Type | Method and Description |
---|---|
protected void |
AbstractAgent.addDependency(IComponent component) |
Modifier and Type | Class and Description |
---|---|
class |
AgentJMXProxy
Makes it possible to control agent running in remote JVM through JMX protocol.
|
class |
GhostAgentJMXProxy |
Modifier and Type | Class and Description |
---|---|
class |
AgentModule<AGENT extends IAgent>
Ancestor of all agent modules that contains
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() ). |
class |
JMXAgentModule<AGENT extends AbstractAgent>
Agent module that provides JMX interface.
|
class |
LogicModule<AGENT extends IAgent> |
class |
MotoricModule<AGENT extends IEmbodiedAgent> |
class |
SensomotoricModule<AGENT extends IEmbodiedAgent> |
class |
SensorModule<AGENT extends IObservingAgent> |
Constructor and Description |
---|
PathFuture(PATH_ELEMENT pathFrom,
PATH_ELEMENT pathTo,
IComponentBus bus,
IComponent... dependants)
Initialize the path future as dependent on 'dependants'.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IAct
IAct provides a way to send command messages to the world allowing you to attach
listeners to outgoing commands.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IJNIAct
Use this interface to separate classic socket-based acts from JNI acts.
|
Modifier and Type | Class and Description |
---|---|
class |
Act
TODO!
|
Modifier and Type | Interface and Description |
---|---|
interface |
IWorldConnection<ADDRESS extends IWorldConnectionAddress>
Interface for the connection to a remote world.
|
interface |
IWorldReaderProvider
Interface that returns a reader that can be used to get messages from the world.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractConnection<ADDRESS extends IWorldConnectionAddress>
Implementation of the basic connection to the world server.
|
Modifier and Type | Field and Description |
---|---|
protected ComponentController<IComponent> |
AbstractConnection.controller
Control helper starting/stopping the component.
|
Modifier and Type | Class and Description |
---|---|
class |
SocketConnection |
Modifier and Type | Interface and Description |
---|---|
interface |
IMediator |
Modifier and Type | Class and Description |
---|---|
class |
Mediator
This class should wrap the reading thread that continuously reads
IWorldChangeEvent from the IWorldChangeEventOutput
passing them to the without any delay. |
Modifier and Type | Interface and Description |
---|---|
interface |
IWorldMessageParser
Message parser has a method for reading and parsing messages from the world.
|
Modifier and Type | Class and Description |
---|---|
class |
YylexParser
TODO!:
|
Modifier and Type | Interface and Description |
---|---|
interface |
IWorldChangeEventOutput
Interface providing events from the world.
|
Modifier and Type | Class and Description |
---|---|
class |
WorldMessageTranslator
Abstract class for translators between world messages (InfoObjects) and IWorldEvents.
|
Modifier and Type | Interface and Description |
---|---|
interface |
ILockableWorldView |
interface |
IWorldChangeEventInput
Input interface for the world view.
|
interface |
IWorldView
Interface for the world view.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractWorldView
Abstract world view is implementing some of the tedious things every WorldView will surely
implement -> maps for holding the references to all world objects either according to their
id and type (class).
|
class |
EventDrivenWorldView
Schema: "real" world | ...
|
class |
LockableWorldView
WorldView that can be locked.
|
Modifier and Type | Field and Description |
---|---|
protected ComponentController<IComponent> |
AbstractWorldView.controller |
Modifier and Type | Interface and Description |
---|---|
interface |
ISharedComponent
Every agent consists of components.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IComponentEvent<SOURCE extends IComponent>
Event that may happen on the EventBut.
|
Modifier and Type | Interface and Description |
---|---|
interface |
IComponentBus
Component bus is meant as "event bus".
|
Modifier and Type | Class and Description |
---|---|
class |
ComponentBus
Too complex - not suitable for inheritance ...
|
Modifier and Type | Method and Description |
---|---|
IComponent |
IComponentBus.getComponent(cz.cuni.amis.utils.token.IToken componentId)
Returns registered component of 'componentId'.
|
IComponent |
ComponentBus.getComponent(cz.cuni.amis.utils.token.IToken name) |
Modifier and Type | Method and Description |
---|---|
void |
IComponentBus.addEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener)
Attach listener to all events of class 'event' that is produced by the 'component'.
|
void |
ComponentBus.addEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
boolean |
IComponentBus.isListening(Class<?> event,
IComponent component,
IComponentEventListener<?> listener)
Tests whether 'listener' is listening on events of class 'event' on the 'component'.
|
boolean |
ComponentBus.isListening(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
void |
IComponentBus.register(IComponent component)
Registers component into the bus.
|
void |
ComponentBus.register(IComponent component) |
void |
IComponentBus.remove(IComponent component)
Removes component from the bus.
|
void |
ComponentBus.remove(IComponent component) |
void |
IComponentBus.removeEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener)
Removes 'listener' from event 'event' on the 'component'.
|
void |
ComponentBus.removeEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
Modifier and Type | Interface and Description |
---|---|
interface |
IFatalErrorEvent<SOURCE extends IComponent>
Marks that fatal error has happened that prevents the component from running.
|
interface |
IPausedEvent<SOURCE extends IComponent> |
interface |
IPausingEvent<SOURCE extends IComponent> |
interface |
IResetEvent<SOURCE extends IComponent> |
interface |
IResumedEvent<SOURCE extends IComponent> |
interface |
IResumingEvent<SOURCE extends IComponent> |
interface |
IStartedEvent<SOURCE extends IComponent>
Marks that the component has started its work.
|
interface |
IStartingEvent<SOURCE extends IComponent> |
interface |
IStartingPausedEvent<SOURCE extends IComponent>
This event is similar to
IStartingEvent , it marks that the component is going to start. |
interface |
IStoppedEvent<SOURCE extends IComponent>
The component stopped its job.
|
interface |
IStoppingEvent<SOURCE extends IComponent> |
Modifier and Type | Field and Description |
---|---|
protected IComponent |
ComponentBusEvents.component |
Constructor and Description |
---|
BusAwareCountDownLatch(int count,
IComponentBus bus,
IComponent... components) |
ComponentBusEvents(IComponentBus bus,
IComponent component,
Logger log) |
Constructor and Description |
---|
EventFilter(Class<T> eventClass,
Class<? extends IComponent> componentClass) |
Modifier and Type | Class and Description |
---|---|
class |
ComponentEvent<SOURCE extends IComponent>
Note that this is sort of utility class providing pretty-print (reflection based) for toString(), not every
event must be descendant of this class.
|
class |
FatalErrorEvent<SOURCE extends IComponent> |
class |
FatalErrorPropagatingEvent<SOURCE extends IComponent> |
class |
PausedEvent<SOURCE extends IComponent> |
class |
PausingEvent<SOURCE extends IComponent> |
class |
ResetEvent<SOURCE extends IComponent> |
class |
ResumedEvent<SOURCE extends IComponent> |
class |
ResumingEvent<SOURCE extends IComponent> |
class |
StartedEvent<SOURCE extends IComponent> |
class |
StartingEvent<SOURCE extends IComponent> |
class |
StartingPausedEvent<SOURCE extends IComponent> |
class |
StoppedEvent<SOURCE extends IComponent> |
class |
StoppingEvent<SOURCE extends IComponent> |
Modifier and Type | Field and Description |
---|---|
protected SOURCE |
FatalErrorEvent.component |
Modifier and Type | Class and Description |
---|---|
class |
AbstractComponentControllerBase<COMPONENT extends IComponent>
Abstract class implementing some methods from
IComponentControllerBase . |
class |
ComponentController<COMPONENT extends IComponent>
Provides simple way for components to start/stop automatically based on the status of objects
they depends on (e.g.
|
interface |
IComponentController<COMPONENT extends IComponent>
The component controller is meant for simple
IComponent NOT ISharedComponent s (for them, use ISharedComponentController instead). |
interface |
IComponentControllerBase<COMPONENT extends IComponent>
Base interface for component controllers, be it
IComponentController or ISharedComponentController . |
Modifier and Type | Interface and Description |
---|---|
interface |
IComponentController<COMPONENT extends IComponent>
The component controller is meant for simple
IComponent NOT ISharedComponent s (for them, use ISharedComponentController instead). |
interface |
IComponentControllerBase<COMPONENT extends IComponent>
Base interface for component controllers, be it
IComponentController or ISharedComponentController . |
interface |
ISharedComponentController<COMPONENT extends ISharedComponent>
The component controller is meant for simple
ISharedComponent NOT IComponent s (for them, use IComponentController instead). |
Modifier and Type | Class and Description |
---|---|
class |
AbstractComponentControllerBase<COMPONENT extends IComponent>
Abstract class implementing some methods from
IComponentControllerBase . |
class |
ComponentController<COMPONENT extends IComponent>
Provides simple way for components to start/stop automatically based on the status of objects
they depends on (e.g.
|
class |
SharedComponentController<COMPONENT extends ISharedComponent>
Shared component controller is meant to provide management of lifecycle methods of the
ISharedComponent
while providing methods that has to be implemented by any ISharedComponent . |
Modifier and Type | Field and Description |
---|---|
protected COMPONENT |
AbstractComponentControllerBase.component
Component controlled by this controller.
|
Modifier and Type | Method and Description |
---|---|
ComponentDependencies |
ComponentDependencies.add(IComponent component) |
protected String |
AbstractComponentControllerBase.id(IComponent component)
Returns component id or null.
|
boolean |
ComponentDependencies.isDependency(IComponent component) |
boolean |
SharedComponentController.isDependent(IAgentId agentId,
IComponent component) |
boolean |
ISharedComponentController.isDependent(IAgentId agentId,
IComponent component)
Whether the controlled component is dependent on 'component' of the agent identified by 'agentId'.
|
boolean |
IComponentController.isDependent(IComponent component)
Whether the controlled component is dependent on 'component'.
|
boolean |
ComponentController.isDependent(IComponent component) |
Constructor and Description |
---|
ComponentCantStartException(String message,
IComponent origin)
Constructs a new exception with the specified detail message.
|
ComponentCantStartException(String message,
Logger log,
IComponent origin)
Constructs a new exception with the specified detail message.
|
ComponentCantStartException(String message,
Throwable cause,
IComponent origin)
Constructs a new exception with the specified detail message and cause.
|
ComponentCantStartException(String message,
Throwable cause,
Logger log,
IComponent origin)
Constructs a new exception with the specified detail message and cause.
|
ComponentKilledException(IComponent component,
Object origin)
Constructs a new exception with the specified detail message.
|
Modifier and Type | Interface and Description |
---|---|
interface |
ILifecycleBus
ILifecycleBus is extending IComponentBus by implementing the knowledge of lifecycle states of various IComponent s. |
Modifier and Type | Class and Description |
---|---|
class |
LifecycleBus
Lifecycle bus is implementing
ILifecycleBus which is extending IComponentBus by implementing the knowledge of lifecycle states of various IComponent s. |
Modifier and Type | Method and Description |
---|---|
<T extends IComponent> |
LifecycleBus.addLifecycleManagement(T component,
IComponentControlHelper lifecyleMethods,
ComponentDependencies componentDependencies) |
<T extends IComponent> |
ILifecycleBus.addLifecycleManagement(T component,
IComponentControlHelper lifecyleMethods,
ComponentDependencies componentDependencies)
Registers 'lifecycleMethods' to be called in correct times according to 'componentDependencies' for the 'component'.
|
Modifier and Type | Method and Description |
---|---|
IComponent |
LifecycleBus.getComponent(cz.cuni.amis.utils.token.IToken name) |
Modifier and Type | Method and Description |
---|---|
void |
LifecycleBus.addEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
boolean |
LifecycleBus.isListening(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
void |
LifecycleBus.register(IComponent component) |
void |
LifecycleBus.remove(IComponent component) |
void |
LifecycleBus.removeEventListener(Class<?> event,
IComponent component,
IComponentEventListener<?> listener) |
void |
LifecycleBus.removeLifecycleManagement(IComponent component) |
void |
ILifecycleBus.removeLifecycleManagement(IComponent component)
Removes lifecycle management for a concrete 'component'.
|
Modifier and Type | Method and Description |
---|---|
cz.cuni.amis.utils.flag.ImmutableFlag<ComponentState> |
LifecycleBus.getComponentState(Class<? extends IComponent> cls) |
cz.cuni.amis.utils.flag.ImmutableFlag<ComponentState> |
ILifecycleBus.getComponentState(Class<? extends IComponent> cls)
Returns current
ComponentState of the component that implements / inherit the 'cls' class. |
Modifier and Type | Interface and Description |
---|---|
interface |
IWorldServer<A extends IAgent>
Interface for servers representing remote worlds.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractWorldServer<WORLD_VIEW extends IWorldView,ACT extends IAct,A extends IAgent> |
Constructor and Description |
---|
ComponentFuture(IComponentBus bus,
IComponent... dependants)
Constructor where you have to specify components on which the result depends + its component bus.
|
Modifier and Type | Class and Description |
---|---|
static class |
TestAgents.NetworkLoggingAgent |
Modifier and Type | Method and Description |
---|---|
LogCategory |
IAgentLogger.getCategory(IComponent component)
Returns LogCategory for specified
IComponent . |
LogCategory |
AbstractAgentLogger.getCategory(IComponent component) |
Modifier and Type | Interface and Description |
---|---|
interface |
ILockableVisionWorldView |
Modifier and Type | Interface and Description |
---|---|
interface |
IAgent3D
Interface of agent embodied in a 3D environment.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractAgent3D<WORLD_VIEW extends IVisionWorldView,ACT extends IAct>
Adds Agent3D special JMX abilities.
|
Modifier and Type | Class and Description |
---|---|
class |
Agent3DJMXProxy |
Modifier and Type | Interface and Description |
---|---|
interface |
IVisionWorldView |
Modifier and Type | Class and Description |
---|---|
class |
BatchAwareWorldView
World view that is updated by protocol utilizing concept of batches.
|
class |
LockableBatchAwareWorldView |
class |
SyncLockableBatchAwareWorldView |
class |
VisionWorldView |
Modifier and Type | Interface and Description |
---|---|
interface |
ILocalWorldView
Interface for a World View local to a single agent in a multi-agent system
any implementation must implement the necessary object maps!
TODO: [srlok] what are the problems using TimeKey? does it always return the information to any TimeKey I may obtain?
Am I supposed to always provide the TimeKey that is Current? What about locking?
|
interface |
ISharedWorldChangeEventInput
General interface for shared components capable of processing events.
|
interface |
ISharedWorldView
Interface for WorldViews for multi-agent systems
|
interface |
ITimedWorldChangeEventInput |
interface |
IVisionLocalWorldView
Interface that adds functionality related to visible objects to the worldView.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractLocalWorldView
WorldView responsible for single agent.
|
class |
AbstractSharedWorldView |
class |
BatchAwareLocalWorldView
Implements the batch logic into the worldView.
|
class |
BatchAwareSharedWorldView
SharedWorldView with batch-driven implementation.
|
class |
EventDrivenLocalWorldView |
class |
EventDrivenSharedWorldView
SharedWorldView implementing basic event management (notyfying listeners --- not yet fully functional)
and updating shared objects using the events.
|
class |
LocalWorldViewAdapter
This class serves as an adapter for ILocalWorldView to satisfy the IWorldView interface,
all methods of this worldView only call the appropriate methods on the backing localWorldView
|
class |
VisionLocalWorldView
VisionLocalWorldView manages information about all objects currently in the bot's FOV (field-of-view)
by implementing methods from
IVisionLocalWorldView interface. |
Modifier and Type | Field and Description |
---|---|
protected ComponentController<IComponent> |
AbstractLocalWorldView.controller |
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.