org.cougaar.core.agent

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Science » Cougaar12_4 » org.cougaar.core.agent 
org.cougaar.core.agent
This package contains the Cougaar agent base class and bootstrapping components.

The top-level JVM {@link org.cougaar.core.node.Node} loads the {@link org.cougaar.core.agent.AgentManager}, which will contain all the agents on the JVM. The AgentManager loads the configuration service ({@link org.cougaar.core.node.ComponentInitializerService}) and the node agent {@link org.cougaar.core.agent.AgentImpl}, which is an agent named after the "-Dorg.cougaar.node.name" system property. Like all agents, the node agent's AgentImpl loads a single {@link org.cougaar.core.agent.Bootstrap} component that specifies the agent's initial component list. The bootstrap loads the minimal number of components necessary to read the XML configuration file and/or persistence snapshot, which will fill in the full agent configuration. The node agent's {@link org.cougaar.core.node.AgentLoader} then instructs the AgentManager to load the other agents that should run on the node.

Many of the components in this package are not required by the bootstrap but are used in the standard agent XML/XSL template ($CIP/configs/common/SimpleAgent.xsl) to load basic services. For example, the {@link org.cougaar.core.agent.MessageSwitch} component is used to provide a common message transport service interface for components within the agent.

Also note that many of the components and services in this package act as "glue" to coordinate agent bootstrapping and mobility. For example, the {@link org.cougaar.core.agent.MessageSwitch} component is loaded early to allow other agent components to register {@link org.cougaar.core.agent.service.MessageSwitchService} handlers, such as the blackboard's {@link org.cougaar.core.agent.QueueHandler}. However, message delivery must wait until all components have loaded and had a chance to register their handlers, otherwise these early messages will be dropped. The MessageSwitch advertises a "glue" {@link org.cougaar.core.agent.MessageSwitchUnpendService} with an "unpendMessages()" method that will release the queued messages. A trivial {@link org.cougaar.core.agent.MessageSwitchUnpend} component is loaded late in the agent, after all the other components have been loaded, just to invoke the "unpendMessages()" method at the right time.

For more detail, see the Cougaar Developers' Guide.

Java Source File NameTypeComment
AcquireIdentity.javaClass This component acquires the agent's security identity from the optional AgentIdentityService and transfers the identity when the agent moves.
Agent.javaClass The abstract agent base class, which is subclassed by AgentImpl .

This is primarily a marker class, since AgentImpl is used for all agent types.

AgentBootstrapService.javaInterface This service allows a component to modify its agent's list of components as it is being loaded, which is part of the agent's bootstrap process.

This is only for use by Bootstrap and FindComponentsEarly , to override the default list of components with a persisted list that specifies the dynamically added/removed components.

This service can only be used during agent "load()", and can only be used to view or modify the list of ComponentDescriptions that have not be loaded yet.

AgentComponentModelService.javaInterface This service allows a component to capture its agent's component model state.
AgentContainer.javaInterface The AgentContainer manages all agents on the node.
AgentImpl.javaClass AgentImpl is the base class for all agents.
AgentManager.javaClass A container for Agents.

Although the AgentManager can hold Components other than Agents, the default BinderFactory will only actually accept Agents and other Binders.

AgentStateModelService.javaInterface This service allows a component within the agent to transition the agent's state (suspend/resume/stop/unload).
AlarmComponent.javaClass This component adds the agent's AlarmService , based upon the node-level RealTimeService and NaturalTimeService .
BeginLogger.javaClass This component is loaded early in the agent, to announce the agent Loading/Starting/etc state transitions.
Bootstrap.javaClass This component is the first component added to an agent, and is used to bootstrap the agent with the minimal initial components.
ClusterContext.javaInterface Interface to the ClusterContextTable ThreadLocal that allows static deserialization clients to find the thread's agent address.
ClusterContextTable.javaClass Table of agent addresses on this VM, allowing static deserialization threads to find their agent's address.
ClusterMessage.javaClass The base class for blackboard messages, which pass through the agent's QueueHandler before entering the blackboard.
DemoControl.javaClass This component adds the agent's DemoControlService .

This implementation uses the MessageSwitchService to send the society time-advance requests to other nodes.

DemoControlMessage.javaClass A message sent by the DemoControl component to set the execution time on a single node, or to acknowledge another node's DemoControlMessage.
EndLogger.javaClass This component is loaded late in the agent, to announce the agent Suspening/Stopping/etc state transitions.
Events.javaClass This component generates EventService events to announce the agent's load/start/stop/etc and move.
FindComponentsEarly.javaClass This component registers with persistence as the component model tracker and finds the agent's component descriptions in the rehydrated persistence snapshot.
FindComponentsLate.javaClass This component uses the FindComponentsLoadService to tell the FindComponentsEarly component to read the persistence snapshot.
FindComponentsLoadService.javaInterface This service is used by the agent's component model rehydration to signal rehydration from a persistence snapshot, which must occur after the agent identity is acquired.

This service is only available during the agent "load()".

MessageSwitch.javaClass This component registers the agent in the MessageTransportService and forwards all received messages through the MessageSwitchService to the agent-internal message handlers.
MessageSwitchShutdown.javaClass This component invokes the MessageSwitchShutdownService during agent suspend and resume.
MessageSwitchShutdownService.javaInterface This service is used to shutdown the MessageSwitch during agent "suspend()" and restart the message switch during agent "resume()".
MessageSwitchUnpend.javaClass This component invokes the MessageSwitchUnpendService at the end of the agent load.
MessageSwitchUnpendService.javaInterface This service is used to "unpend" buffered messages at the end of agent load.
MobilityNotificationClient.javaInterface Callback API for MobilityNotificationService clients.
MobilityNotificationService.javaInterface This service allows MobilityNotificationClient clients to register for agent mobility callbacks.
NodeControlBlocker.javaClass This component blocks the NodeControlService if the agent's address does not match the node's address.
QueueHandler.javaClass This component buffers blackboard messages while the agent is loading, plus switches threads when receiving messages to avoid blocking the message transport thread.
Reconcile.javaClass This component watches blackboard message traffic and periodically checks the white pages for agent restarts, which require blackboard-to-blackboard state reconciliation.
ReconcileAddressWatcherService.javaInterface This service tracks blackboard message traffic, which is used to poll for agent restarts and force reconciliation in case state was lost.
ReconcileEnabler.javaClass This component uses the ReconcileEnablerService provided by the Reconcile component to enable and disable blackboard reconciliation.
ReconcileEnablerService.javaInterface This service is used to start and stop blackboard reconciliation when the agent is starting/stopping/etc.
RegisterAgent.javaClass This component registers the agent with the node's RegisterAgentService , which is used to track dynamically added and removed agents.
RegisterContext.javaClass This component registers the agent name in the ClusterContextTable , which is required for serialization and deserialization of persistence snapshots and messages.
RehydrateEarly.javaClass This component rehydrates the agent persistence object and acts as a proxy for agent mobility state capture.
RehydrateLate.javaClass This component uses the RehydrateLoadService to tell the RehydrateEarly component to read the persistence snapshot.
RehydrateLoadService.javaInterface This service is used by the agent rehydration components to signal rehydration from a persistence snapshot, which must occur after the agent identity is acquired.

This service is only available during the agent "load()".

SimpleAgent.javaClass
Topology.javaClass This component binds the agent's "version://" and "node://" information in the white pages, and preserves the incarnation across agent moves.
TopologyService.javaInterface This service is used by the MessageSwitch to obtain the local agent's incarnation number, which is updated every time the agent is rehydrated (but not on moves).
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.