Multiple Hypotheses Situation Assessment

Multiple Hypotheses Situation Assessment
Thanh C. Ly
Maritime Operation Division
DSTO
Rockingham, Australia.
[email protected]
Steward Greenhill, Svetha
Venkatesh
School of computing
Curtin University
Perth, Australia.
Adrian Pearce
Department of Computer Science
and Software Engineering
University of Melbourne
Melbourne, Australia.
[email protected]
[email protected]
[email protected]
demonstration of submarine situation assessment. It
concludes by pointing what improvement is needed to
generate more useful submarine situation assessment.
Abstract - Situation assessment is the process of
interpreting the situation using incomplete information.
Quality situation assessment enables quality and rapid
response by operators. Multiple interpretations arise
from different assumptions given to missing information,
and new information will determine which interpretation
is correct, thus requiring system capable of belief
revision. The Situation Description Language (SDL) was
developed with the capability to form and reason with
multiple hypotheses to support belief revision, and allow
concurrent multiple interpretations of a situation.
Presenting multiple hypotheses could avoid fixating on a
single interpretation where better alternatives exist. SDL
was demonstrated by forming simple situation
assessments in the submarine domain. The issues looked
at are how hypotheses are created, and how to eliminate
hypotheses selectively.
2
2.1
Situation Assessment
An important finding of research into decision-making
is [1].
... experts rarely report considering more than one
option. Instead, their ability to handle decision points
appears to depend on their skill at recognising
situations as typical and familiar. This recognition
suggests feasible goals, sensitises the decision-maker
to important cues, provides an understanding of the
causal dynamics associated with a decision problem,
suggests promising courses of action, and generates
expectancies.
Keywords: situation assessment, non-monotonic
reasoning, expert system, multiple hypotheses
1
Background
Introduction
Situation assessment is the process of interpreting the
situation using incomplete information. In order to make
decisions, people must make assumptions about missing
or inaccurate information. Good decisions depend on
good situation assessments.
As more information or information that is more
accurate arrives, current assumptions may turn out to be
incorrect. The big problem in logical systems is retracting
conclusions based on these false assumptions, and
drawing subsequent conclusions. This problem is referred
to as belief revision. The focus of this paper is the
facilities provided by Situation Description Language
(SDL) to form multiple hypotheses to partially solve this
problem, and its application in submarine situation
assessment. It will highlight the potential benefits and
present concurrent interpretations of a situation.
The paper starts by describing research highlighting the
importance of situation assessment in decision-making,
the use of multiple hypotheses by others, and gives a brief
description of SDL. This is followed by a detailed
description of SDL multiple hypotheses facilities, and a
972
The above statement suggests that if an expert could
perceive the situation clearly, the task of knowing what to
do becomes straightforward. The process of forming a
perceived situation is called situation assessment (SA).
This expertise is what Klein et al [1] refer to as tacit
knowledge.
To form true situation assessment, a complete, highlevel interpretation is required. There is a substantial
“information gap” between information that is available
(inputs to SA) and information that is required (outputs
from SA). Most sensors only provide a limited amount of
information, and errors exist in the information they
provide due to the nature of the sensors and variable
environmental conditions. For instance, a passive sonar
sensor only indicates the possibility that something is
there. Information regarding what it is, where it is and
what it is doing are all assumed. In addition, a detected
object can be lost and regained. One can treat the new
contact as a new vessel previously undetected, or as a
vessel that was previously detected. These uncertainties in
information give rise to many possible interpretations.
Human limitations prevent us from considering many
possible interpretations in parallel [2].
Cognitive work has consistently found that people
prefer to stick with the current interpretation, and favour
generating explanations for why new information does not
fit the current hypothesis instead of switching to an
alternative hypothesis [3]. They will switch when
sufficient contradictory evidence exists. A possible
explanation is that unless these alternatives are assessed
they cannot be compared to the current interpretation.
Therefore, the existence of better interpretations is not
obvious.
An important overview of the military situation
assessment problem is given by Ben-Bassat and Freedy
[4]. A survey of other works on situation assessment and
techniques for encoding the process is found in [5].
2.2
Multiple hypotheses
Maintaining multiple hypotheses offer a way of doing
belief revision, and to be able to present the user with
alternate interpretations of the situation. When
conclusions are based on invalid assumptions, or
conclusions prove incorrect, it is necessary to revise the
belief set to resolve the contradictory information. The
truth maintenance system by Doyle [6] is a domain
independent system designed to handle belief revision.
The system tracks the dependencies of every conclusion.
When a dependency of a conclusion becomes false, that
conclusion and the conclusions based on it are removed.
This work has led to the development of many other
reasoning systems that handle belief revision. These
techniques return a single answer to existing data.
Multiple hypotheses partially solve the belief revision
problem as conclusions based on particular assumptions
are contained within a hypothesis. When one of these
assumptions is eventually made false, the hypothesis can
be removed along with its conclusions.
Situation assessment with high uncertainty, true or false
is not determined by a single piece of data. An automatic
system providing a single “right” answer is far in the
future. By having different interpretations running in
parallel allows for a comparison of fitness of the various
possible interpretations. Users viewing the various
interpretations will allow them to apply their expert
judgement of which interpretation is more likely.
Research indicates that viewing multiple hypothesis helps
people avoid fixating on the wrong interpretation [7].
Multiple hypotheses have been used for situation
assessment before. Part of the situation assessment is
track association. Multiple hypotheses tracking [8] is a
low level tracking algorithm that hypothesize different
possible associations of track segments to targets. A rank
is given to each of those hypotheses. Similar principles
are applied when dealing with higher-level information
fusion [9].
The obvious limitation is the number of hypotheses
generated. Large number of hypothesis will consume too
much computing resources. In terms of situation
assessment, the number of hypotheses should be
manageable, as too many hypotheses will only confuse
the viewer.
973
2.3
Situation description language (SDL)
SDL is a domain independent integrated knowledge
representation and reasoning system. Its capabilities
include:
1. Object-oriented data modelling with support for
type-bound procedures and single-inheritance. This
structure leads to simpler design, and allows type
mismatch to be detected prior to execution.
2. A forward-chaining inference system with RETEbased pattern matcher.
3. A procedural programming system to allow complex
sequence of actions to be called in multiple places.
4. Representations for time (see paragraph for more
information) and space.
5. Representations for uncertainty using confidence.
6. Allow creation and manipulation of Java objects as
part of its language.
The SDL system handles time in two ways. Precise
times may be represented using REAL/INTEGER values.
Imprecise or qualitative temporal knowledge may be
represented using abstract points in time. A temporal
constraint is a relationship between points in time.
The SDL temporal representation corresponds to a
simple temporal problem (STP) [10]. In this
representation, a set of variables X1…Xn represents points
in time. A constraint is an edge Eij labelled by an interval
[aij, bij], which represents the constraint:
aij <= Xj - Xi <= bij
Temporal information is queried using the Allen
relationship operator [11].
Forward chaining rules are written as IF statements. An
IF statement consists of a number of patterns connected
by logical operators, follow by set of action statements.
Pattern = TypeIdent [ Ident ] "{" { PatternBinding | ":"
Expr } "}" .
A Pattern is composed of a type identifier, a possibly
empty set of bindings, and an optional variable identifier.
The pattern is satisfied when an object of the indicated
type matches the bindings. If a variable identifier is given,
this is bound to the object that matches the pattern. Each
PatternBinding specifies an attribute and the required
value for that attribute. If the value is an expression, the
attribute must match this value. If the value is a pattern
variable, the attribute must match the value of the
variable. A set of conditions is only satisfied if a set of
bindings exists that satisfies each individual pattern. If
one or more optional Boolean expressions are given, the
match only succeeds if the expressions all evaluate true.
Within a pattern binding, identifiers enclosed within
single brackets (e.g. classification <class>) denote pattern
variables, which are bound to the value of the given
attribute. Identifiers enclosed within double brackets (eg.
<<etype>>) denote pattern variables, which are bound to
the value of an element of an attribute with collection type
(i.e. set, sequence, or potential). An example of a pattern
is below.
ENTITY e {classification <class> status <stat>
:stat = CREATED
: class = NAVALKB.UNKNOWN}
To help interpret the pattern above and rules to come,
user-defined types are in italic capital, variables are in
bold, SDL keywords are in plain capital, and record’s
attributes are in plain lower case.
The type identifier is ENTITY, the optional variable
identifier is e. The variable class and stat are variables
bind to attributes of this record, and must satisfy the two
Boolean expressions.
For more detailed information about the language, see
[12] [13].
3
3.1
SDL multiple hypotheses
Creation and removal
Hypotheses are a way of managing alternative “possible
worlds”. A HYPOTHESIS is a set of objects that is held
to be speculative, in the sense that they may or may not
exist. Hypothetical objects must be explicitly tagged
HYPOTHETICAL within their type declaration, as shown
in the example below.
The example shows a record for storing an estimated
speed of an entity.
ESTIMATE = HYPOTHETICAL INSTANT RECORD
entity : ENTITY;
min : REAL;
max : REAL;
END;
SPEEDEST = HYPOTHETICAL INSTANT
RECORD (ESTIMATE)
END;
It is derived from a more general class ESTIMATE. All
HYPOTHETICAL records have the attribute “hypothesis”
to record the hypothesis it belongs.
Every hypothetical object exists within at least one
hypothesis. A hypothetical object may only be referred to
by other objects within the same hypothesis. Thus, any
object that refers to a hypothetical object must be
hypothetical. Hypothetical objects may refer to nonhypothetical objects. A hypothesis has a special
interpretation to the rule system. When a pattern within a
condition matches a hypothetical object, a “hypothetical
context” is established. Further conditions only match
hypothetical objects within the same hypothesis. In effect,
every hypothetical pattern has an implied hypothesis H
974
pattern binding; so all patterns must have the same value
for their “hypothesis” attribute.
A new hypothesis is created using the HYPOTHESIS
statement.
"HYPOTHESIS" Ident [ "FROM" Expr ] StatementList
"END".
A HYPOTHESIS statement creates a new hypothesis.
By default, this is an empty hypothesis containing no
hypothetical objects. If a hypothesis is specified using the
FROM clause, the new hypothesis contains identical
copies of all objects in the specified hypothesis. A
statement sequence is executed in the new hypothesis.
Within the statement, the MAP function can be used to
refer to the objects in the new hypothesis that correspond
to objects in the source hypothesis. Removal of a
hypothesis automatically removes the associated
HYPOTHETICAL objects.
The primary issue with branching hypotheses is rapid
growth in the number of hypotheses, quickly consuming
available resources. SDL leaves the decision when to
create and remove a hypothesis to the developer. Section
3 will describe the policy adopted for a submarine domain
example.
3.2
Temporal knowledge
The need to handle hypotheses introduces some
complexity into the SDL temporal model. Each
hypothesis corresponds to a possible world in which a set
of hypothetical objects exists. The temporal model
includes one STP that expresses constraints between all
non-hypothetical points in time. This is called the root
partition and includes the variables X(0)i and edges E(0)ij.
In addition, each hypothesis introduces its own variables
X(k)i and edges E(k)ij. For each hypothesis k, there is a
corresponding STP defined by variables X(0) U X(k) and
edges E(0) U E(k). If there are m hypotheses, there are
m+1 STPs.
In the current implementation, SDL checks for
consistency of its temporal knowledge base whenever
temporal assertions are added. Additions of assertions
within hypotheses therefore require the solution of one
STP. Addition of non-hypothetical assertions requires the
solution of m STPs.
Possible future optimisations are:
1. Defer the checking of consistency on addition of
edges. This reduces the ability to localise
inconsistencies (ie. to determine which statement
caused an inconsistency) in favour of better
performance.
2. Compute solutions incrementally. If a solution
already exists it is possible to compute an amended
solution in less time than it takes to recompute a full
solution.
3.3
Display
SDL incorporates a general purpose spatial, temporal
and information display designed for multiple hypotheses.
Information for different hypothesis can be viewed
separately, have all hypotheses overlayed on top of each
other, or be limited to non-hypothetical information. An
example of this display is shown in Figure 1. A pull down
menu allows the user to select the view. The example
shows the selected hypothesis with two entities.
Figure 1. Sample main view showing spatial display (top
left), temporal display (top right) and object display
(bottom).
4
4.1
Multiple hypothesis:
situation assessment
submarine
Classification based hypothesis
Classification of a contact is one of two triggers for
creating new hypotheses in this example. A contact is a
perceived entity derived from sensory information. To
deduce the threat and intent of the entity requires knowing
the identity of the contact. The accuracy of that
information will grow and change as new information
arrives. Assessment based on an assumed classification,
will require retraction when the classification is proven
incorrect. Many assessments are based on an assumed
classification of the contact.
Each hypothesis contains a set of entities. Each entity
can be associated with at most one contact. Each valid
hypothesis must have at least one entity associated with
each contact. Entities are created when new contacts are
detected. Unlike a contact, which has a set of potential
classification, an entity only has one definite
classification.
975
When a new contact is detected, a new entity of
unknown classification is created in each hypothesis
without an entity associated to it. Hypotheses containing
these entities are split when the associated contact
dominant classification changes. In the split, one
hypothesis continues as before as an unknown entity. In
the other hypothesis, the entity is given the dominant
classification of the associated contact. If the dominant
classification of the contact changes again, the hypothesis
where the contact is associated to an unknown entity is
split again. A split can only occur once per possible
contact classification. That is, if a contact dominant
classification becomes submarine, then fishing boat and
back to submarine, the split will not occur the second time
submarine became the dominant classification. This
avoids the problem of creating and eliminating hypotheses
frequently when the contact dominant classification
oscillates between multiple classifications.
Obsolete hypotheses created from changes to a contact
dominant classification are deleted when the contact is
permanently lost. A contact is lost when it is no longer
detected by any sensor. At this point, no new information
can arrive about the contact to cause another splitting of
hypothesis, or reverting to a previous dominant
classification. A hypothesis is obsolete if the entity
associated with that contact has a different classification
to the final dominant classification of the contact. This
process is clarified by Figure 2. It shows a new contact
triggering the creation of a new entity in one hypothesis.
When the contact dominant classification changed to
submarine, the hypothesis was split. One hypothesis
continues with the entity as unknown, and in the other
hypothesis that same entity takes on a classification as a
submarine. The split happens again when the dominant
classification changed to fishing boat. When the contact
became lost, only the hypothesis where the entity is
treated as a fishing boat (the dominant classification)
remain. The others were eliminated because the entity
classification is not the dominant classification of the
contact.
The rules implementing this strategy are shown below:
RULE SplitUnknown
IF ENTITY e {classification <class>
status <stat> curContact <trk>
:stat = CREATED
: class = NavalKB.UNKNOWN} &
SELF.CONTACT trk { type <<etype>>
:etype IN LIKELY(trk.type)
:NOT(NAVALKB.UNKNOWN
IN LIKELY(trk.type))
: NOT( etype IN e.morphTo )}
THEN
classificationSplit( e, etype);
e.morphTo := e.morphTo + {etype};
END SplitUnknown;
RULE KillInvalidClassEntity
IF SELF.CONTACT trk { status <stat>
: (stat = SELF.CEASE) OR (stat = SELF.LOST)} &
ENTITY e {hypothesis <H> classification <class>
curContact <trk> originalContact <trk>
classification <class>
:NOT (class IN LIKELY (trk.type) )} &
MYHYPOTHESIS myh {h <H>}
THEN
UPDATE
DELETE H;
DELETE myh;
END;
END KillInvalidClassEntity;
Contact lost
Dominate possible
Class = Fishing boat
Dominate possible
Class = Submarine
New Contact
Dominate class
= Unknown
Events
Under the current scheme, the final dominant
classification is assumed correct. That is not necessarily
the case. A more complex scheme needs to be developed
to resolve this limitation efficiently.
(eliminated)
un
n
ow
kn
Un
k
w
no
n
Fis
hin
gb
oat
Unknown
Table 1. Association based hypothesis
Contact
New
contacts
C1 and
C2
detected.
Entity and hypothesis
Initial hypothesis
New
Entity
E1
associated with C1.
New
Entity
E2
associated with C2.
Both C1
and C2
were
lost.
Initial hypothesis
Entity E1 and
become free.
New
contact
C3
detected.
Initial hypothesis
New
Entity
E3
associated with C3.
E1 and E2 stay free.
E2
(continue)
Sub
ma
rine
(eliminated)
Description.
The existence of
two new contacts
triggers the belief
of the existence of
two new entities
associated
with
those contacts.
Two
contacts
becoming
lost
result
in
their
associated entities
becoming
free
entities.
The existence of a
new
contact
triggers
three
possible
interpretations.
Hypothesis(C3 is E1)
Associate E1 with C3.
E2 stays free.
Figure 2. Show creation of hypotheses from changes in
classification.
4.2
An entity has four possible states. An entity starts with
the status created, and is associated with the contact the
entity was first picked up on. An entity status becomes
free once the associated contact is lost. The entity is
given the status regained when, as a free entity the
associated contact was lost for a short period, but
reacquired. The free entity can also be re-associated with
a new contact, in which case its status becomes reassociated.
A new contact can be associated with any free entities
within a hypothesis. Instead of trying to pick the right
association, each possible re-association forms a new
hypothesis. In addition, there will be a hypothesis where
the new contact is not associated with any previous
entities. New information arriving about the contact
determines the validity of the hypotheses.
Association based hypothesis
Re-association is another trigger for new hypotheses. A
submarine will lose a contact when none of its sensors
detects the vessel. That vessel has not disappeared. It can
reappear later as a new contact on one of the sensors. The
decision to associate the new contact with an old contact
depends on whether the vessel involved is believed to be
the same vessel. Correct re-association results in a clearer
picture of the situation by using the historical information
of the lost contact. If the association is incorrect, any
conclusions made will be wrong. The confusion is
compounded when the vessel, which should have been reassociated, re-appears as a new contact. The commander
will have to treat the new contact as a new vessel.
Alternatively, re-associate the new contact with another
previously lost contact in error.
976
Hypothesis(C3 is E2)
Associate E2 with C3.
E1 stays free.
Table 1 shows the case with two free entities, and how
they trigger the creation of two new hypotheses. The
chosen association will determine how one views the
situation. Figure 3 shows the case where a new contact is
associated with the lost submarine, while Figure 4 shows
the case where the new contact was associated with the
lost warship.
4.4
Removal of hypothesis
New information arriving about a contact will conflict
with the associated hypothesized entities. The
inconsistency could be due to uncertainties of the domain,
or an incorrect hypothesis. It is difficult to know which is
the case. Some are minor, and these triggers what are
called EXPLAINAWAY assessment records. Each one
holds the explanation on why a particular piece of new
information does not fit the hypothesis. Other
inconsistencies state a hypothesis is not valid and can be
removed. Three consistency constraints included so far
are:
Type
mismatch:
Mismatch
between
entity
classification and the dominant classification of reassociated contact. For instance, where a new contact was
re-associated with a submarine entity, but the contact
dominant classification was changed to a warship. The
actual rule that carry this out is shown below:
Figure 3. View when associating new contact with lost
submarine.
RULE KillBadAssociation
IF ENTITY e {hypothesis <H> classification <class>
curContact <trk> status REASSOCIATED} &
SELF.CONTACT trk {type <<etype>>
:NOT (NAVALKB.UNKNOWN IN
LIKELY(trk.type))
:NOT (class IN LIKELY(trk.type))} &
MYHYPOTHESIS myh {h <H>}
THEN
UPDATE
DELETE myh;
DELETE H;
END;
END KillBadAssociation
Spatial improbability: An entity cannot reach its new
position from last known position in available time. That
is, given entity e was at p at t1 and at q at t2, the
constraint is violated when:
distanceBetween(q,p)/(t2-t1) > e.maxspeed
Figure 4. View when associating new contact with lost
warship.
4.3
External information
Information about an entity can come from external
sources, like mission briefing, intelligence reports, or
from friendly ships within the region. Such information
on the opponent force disposition is encoded as free
entities. They are treated the same way as free entities
associated with a lost contact, as both share the same
characteristics. When a new contact is detected, it can be
associated with these free entities in the same way as
those created from onboard sensors. The validity of these
re-associations is again judged by the new information
collected about the contact
977
The position p and q were represented as a SDL spatial
line segment. The line represents possible spatial positions
of the entity, because sensory error instills error into the
deduced range. Thus, the distance between p and q is
calculated using the SDL spatial facility to return the
minimum distance between the two line segments.
Multiple submarines: Two or more entities cannot
exist in one hypothesis. The risk of friendly fire and
collision is very high if two submarines are deployed in
close proximity. So, the likelihood of detecting two
submarines is highly unlikely.
5
Future works
There are two directions for future works to enhance the
submarine situation assessment. The first is experimenting
with more sophisticated ways of handling multiple
hypotheses. At present, mechanisms exist to generate
explanations as to why certain new data do not fit a
hypothesis. A mechanism to weight these negative
evidences and summing their weight would offer a better
way of ranking hypotheses and selecting the hypotheses
to remove. Some of the spatial techniques used in multiple
hypothesis tracking could be useful [8]. The problem is
the same as submarine association problem described, but
it uses only spatial information for ranking different
possible associations.
Another way of handling multiple hypotheses is to
allow an operator to decide what alternate hypothesis to
pursue. This taps into that operator expertise of what are
likely alternate interpretations. The operator can look at
negative evidences to decide when a hypothesis becomes
implausible, and can be dropped. The tool would allow
the operator to see the result of the alternate chain of
thought, without distracting too much the operator own
chain of thought. The number of hypotheses is maintained
at a finite number the operator is interesting in or can
monitor.
The second focus is to enrich the situation assessment
made within a hypothesis. The current assessments are
limited in nature, and came from informal discussion with
subject experts. The aim is to do a formal analysis of
threat assessment as performed by subject experts, and to
attempt to assist that process by generating situation
assessment using SDL.
6
Conclusions
Situation assessment is a process of interpreting the
situation from incomplete information. Using multiple
hypotheses is a way of forming multiple interpretations of
the situation and to be able to favor one interpretation
over another as new information arrives. A description of
SDL multiple hypotheses facilities were described and an
example of its application in submarine situation
assessment was given. The focus was on:
1.
How hypotheses were generated by changes to
classification of a perceived entity, and association of
new contact with lost entities.
2. How to contain possible hypotheses by removing less
likely hypotheses.
This paper had shown it is feasible to hypothesize
multiple situation assessments using the SDL. The SDL is
capable of generating multiple interpretations by making
different assumptions to missing or uncertain information.
The mechanisms within the SDL can cull hypothesis
whose assumptions later proved faulty or becomes less
likely.
The method presented for culling hypothesis is cruel
and abrupt. Alternate methods suggested offer avenues for
improvement.
978
References
[1] G. A. Klein, R. Calderwood, and D. MacGregor,
Critical decision method for eliciting knowledge, IEEE
Transactions on Systems, Man & Cybernetics, vol. 19, pp.
462-72, 1989.
[2] W. W. Zachary, Decision Support Systems :
Designing to Extend the Cognitive Limits, Handbook of
Human-Computer Interaction, M. Helander, Ed.: Elsevier
Science, 1988, pp. 997-1030.
[3] M. J. Liebhaber and C. A. P. Smith, Naval Air
Defense Threat Assessment: Cognitive Factors and
Model, 2000 Command and Control Research and
Technology Symposium, Naval Postgraduate School,
Monterey, CA, 2000.
[4] M. Ben-Bassat and A. Freedy, Knowledge
Requirements and Management in Expert Decision
Support Systems for (Military) Situation Assessment,
IEEE Transactions on Systems, Man and Cybernetics, vol.
12, pp. 479-490.
[5] S. Greenhill, S. Venkatesh, A. Pearce, and T. C. Ly,
Representions and Processes in Decision Modelling,
DSTO Aeronautical and Maritime Research Laboratory,
Victoria, Australia DSTO-GD-0318, 2002.
[6] J. Doyle, A truth maintenance system, Artificial
Intelligence, vol. 12, pp. 231-272, 1979.
[7] E. R. Hirt and K. D. Markman, Multiple
explanation: A consider-an-alternative strategy for
debiasing judgments, Journal of Personality & Social
Psychology, vol. 69, pp. 1069-1086.
[8] D. B. Reid, An Algorithm for Tracking Multiple
Targets, IEEE Trans on Automatic Control, vol. AC-24,
pp. 843-854, 1979.
[9] E. K. Jones, N. Denis, and D. Hunter, Hypothesis
management for information fusion, Information Fusion,
2002. Proceedings of the Fifth International Conference
on, 2002.
[10] R. Dechter, I. Meiri, and J. Pearl, Temporal
constraint networks, Artificial Intelligence, vol. 49, pp.
61-95, 1991.
[11] J. F. Allen, Maintaining knowledge about temporal
intervals, Communications of the ACM, vol. 26, pp. 832843, 1983.
[12] S. Greenhill, S. Venkatesh, A. Pearce, and T. C. Ly,
Situation Description Language, DSTO Systems Sciences
Laboratory, South Australia, Australia, General Document
DSTO-GD-0332, August, 2002 2002.
[13] S. Greenhill, S. Venkatesh, A. Pearce, and T. C. Ly,
Situation Description Language Implementation, DSTO
Systems Sciences Laboratory, South Australia, Australia,
General Document DSTO-GD-0342, December, 2002
2002.