org.cougaar.core.node |
This package contains the Cougaar
JVM node and node-level services.
The {@link org.cougaar.core.node.Node} contains the top-level
public static void main(String[] args) {..}
that is typically loaded by the {@link
org.cougaar.bootstrap.Bootstrapper}.
The node creates the root {@link
org.cougaar.core.component.ServiceBroker} and {@link
org.cougaar.core.agent.AgentContainer}. Additional details can
be found in the
agent package javadoc.
This package also contains the {@link
org.cougaar.core.node.ComponentInitializerService} provider
components:
-
The standard XML-based configuration reader, which supports
XSL templates ({@link
org.cougaar.core.node.XMLComponentInitializerServiceComponent}).
-
The deprecated INI-based configuration reader ({@link
org.cougaar.core.node.FileComponentInitializerServiceComponent}).
-
The deprecated database configuration reader ({@link
org.cougaar.core.node.DBComponentInitializerServiceComponent}).
Another notable component is the {@link
org.cougaar.core.node.AgentLoader}, which loads the node's
child agents.
For more detail, see the
Cougaar Developers' Guide.
|
Java Source File Name | Type | Comment |
AddServiceComponent.java | Class | This component can be used to import an external service into the node agent.
For example, the
NodeApplet uses this component to advertise the
org.cougaar.core.service.AppletService .
Two parameters are required:
1) The Service class or classname.
2) The Service class, classname, or instance, or the
ServiceProvider class, classname, or instance.
A third parameter is optional:
3) "true" to use the root ServiceBroker, defaults to false.
Reflection is used wrap the 2nd parameter as the correct API, even if it
doesn't implement the correct interface. |
AgentLoader.java | Class | This component loads the initial set of agents into the node and
persists the names of dynamically added/removed agents. |
ComponentInitializerService.java | Interface | This service provides access to the initial component model
ComponentDescription list, specifying which components
to load into the agents. |
ComponentMessage.java | Class | |
ConfigurationServiceComponent.java | Class | This component advertises the
ConfigurationService ,
wrapping the
ConfigFinder . |
ConfiguratorBase.java | Class | This component is a base class for
ComponentInitializerService override implementations. |
DBComponentInitializerServiceComponent.java | Class | This component advertises the
DBInitializerService and
CSMART-database
ComponentInitializerService . |
DBComponentInitializerServiceProvider.java | Class | ServiceProvider for a
ComponentInitializerService backed by the
DBInitializerService . |
DBInitializerService.java | Interface | This service provides access to database configuration data. |
DBInitializerServiceImpl.java | Class | Implementation of
DBInitializerService . |
DefaultAgentIdentityComponent.java | Class | This component advertises a dummy implementation of the
AgentIdentityService , if not already advertised. |
DummyMessageSecurityManager.java | Class | A trivial
MessageSecurityManager .
This implementation looks like a
MessageSecurityManager ,
but doesn't actually add any real security at all. |
FileComponentInitializerServiceComponent.java | Class | This component advertises the INI-based
ComponentInitializerService . |
FileComponentInitializerServiceProvider.java | Class | ServiceProvider for the
FileComponentInitializerServiceComponent that uses the
INIParser . |
GetServiceCallback.java | Interface | A callback for
GetServiceComponent . |
GetServiceComponent.java | Class | This component can be used to export an internal service out to an
external framework.
For example, the
NodeApplet uses this component to get the
NodeControlService .
Two parameters are required:
1) The Service class or classname, which can be
ServiceBroker .
2) The
GetServiceCallback listener, which can be
specified as a class, classname, or instance.
A third parameter is optional:
3) The service requestor, or "this" for this component, which
defaults to "this".
A fourth parameter is optional:
4) Use a late-binding service listener if the service is not
available at load time, defaults to "true".
Reflection is used to wrap the callback as the GetServiceCallback API, even
if it doesn't implement that API. |
Heartbeat.java | Class | A low-priority "heartbeat" function that prints a period
every few seconds when nothing else is happening. |
HeartbeatComponent.java | Class | This component loads the
Heartbeat class. |
Incarnation.java | Class | This component provides the
IncarnationService that
monitors agent incarnation (version) numbers in the
WhitePagesService and notifies clients of any changes. |
INIParser.java | Class | Parse an INI stream into an ComponentDescription[] . |
KeyRing.java | Class | A container for security keystore information and functionality. |
LoggingServiceComponent.java | Class | This component advertises the
LoggingService to all agents. |
NaturalTimeComponent.java | Class | This component advertises the
NaturalTimeService , which
is wrapped by each agent's
org.cougaar.core.service.AlarmService .
This component is typically loaded into the node-agent, allowing
the Timer to be shared by all agents. |
Node.java | Class | This component is the root component of the
Cougaar Agent Architecture,
containing the
Node.main method. |
NodeAgent.java | Class | |
NodeApplet.java | Class | This component loads a Cougaar
Node as a browser
Applet .
The server requires an HTML file to load this applet, e.g.:
<html><body><applet
code=org.cougaar.core.node.NodeApplet.class
archive="lib/bootstrap.jar,lib/util.jar,lib/core.jar,lib/your_code.jar,sys/log4j.jar"
width=400 height=400>
<param name="properties" value="
-Dorg.cougaar.node.name=MyNode
-Dorg.cougaar.society.file=MyNode.xml
"/>
Unable to load Applet.
</applet></body></html>
In addition to the above jars, the server directory will also require your
agent XML file (e.g. |
NodeBusyComponent.java | Class | This component advertises the
NodeBusyService to all
agents. |
NodeBusyService.java | Interface | This service is used by agents to note when they are busy in
an action that may block communication, such as persistence. |
NodeControlService.java | Interface | This service s provided by the
Node to node-agent
components for access to the node-wide root
ServiceBroker and
AgentContainer .
Access is restricted to node-agent components. |
NodeIdentificationService.java | Interface | This service provides the local node's
MessageAddress . |
NodeIdentificationServiceProvider.java | Class | ServiceProvider for the
NodeIdentificationService . |
NodeMessage.java | Class | |
NodeMetrics.java | Class | This component advertises the
NodeMetricsService . |
NodeMetricsServiceProvider.java | Class | ServiceProvider for the
NodeMetricsService . |
QuiescenceReportComponent.java | Class | This component advertises the
QuiescenceReportService to
all agents. |
QuiescenceReportServiceProvider.java | Class | ServiceProvider for the
QuiescenceReportService .
The QRS collects quiescence information from the Agent Distributors
and other QRS clients in the Node. |
QuiescenceState.java | Class | |
QuiescenceStateServlet.java | Class | This component is a
javax.servlet.Servlet that displays
the agents registered with the node's
AgentQuiescenceStateService , and allow an agent to be marked as
"dead" (for use when the agent has been restarted elsewhere and
the original instance should be ignored). |
RealTimeComponent.java | Class | This component advertises the
RealTimeService , which
is wrapped by each agent's
org.cougaar.core.service.AlarmService .
This component is typically loaded into the node-agent, allowing
the Timer to be shared by all agents. |
RegisterAgentService.java | Interface | This service is used by agents to register themselves with the
nodes dynamic agent add/remove tracker.
The node persists the names of live agents and rehydrate only
those agents. |
SecureMessage.java | Interface | A marker interface for securing the contents of a message using
cryptography.
Note that there is no additional public api for getting at the contents of
the object. |
SetProperties.java | Class | This component simply copies its parameters into Java's System Properties.
Note that only "-D" system properties are supported. |
SetPropertiesComponent.java | Class | This component can be used to set
SystemProperties values
and initialize the properties map. |
SignedMessageSecurityManager.java | Class | A useful
MessageSecurityManager which signs each message,
but depends on the destination to recover the public key of the
sender. |
StateDumpService.java | Interface | |
StateDumpServiceComponent.java | Class | |
SuicideServiceComponent.java | Class | This component advertises the
SuicideService . |
TimeServiceBase.java | Class | A base class for timer service implementations. |
XMLComponentInitializerServiceComponent.java | Class | This component advertises the XML-based
ComponentInitializerService . |
XMLComponentInitializerServiceProvider.java | Class | ServiceProvider for the XML-based
ComponentInitializerService that uses the
XSLTransformer . |
XMLConfigHandler.java | Class | SAX
org.xml.sax.ContentHandler that handles the society
config parsing. |
XMLConfigParser.java | Class | Utility class used by the
XMLComponentInitializerServiceComponent to parse the agent
configurations. |
XSLTransformer.java | Class | Generic XSL transformer that supports two-stage XSL transforms.
If neither the "default" or "dynamic" XSL filenames are specified,
and the "use_xsl_stylesheet" is disabled or the XML file lacks a
top-level "<?xml-stylesheet ..?>" instruction, then
no transform is done and the XML file is simply parsed to the
ContentHandler. |