DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• For tasks, the UID of the direct object also<br />
encoded as a symbol.<br />
• For allocations, the allocation results observed.<br />
A design objective of Castellan was to reduce the amount<br />
of b<strong>and</strong>width consumed by the event traces while<br />
retaining key data <strong>and</strong> minimizing CPU consumption.<br />
This was accomplished through a variety of approaches,<br />
including:<br />
• Compression of UID <strong>and</strong> other symbols using a<br />
space efficient symbol id based protocol.<br />
• Detecting <strong>and</strong> transmitting only changes in the<br />
allocation results for each task.<br />
• Batching mechanisms, e.g. serializing batches of<br />
messages rather than individual messages.<br />
The generated stream of events can be delivered to the<br />
Castellan server implement during planning. The message<br />
transport between the client implementation <strong>and</strong> the<br />
server implementation can be varied depending on the<br />
application. Currently, a buffered relay is used to transmit<br />
events through batches of serialized events. (A relay is an<br />
point-to-point communications mechanism between<br />
Cougaar agents.) This form of “in-b<strong>and</strong>” communications<br />
shares the communications channel with other Cougaar<br />
message traffic <strong>and</strong> hence is more suitable for distributed<br />
control applications in which agents need to be aware of<br />
the detailed planning status of other agents within the<br />
society. Alternative message transport implementations<br />
(e.g. using a separate communications backplane) can<br />
provide non-intrusive analysis for debugging <strong>and</strong> testing.<br />
The scalability of Castellan as a real-time monitoring tool<br />
is limited primary by the following factors:<br />
• B<strong>and</strong>width of the links between the monitoring<br />
agents. For example, a 160,000 element event<br />
trace from a 30 agent, 60 min. long planning run<br />
in total takes approximately a total of 8 MB of<br />
b<strong>and</strong>width. This is not significant for a LAN test<br />
environment but may be an issue for real world<br />
operating environments.<br />
• The impact on CPU consumption for each agent<br />
being monitored. In a small Cougaar society of<br />
~30 agents, this was measured to impact total<br />
planning time by approximately 5%.<br />
• The processing bottleneck at the server agent.<br />
While receiving the data is not very expensive,<br />
inserting the results at run time into a SQL<br />
database tends to overwhelm most typical<br />
processors.<br />
In large agent societies, we do not expect that all agents<br />
can be monitored by a single server due to the volume of<br />
data generated. Instead, Castellan can be configured to<br />
monitor any subset of agents as desired, e.g. a community<br />
or an enclave. For debugging <strong>and</strong> profiling purposes, the<br />
data can then be merged after the run is complete.<br />
3. Graph Reduction Using Subgraph<br />
Isomorphism<br />
This section describes a significant application of the<br />
Castellan system that enables real-time <strong>and</strong> off-line<br />
analysis of the planning functions of a distributed agent<br />
system. Existing graph “clustering” <strong>and</strong> reduction<br />
approaches have been used in data mining applications to<br />
find meaningful repeated subgraphs within a larger graph.<br />
[1][2]<br />
The plan graphs generated during a single planning run of<br />
a Cougaar agent society can be extremely large. For<br />
example, the event traces generated from a relatively<br />
small test planning society engaged in logistics planning<br />
consisting of more than thirty agents resulted in over one<br />
hundred sixty thous<strong>and</strong> events <strong>and</strong> a very large<br />
corresponding plan graph with thous<strong>and</strong>s of individual<br />
tasks, plan elements <strong>and</strong> assets. In this section, a general<br />
graph reduction algorithm is described that can be used to<br />
reduce the size of the plan graph in a manner tailored to<br />
specific applications.<br />
We define a plan graph P={N,E} as a set of nodes<br />
N={T,A} <strong>and</strong> a set of directed, attributed edges E={L,<br />
X,G}. Here, the nodes N consist of a set of tasks T <strong>and</strong> a<br />
set of assets A. The attributes associated with each task t<br />
∈ T are expressed as a tuple (V,Uid,Agent) <strong>and</strong> can<br />
include other properties depending on the amount of<br />
detail collected within the event trace. The plan graph P<br />
is a directed acyclic graph (DAG) since no cycles can<br />
exist in the current Cougaar task grammar. The output of<br />
the algorithm is a reduced graph R={N’,E’}.<br />
The set of edges E consist of a set of allocations L, a set<br />
of expansions X, <strong>and</strong> a set of aggregations G. Also, the<br />
nature of the Cougaar task grammar dictates a number of<br />
additional constraints on the plan graph. These include:<br />
• Each task node t 1 ∈ T can be connected to either<br />
an asset node s∈S through an allocation edge l<br />
or another task node t 2 through an expansion or<br />
allocation edges e ∈{X, G}.<br />
• Each task node t ∈ T has exactly one edge (<strong>and</strong><br />
hence one parent node) except for those task<br />
nodes which are connected by a set of edges G’<br />
⊂G.<br />
• The set of aggregation edges G is subdivided<br />
into a set of disjoint subsets which have the same<br />
destination node.