Grammatical Methods for Situation and Threat
Analysis
Daniel McMichael and Geoff Jarrad
CSIRO ICT Centre
Locked Bag 2, Glen Osmond, South Australia 5064
Email: {Daniel.McMichael, Geoff.Jarrad}@csiro.au
Goals
Process Refinement 4
Abstract— The needs of Command and Control (C2) dominate
the requirements on data fusion technology. We analyse cognitive
and technical models of data fusion and C2 and propose a
new functional model that unifies and extends the JDL fusion
model and Bryant’s CECA cognitive model (Figure 1). This
model clarifies the requirement for human-controllable coherent
inferencing of situation and course of action, both retrospectively
and predictively. It in turn motivates a common representation
for situations, threats, impacts and courses of action.
We show that the situation tree formalism has the required
representational capacity. We define its semantics, establish its
decidability and soundness and show how it can be applied to
land and air scenarios (the Battle of Alamein and a combat
air patrol). A situation tree can be extracted from a sequenceset combinatory categorial grammar (SSCCG) tree, which can
be estimated from sensor data. A fast agenda-based parsing
algorithm is presented. Results show that even batch parsing is
able to provide optimal situation tree estimation for realistically
sized situations in under thirty seconds. The average tagging
accuracy on test data was 97.79%.
Adapt
Actions
Course of Action 5
Compare
& Explore
Impact Assessment 3
Situation Assessment 2
Critique
&
Explore
Situation Picture 1
Explore
Signal Assessment 0
Manage
Sensing
Battle
Space
I. I NTRODUCTION
When a new algorithmic capability becomes available, it
is unlikely to be taken up unless it is effective, efficient and
the need for it is clear and urgent. Following the proposals
for a new grammar-based approach to situation and threat
analysis [1], this paper describes some experimental results
that indicate its scalability and utility.
A review of functional models of high-level C2 (Section II)
indicates that its critical aspects are the inference, prediction
and analysis of situations, courses of action and impacts. To
provide a unifying framework, we introduce a rich semantic
representation, the situation tree (Section III). This is a
necessary precursor to the creation of optimising algorithms
for high-level C2. The situation tree formalism is shown to
be adequate (Section III-A) and is demonstrated in application
to land and air scenarios (Section IV). The remainder of the
paper (Sections V and VI) describe a syntax based on Sequence Set Combinatory Categorial Grammar (SSCCG), and
presents an efficient algorithm for estimating situation trees.
Preliminary results indicate the effectiveness and scalability of
SSCCG parsing and indicate that sub-second extraction times
for practical scenarios are within reach.
II. M ODELS FOR DATA F USION
AND
C2
Boyd’s influential mid-1950’s study of cognitive models
for air combat proposed that the combat activity of a fighter
Fig. 1. A combined model of the command and control process showing both
user interaction (brown) and situation / plan representations corresponding to
various levels of an extended JDL hierarchy (purple) with JDL level indicated.
Course of Action is included as level 5 within the model. The yellow rectangle
indicates the representations and activities the can be combined within an
Impact Analysis function.
pilot could be represented as a continuous loop involving
the processes of observation, orientation, decision and action.
This Observe-Orient-Decide-Act (OODA) loop (Figure 2) has
been a widely adopted paradigm for understanding manmachine interaction in C2 systems ([2] and [3]).
The OODA model has been criticised because it gives
little insight into its component processes and because it
fails to indicate the essentially goal-orientedness of decisionmaking. Bryant [4] has proposed an alternative model,
Critique-Explore-Compare-Adapt (CECA), which shows key
human activities and a simple representation of estimated
states and processing (Figure 3). We have taken minor
liberties1 in our interpretation of Bryant’s proposals for the
1 We have renamed the following components: Goals for “plans”, Impact
for “mental model”, Situation for “situation model”, Sensing for “information
gathering”. The “filtering” component has been omitted, and the derived
Actions have been included explicitly as a component.
Process Refinement 4
Act
Decide
Orient
Impact Assessment 3
Situation Assessment 2
Object Assessment 1
Signal Assessment 0
Observe
Battle Space
Battle
Space
Fig. 4.
Fig. 2.
Boyd’s Observe-Orient-Decide-Act response model.
Adapt
Actions
Goals
Impact
Compare
Critique
Situation
Sensing
Explore
Battle
Space
The JDL Data Fusion Model.
states requiring processing (purple).
The JDL model defines four derived states: a Signal Assessment (e.g. extracted reports and features), an Object Assessment (i.e. a situation picture), a Situation Assessment (a
representation of force dispositions and groupings), an Impact
Assessment (i.e. a statement of the possible threats and impacts
of the opposing forces). The Process Refinement module is
a representation of the top-down mechanisms for improving
the estimated states. We believe that the revised JDL model
underrepresents the C2 process in three critical ways: (i)
it does not show man-machine interaction, (ii) it does not
represent the goal-directedness of the C2 process, and (iii)
it fails to include the key product: the course of action. These
difficulties can be resolved.
A. A Unified Model for C2
Fig. 3.
Bryant’s Compare-Explore-Critique-Adapt C2 response model.
sake of consistency with later sections. The estimated states
are the Situation and the Impact. The Impact is the predicted
result of the commander’s Course of Action on the situation.
The commander’s activity is guided by his Goals, from which
he develops a set of Actions. He tests these by estimating their
Impact given a picture of the Situation. The commander’s
roles are to Explore the Battle Space, to control the Sensing
activity (data and information gathering), to Critique the
Situation, to Compare the calculated Impact with the Situation,
and to Adapt the Actions to achieve the Goals.
The CECA model provides a functional description of the
interaction of humans with a command system having sensing
and fusion components.
The need for generic models for the functioning of data
fusion technology has been addressed by a variety of authors
( [5], [6], [7], and [8]). The most widely accepted is the
Joint Directors of Laboratories (JDL) Fusion Model [5], which
has been the de facto standard model for 20 years. It
has been reworked twice by successively augmented sets of
authors ( [9] [10]). Figure 4 indicates the current state of
the model, distinguishing between processes (red) and derived
To address the limitations of the JDL, CECA, and OODA
models, we propose a combined man-machine model for data
fusion and C2 (Figure 1). It coherently incorporates both
the analysis levels of the JDL and the human activities of
the CECA model. The model therefore contains the new
state, Course of Action (5) and the new human activity
Manage Sensing. Within it, Impact Assessment is the process
of evaluating the effect of Courses of Action. As in the
JDL model, interactive processing is indicated by the bus
connection between the levels of the model.
C2 may be thought of as a search for courses of action that
satisfy goals. In practical systems, this search is factored by
the creation of intermediate states (Situation Pictures, Situation
Assessments, etc.). Processing efficiencies result – provided a
waterfall model is applied and there is little iterative processing
or feedback. These efficiencies come at the cost of reduced
performance2.
2 Consider an example in which detection thresholds are being set within
the process for extracting Situation Assessments. Under one hypothesis, the
enemy is disposed to have rapid and lethal impact, under another the situation
is benign. It would be wise to set the threshold lower in the former case,
because even if it is not true, its consequences are much greater. If there is no
feedback from the Impact Assessment to Situation Assessment, this valuable
hypothesis could be lost.
Motivated by such considerations, Paradis and Roy have
proposed an integrated fusion architecture [11]. We seek to
progress this approach by providing a mathematically coherent
representation and inference algorithms for joint analysis of
situation and threat using track data. It is a framework
that, if developed, could support impact analysis and CoA
development.
III. S ITUATION T REES
To support the C2 process a modelling framework is required that can represent the evolution of situations and has
the richness to facilitate easily posed calculations of threat and
future impact. For mathematical simplicity, it needs to have
a recursive structure, and ideally, it would be interpretable in
terms of a logical semantic model. For versatility, compactness and estimability, it must be composable. A contending
representation is the situation tree [1].
A situation tree is a mathematical formalism that represents
the semantics of the battle by describing the evolution of force
structures and the actions undertaken by their components
over time. A node in a situation tree (an ST-node) has both
coverage and duration: it represents one or more battlefield
objects (planes, tanks etc.) for a span of time. A situation
tree is a knowledge base, the predicates of which are STnodes. ST-nodes have three types: leaf, action or group. A
leaf represents a force component for a period of time, and
has no children. An action comprises a sequence of stages,
also ST-nodes. At all points in its duration, an action covers
the same set of objects, unless one or more of its objects
are annihilated or are created and allocated to it. A group
comprises members, also ST-nodes. The begin [end] time of
each persisting group member must be the same as the begin
[end] time of the group, except when the member is created
or annihilated during the life of the group.
An ST-node that has as one of its descendents a leaf node
representing an object is said to cover the object. Each object
represented by a situation tree must be covered by at least
one node of the situation tree throughout the intersection of
the object’s life and the duration of the tree.
A ST-node comprises fields including an identifier, a type
(action, group or leaf), an action type, a group type and an
optional set of slots each of which is a link to a child STnode. The level (a small whole number) and role (head,
complement or adjunct) properties connect the situation tree
to its syntactical counterpart, the grammatical situation tree
(Section V). An example ST-node is:
ST-node(ID=14, role=complement,
type=action, action type=A1 ,
group type=b, level=1, slot0 =24,
slot1 =32, begin=11:33:04,
end=13:54:17).
ST-nodes can be split up into simpler predicates and expressed
as a conjunction. Situation tree semantics include functions,
definitions and axioms. The base set of ST-node functions is:
• ST-nodes(situation tree) is the set of ST-nodes
in situation tree
type(ST-node) is the type (action, group or leaf) of
ST-node
• coverage(ST-node) is the set of objects that are
attributed to the leaf nodes of the subtree with root
ST-node
• interval(ST-node) is the set of periods between
and including the beginning and end periods of ST-node
• slots(ST-node) is the set of nodes that are children
of ST-node
• descendents(ST-node) is the set of ST-nodes that
are descendents of ST-node
• extent(ST-node) is the cartesian product set
coverage(ST-node)× interval(ST-node)
Additional functions may be provided, as the application
requires. Definitions can also be provided, for example:
• dominates(ST-node1, ST-node2) ⇔
⊂(ST-node2, descendents(ST-node1))
The base set of axioms comprise those predicates needed to
define set operations and the following:
1) ∀ n ∈(n, descendents(ST-node))
⇒ ¬ ∈(ST-node, descendents(n))
2) ∀ n1, n2 ¬∩(slots(n1), slots(n2))
3) (=(type(ST-node), group)∧
=(slots(ST-node), {n1,..., nN})) ⇒
•
4)
5)
6)
7)
8)
9)
10)
=(coverage(ST-node),
∪(coverage(n1),..., coverage(nN))))
∀ n1, n2 (=(type(ST-node), group)∧ ∈(n1,
slots(ST-node)) ∧ ∈(n2, slots(ST-node)))
⇒ ¬∩(coverage(n1), coverage(n2))
∀ n1, n2 (=(type(ST-node), group)∧ ∈(n1,
slots(ST-node)) ∧ ∈(n2, slots(ST-node)))
⇒ =(interval(n1), interval(n2))
(=(type(ST-node), action)∧
=(slots(ST-node), {n1,..., nN}))
⇒=(interval(ST-node),
∪(interval(n1),..., interval(nN)))
∀ n1, n2 (=(type(ST-node), action)∧ ∈(n1,
slots(ST-node)) ∧ ∈(n2, slots(ST-node)) ⇒
¬∩(interval(n1), interval(n2))
∀ n1, n2 (=(type(ST-node), action)∧ ∈(n1,
slots(ST-node)) ∧ ∈(n2, slots(ST-node)) ⇒
=(coverage(n1), coverage(n2))
∀ n =(∅, slots(n)) ⇒ =(type(n), leaf)
∀ n 6=(∅, slots(n)) ⇒ ∈(type(n),
{action, group, leaf})
It is tacitly assumed in all axioms that ∈(node,
ST-nodes(sit tree)), where node is any ST-node occurring in an axiom.
A. Adequacy, Completeness and Soundness
The evolution of force-structure within a finite discrete time
domain of discrete objects may be described by predicates
each of which attaches to a component which covers a set of
objects for an interval of time. We assert that an adequate
representation of such a domain has to satisfy three criteria:
Partition: it can express any partition structure (possibly
hierarchical) of any set of objects at any given time, but only
as a tree of components;
Temporal Structure: it can express as a tree of components
any sequence structure (possibly hierarchical) of any set of
objects for any span of time;
Composability: the representation allows the formation of
an arbitrary tree of components comprising subtrees that are
either partition structures or sequence structures provided all
the objects in the domain are covered during its interval.
We now show that situation trees satisfy these criteria.
A situation tree node is both a predicate and a component
that covers objects for an interval of time (see the ST-node
functions, above).
An ST-node can be defined that spans an arbitrary period
and covers an arbitrary set of objects. From the definition
of the ST-node, the slots of an ST-node are themselves STnodes. Axioms 1 and 2 constrain slot-linked structures of STnodes to be trees. The partition criterion is met because, if the
ST-nodes of a tree are constrained to be of type group, then
axioms 3 and 4 require that objects covered by a ST-node are
partitioned among its slots. The temporal structure criterion
is met because, if the ST-nodes of a tree are constrained to be
of type action, axioms 6 and 7 require that the interval of a
ST-node to be divided between its slots. The composability
criterion is met because, by axiom 10, the children of any
ST-node can be of type action, group or leaf.
Finite predicate calculus domains are decidable and
refutation-complete under a resolution proof theory. Under
the assumptions of a true set of situation tree predicates, a
set of correct definitions, and a set of valid axioms, deduced
sentences are sound.
IV. S ITUATION T REES
FOR
L AND
AND
A IR S CENARIOS
This section presents examples of situation trees for land
and air scenarios. For clarity, the diagrams included in the
scenarios are simplified and have been annotated with links
indicating object continuity (dashed lines) and force interaction (dotted lines). These annotations represent parametric
interactions that can be modelled entirely within the tree
structure. Leaves are represented as pentagons, actions as
circles and groups as squares.
A. Land Scenario - The Battle of Alamein
In October 1942, the German North African Army under
Rommel held a defensive line behind The Devil’s Garden, a
mine field five miles wide, stretching from Berbaglieri on the
Mediterranean coast to the impassible Qattara Depression, 40
miles to the south. On October 23 Montgomery, the Allied
commander, launched simultaneous attacks at the northern and
southern ends of the front. The scenario segment on which we
focus is the action in the south (Figure 5). That night, the 44th
Division supported by the 7th Armoured Division advanced
towards the mine field, taking heavy casualties. The Free
French Brigade took the eastern end of Himeimat Hill but
was repulsed. By October 25 the 7th Armoured Division had
Folgore Parachute Division
Mine Fields
Pavia Division
44th Division
7th Armoured
Division
Army G'p
Kiel
Free French Brigade
Himeimat
Hill
Fig. 5. Map of the southern end of the Alamein front between October 22
and 26, 1942. Allied forces - British and French (bold) face German and
Italian forces (feint) across the Devil’s Garden minefield (shaded).
Forces at Southern
end of Alamein Front
Allied Force
(13 Corps)
Al
Before a.m.
24/10/42
After a.m.
24/10/42
Axis Force
Attack
Ax
Maintain
At
Mn
Armour
Infantry
K
W
E
P
D
W
44
Fo
W
E
D
M
7
M
E
E
Fr
R
M
E
I
R
W
Fr
7
44
44
E
7
D
E
D
Fig. 6. A situation tree showing the developing actions and force structure
at the southern end of the Alamein front (see Figure 5). Sequence (temporal)
combinations are shown with a square parent. Set combinations are indicated
by a circle. Full lines indicate force and temporal structure, while dashed
lines indicate temporal continuity between different parents. Interactions
(engagements) are shown with dotted lines.
been withdrawn to the northern sector of the front, the 44th
Division having made significant progress.
The root node of the situation tree (Figure 6) describing this
action spans both Axis and Allied forces and the duration of
the situation. The Axis forces were Army Group Kiel [K],
Pavia Division [P], and Folgore Parachute Division [Fo]. The
sequences of their actions included the activities: Wait [W],
Engage [E], and Defend [D], Maintain [M] and Retreat [R].
The Allied force divided when the 7th Armoured Division were
withdrawn. This is indicated by the two-sequence below the
Allied Force node. The division of the 44th Division is shown
with a set combination.
In this example, the granularity of the leaf nodes is coarse
but could, given more detailed data, have been extended down
to units or even to individual combatants.
B. Air Scenario - A Combat Air Patrol
A common pattern of point and line air defence is the Combat Air Patrol (CAP), in which two fighter aircraft equipped
with forward-looking radar patrol around an elongated circuit
aligned in the direction of anticipated attack. This tactic
All Forces
Enemy intruder
leaves and returns
to its base
Own Forces
Move to
Assembly
Axis of CAP
CAP / Intercept
F1 & F2
MA
F1
F1 & F2 on
Combat Air
Patrol (CAP)
Assembly
F2
F2
F1
TO
Cl
M
Tl
TO
Cl
M
FC
C-1
...
C-2
...
C-4
D+
BC
MI
I
P-
Tr
Tl
Tr
P+
P+
Return to
base
enlarged area
RB
Enemy
Move to
Surveil
Return to
base
Surveil
MS
F1
Tl
TO
Fighter F1 leaves
and returns
to its base
Fighter F1 leaves and returns
to its base
Fig. 7. A simulation of a Combat Air Patrol (CAP) involving two own-force
aircraft leading to the interception of an enemy aircraft approaching from well
off the axis of the patrol.
Enemy retreat
Combat Air
Patrol
F2 heads back to
base
Intercept
F1 heads back to
base
Enemy Approach
Fighters F1 & F2
approach CAP in
formation
Fig. 8.
Detail from Figure 7.
ensures that the radar of one of the aircraft is directed towards
hostile territory most of the time. The simulation (Figures
7 and 8) is summarised by the situation tree in Figure 9
and shows fighters F1 and F2 taking off [TO], climbing [Cl],
maintaining straight level flight [M] and turning [Tr, Tl] into
a pair formation [P+] at an assembly point.
An enemy aircraft takes off from a base to the north east
and starts on a surveillance mission in the direction of the
own-force CAP. The pair formation forms a CAP [FC] and
circulates four times [C-1, ... , C-4]. The enemy detects the
CAP aircraft before they see him, on circuit 3, and begins
a turn to avoid them. They detect him [D+], break their
CAP formation [BC], move to intercept [MI], intercept [I],
see him accelerate to escape and then break their own pair
formation [P-] and turn to return to base [RB], maintaining
[M], descending [D] and landing [L].
V. G RAMMATICAL S ITUATION T REES
Our goal is to have techniques for estimating situation trees
from track data. The approach we propose extends Steedman’s
Cl
M
Tr
M
D+
M
A
M
F2
RB
Escape
Ds
M
D
M
D
L
Tr
M
D
L
L
Fig. 9. A situation tree summarising the action during the CAP/interception
of Figures 7 and 8.
Combinatory Categorial Grammar (CCG) [12] by including set
combination to obtain the Sequence Set CCG (SSCCG) [1].
SSCCG parse trees are estimated from track data. Situation
trees are generated by semantic extraction from them. The
SSCCG is defined as follows:
• T , a tree of nodes (n ∈ T ), each containing a set of
parameters Pn = {s, x, k, F, c}, where:
– s, the span, consists of (i) the set of tokens spanned
by the node, (ii) the begin period tb and the end
period te of the node, and (iii) the set of objects3
spanned by the node,
– x, the state, consists of a set category ct , a sequence
category cq , and a level ℓ,
– k, the combinator (for derived nodes only), and
– F , the features (the remaining parameters),
– c, the set of children of n;
• T, a set of tokens (T ⊆ T ); the set of derived nodes is
T \T; only tokens have level 0;
• x, a set of states (x ∈ x);
• K, a set of combinators (k ∈ K), where the noncombination event is assigned to k0 ;
• F, a set of features;
• fU (·), a function that generates the parameters of derived
nodes in unary combination: P ′ = {x, fU (P, x)};
• fB (·) a function that generates the parameters
of derived nodes in binary combination: P ′ =
{k, fB (Pn1 , Pn2 , k)};
• PU , a function assigning a probability P (x | Pn1 ) to
each unary combination, given the parameters of the
predecessor node (n1 ); and
• PB , a function assigning a probability P (k | Pn1 , Pn2 )
to each binary combination, given the parameters of the
predecessor nodes (n1 and n2 ).
The derivation of the span variables is independent of the
combinator. The features F are derived via arbitrary (domain
3 In this grammar, objects are the temporally persistent entities that define
the span of the grammar in set combinations. If objects are conserved, a
sequence combination can only occur between two nodes spanning the same
set of objects, and set combinations can only occur between nodes spanning
mutually exclusive sets of objects.
specific) functions of the parameters of the predecessor nodes.
A category derivation is unary or binary production of the form
X [·Y ] ⇒k Z, where X and optionally Y are the predecessor
categories, k is the combinator and Z is the derived category.
A binary combination may be either a set or a sequence
combination. In set [sequence] combination the sequence [set]
categories of the predecessor nodes must match, and that value
is inherited by the derived node.
A. Categories
The set and sequence categories (X) of the SSCCG are
constructed according to the following EBNF rules:
X :== E | C
B1 :== E | “(” C “)”
B2 :== E | “(” C “)”
C :== B1 B2
:== / | \ | “|”
where C is a complex category, E is an elementary category,
Bi is a bracketed category and is a slash. The left and
right slashes apply only to sequence categories; the vertical
slash only in set categories. The core category in a complex
category is the innermost elementary category; e.g. the core
category of ((X\Y )/Y ) /Z is X.
B. Combinators and Combination
In a SSCCG derivation, the combinator determines the
parameters of the derived node. The set of possible SSCCG
combinators (k) are generated by the EBNF definition:
k :== [direction] type [modifier]
direction :== < | >
type :== F | M | R | U
modifier :== x | r | i | ℓ
Example combinators are >Fxr and <Mr . When two categories combine, one is regarded as a functor and the other an
argument; the derived category is the result. The argument
substitutes and annihilates a subcategory of the functor. If
the functor category is on the left [right], the combinator
direction is forward (>) [backward (<)]. For example, in
Y /Y ·Y ⇒>M Y the functor is Y /Y , and in Y ·X\Y ⇒<F X
the functor is X\Y .
Four types of combinator are used in this SSCCG:
F
Functional Application: for absorbing complements,
M
Modification: for absorbing adjuncts,
R
Functional Type Raising: for absorbing internal arguments in the functor,
U
Unary: to change a node’s parameters. Only unary
combinations can change a node’s level.
In SSCCG, the prime syntactic role of the category is to be
the object of combination by a combinator (Section V-B).
The outer slash determines the direction from which a functor
can absorb an argument. Under the functional application
combinator (F ) the various slash directions are exemplified
by the following combinations:
/ → argument to the right, e.g. X/Y · Y ⇒>F X;
\ → argument to the left, e.g. Y · X\Y ⇒<F X;
| → either, e.g. X|Y · Y ⇒F X or Y · X|Y ⇒F X.
The category templates associated with the combinators are
listed in the table below.
Type
Fn
Rn
Mn
U
Functor
X1 1 X2
(E1 1 E2 ) 2 X3n
X1 1 X1
X
Argument
X2 [2 X3n ]
E2
X1 [2 X2n ]
—
Result
X1 [3 X3n ]
E1 3 X3n
X1 [3 X2n ]
fU′ (P)
Slashes are represented by the symbol . It is required that
X1 6= X2 . The notation XY n indicates a category of the
form ((. . . (XY1 ) . . .) Yn−1 ) Yn . The function fU′ (·)
is that part of fU (·) that generates the derived category.
The directions of the sequence combination slashes (/ and
\) are determined according to the table below; ‘d’ indicates
that the direction of the slash takes the direction of the
combinator (i.e. > ⇒ / and < ⇒ \), whereas ‘r’ implies that
the slash goes in the reverse direction. The effect of modifiers
is successive, so two successive reversals imply an unchanged
slash direction.
Modifier
Symbol
no variation
crossing
x
reversal
r
inversion
i
level-change
ℓ
1
d
d
r
d
–
2
d
r
d
d
–
3
d
r
d
r
–
The level changing modifier (ℓ) indicates the grammar level
of the derived node is one greater than the level of the
predecessor node.
Parameters unaffected by combination (such as head tags)
are inherited from the functor (Fn and Rn ), from the argument
(Mn ) and from the lone predecessor node (U).
1) Parse Structures: To enable efficient incremental situation parsing, an extraction process is applied to the data to create a left-right grammar, which requires that the combinators
>M , <R and <F and their modifications be disallowed. For
example, consider the sequence parse of the token sequence
[A, B, C, D, E, F , G], in which the subsequences [A, B] and
[D, E, F] are independent constituents with head categories
A1 and A2 . An appropriate level 1 category sequence is:
[A1 /B, B, A1 \A1 , (A2 /F ) /E, E, F , A2 \A2 ]. Application
of the relevant combinations yields two maximal spanning
constituents: one spanning [A, B, C] with category A1 and
another spanning [D, E, F , G] with category A2 . These also
may be combined at higher levels of the grammar.
Likewise, in the set parse of the token set {a, b, c, d, e, f , g,
h} there are constituents with group categories G1 spanning
{b, e, h} and G2 spanning {d, a, f , g}. An appropriate set
of level 1 categories (in the same order as the token set) is
{a, b, G1 |G1 , d, (G1 |b) |h, f , ((G2 |d) |a) |f , h}. The nodes
in this set may be combined using combinators of type F , R
and M into two constituents with categories G1 and G2 .
2) Implicit Normal Form: It has been found that it is not
necessary to impose an explicit normal form restriction on
the grammar – provided that the training corpus is generated
using a small set of combinators. This can be achieved within
Z:L5
0->3088.47
>F____
Z:L5/L4
4.88149e-006->2807.56
head
L
an automatic generation process by weighting the simpler
combinators lowest, and then selecting the annotation with the
lowest aggregate weight. This form of implicit normalisation
leads to very compact grammars with small numbers of
categories, combinators and combinations.
T:L2
4.88149e-006->792.439
comp
>F____
T:L2/L1
420.873->792.439
head
<F____
SLAB:L2/L1
420.873->517.02
<N____
SLAB:L2/L1
420.873->439.902
<N____
SLAB:L2/L1
420.873->424.879
head
[SLAB];f3
M\SLDN:L1
1228.79->1296.05
head
[SLAN];f3
SLDN:L2\L1
1095.27->1228.79
head
[SLDN];f2
M:L2
1296.05->1407.31
comp
<F____
M\SLDN:L2\L1
1228.79->1296.05
head
[SLAN];f2
SLDN:L1
1296.05->1321.11
head
[SLDN];f3
M:L1
1296.05->1407.31
comp
<F____
M\SLDN:L1
1321.11->1407.31
head
[SLAN];f3
LLDN:L1
1407.31->1415.69
head
<N____
LLDN:L1
1407.31->1413.59
<N____
i∈U(T )
where Π (T , i) is the set of parents of node i. The set of
parameters Pi of binary-derived nodes can be split between
the combinator
ki and the remaining parameters P̄i ; Pi =
ki , P̄i , giving
P Pi | {Pj }j∈Π(T ,i) = P ki , P̄i | {Pj }j∈Π(T ,i)
= P ki | {Pj }j∈Π(T ,i) P P̄i | {Pj }j∈Π(T ,i) , ki
The value of P̄i , given its predecessors, is completely determined by the combinator, so the second term may be written
P P̄i | {Pj }j∈A(T ,i) , ki = δ P̄i − fB {Pj }j∈A(T ,i) , ki
SLAB\SLAB:L2/L1
439.902->517.02
adj
[SCAN];f3
SLAB:L2/L1
420.873->649.221
head
<N____
T\SLAB:L2/L1
649.221->792.439
head
[SCMN];f3
SLAB\SLAB:L2/L1
517.02->649.221
adj
[SCAN];f3
SLAB:L1
4.88149e-006->102.057
<N____
SLAB:L1
4.88149e-006->21.0116
head
[SLAB];f2
LLDN:L1
1407.31->1409.41
head
[LLDN];f3
LLDN\LLDN:L1
1413.59->1415.69
adj
[LLDN];f3
LLDN\LLDN:L1
1409.41->1413.59
adj
[LLAN];f3
SLMN:L2\L1
1296.05->1407.31
head
[SLMN];f2
M\LLDN:L1
1415.69->1416.74
head
[LLAN];f3
M:L2
1407.31->1416.74
head
<F____
M:L1
1407.31->1416.74
comp
<F____
LLDN:L2\L1
1407.31->1415.69
head
<N____
LLDN:L2\L1
1407.31->1413.59
<N____
LLDN:L2\L1
1407.31->1409.41
head
[LLDN];f2
M:L1
1629.84->1639.27
comp
<F____
M:L2
1416.74->1629.84
comp
<F____
M:L2\L1
1407.31->1416.74
head
<F____
M:L1
1416.74->1629.84
comp
L
M\LLDN:L2\L1
1415.69->1416.74
head
[LLAN];f2
SLMN:L1
1416.74->1629.84
head
[SLMN];f3
T\SLAB:L1
247.137->792.439
head
[SCMN];f2
T:L2/L1
792.439->1095.27
head
<F____
SLAB\SLAB:L1
102.057->247.137
adj
[SCAN];f2
SLAB\SLAB:L1
21.0116->102.057
adj
[SCAN];f2
SLAN:L2/L1
792.439->963.909
head
[SLAN];f3
LLDN:L1
1629.84->1638.22
head
<N____
M:L2\L1
1416.74->1629.84
head
L
SLMN:L2\L1
1416.74->1629.84
head
[SLMN];f2
LLDN:L1
1629.84->1636.12
<N____
LLDN:L1
1629.84->1631.94
head
[LLDN];f3
M\LLDN:L1
1638.22->1639.27
head
[LLAN];f3
LLDN\LLDN:L1
1636.12->1638.22
adj
[LLDN];f3
LLDN\LLDN:L1
1631.94->1636.12
adj
[LLAN];f3
M:L2
1629.84->1639.27
head
<F____
M:L2
1639.27->1852.37
comp
<F____
M:L2\L1
1629.84->1639.27
head
<F____
M:L1
1639.27->1852.37
comp
L
LLDN:L2\L1
1629.84->1638.22
head
<N____
LLDN:L2\L1
1629.84->1636.12
<N____
LLDN:L2\L1
1629.84->1631.94
head
[LLDN];f2
T\SLAN:L2/L1
963.909->1095.27
head
[SLDN];f3
((D\T)\T)/T:L3
1095.27->1852.37
>F____
M\LLDN:L2\L1
1638.22->1639.27
head
[LLAN];f2
LLDN\LLDN:L2\L1
1636.12->1638.22
adj
[LLDN];f2
LLDN\LLDN:L2\L1
1631.94->1636.12
adj
[LLAN];f2
SLMN:L1
1639.27->1852.37
head
[SLMN];f3
T:L3
0->293.878
comp
L
T:L2
792.439->1095.27
comp
>F____
(D\T)\T:L3
1095.27->2807.56
>F____
T:L1
792.439->1095.27
comp
<F____
((D\T)\T)/T:L3
1095.27->2467.79
head
>F____
SLAN:L1
792.439->963.909
head
[SLAN];f2
T\SLAN:L1
963.909->1095.27
head
[SLDN];f2
((D\T)\T)/T:L3
1095.27->2074.9
>F____
M:L2
1852.37->1861.8
head
<F____
M:L1
1852.37->1861.8
comp
<F____
M:L2\L1
1639.27->1852.37
head
L
SLMN:L2\L1
1639.27->1852.37
head
[SLMN];f2
LLDN:L1
1852.37->1854.47
head
[LLDN];f3
LLDN:L1
1852.37->1860.75
head
<N____
LLDN:L1
1852.37->1858.65
<N____
LLDN\LLDN:L1
1854.47->1858.65
adj
[LLAN];f3
M\LLDN:L1
1860.75->1861.8
head
[LLAN];f3
LLDN\LLDN:L1
1858.65->1860.75
adj
[LLDN];f3
LLDN:L2\L1
1852.37->1858.65
<N____
LLDN:L2\L1
1852.37->1854.47
head
[LLDN];f2
M:L1
1861.8->2074.9
comp
L
SLMN:L1
1861.8->2074.9
head
[SLMN];f3
SLMN:L2\L1
1861.8->2074.9
head
[SLMN];f2
LLDN\LLDN:L2\L1
1858.65->1860.75
adj
[LLDN];f2
LLDN:L1
2074.9->2083.28
head
<N____
M\LLDN:L1
2083.28->2084.33
head
[LLAN];f3
LLDN:L1
2074.9->2077
head
[LLDN];f3
LLDN:L1
2074.9->2081.18
<N____
LLDN\LLDN:L1
2077->2081.18
adj
[LLAN];f3
M:L2
2306.86->2467.79
adj
<F____
T/T:L3
2074.9->2297.43
>F____
M:L2\L1
1861.8->2074.9
head
L
M\LLDN:L2\L1
1860.75->1861.8
head
[LLAN];f2
LLDN\LLDN:L2\L1
1854.47->1858.65
adj
[LLAN];f2
T:L1
2467.79->2807.56
comp
<F____
T/T:L3
2074.9->2306.86
<N____
M:L2
1861.8->2074.9
comp
<F____
M:L2\L1
1852.37->1861.8
head
<F____
LLDN:L2\L1
1852.37->1860.75
head
<N____
LLDN\LLDN:L1
2081.18->2083.28
adj
[LLDN];f3
M:L2
2074.9->2084.33
head
<F____
M:L1
2074.9->2084.33
comp
<F____
LLDN:L2\L1
2074.9->2083.28
head
<N____
LLDN:L2\L1
2074.9->2081.18
<N____
LLDN:L2\L1
2074.9->2077
head
[LLDN];f2
M:L2\L1
2074.9->2084.33
head
<F____
M\LLDN:L2\L1
2083.28->2084.33
head
[LLAN];f2
LLDN\LLDN:L2\L1
2081.18->2083.28
adj
[LLDN];f2
M:L2
2297.43->2306.86
adj
<F____
M:L2
2084.33->2297.43
comp
<F____
M:L1
2084.33->2297.43
comp
L
SLMN:L1
2084.33->2297.43
head
[SLMN];f3
R\T:L3
293.878->3088.47
head
L
A:L2
0->293.878
head
<F____
T:L2
2467.79->2807.56
comp
<F____
T/T:L3
2074.9->2467.79
head
<N____
T/T:L3
1852.37->2074.9
head
>F____
T/T:L3
1629.84->1852.37
head
>F____
(((D\T)\T)/T)\M:L3
1407.31->1629.84
>F____
M:L2\L1
1296.05->1407.31
head
L
SLAB:L1
4.88149e-006->247.137
head
<N____
R:L3
0->3088.47
head
<F____
D\T:L3
792.439->2807.56
<F____
T:L1
4.88149e-006->792.439
comp
<F____
((D\T)\T)/T:L3
1095.27->1629.84
head
>N____
((D\T)\T)/T:L3
1296.05->1629.84
<F____
M:L2\L1
1095.27->1296.05
head
<F____
C. Probabilistic Scoring
i∈B(T )
SLAB\SLAB:L2/L1
424.879->439.902
adj
[SCAN];f3
M:L2
1095.27->1296.05
adj
<F____
M:L1
1095.27->1296.05
comp
<F____
SLDN:L1
1095.27->1228.79
head
[SLDN];f3
Even after normalisation, any given set of tokens is likely to
generate a large number of parses, only a few of which yield
the correct situation tree. This ambiguity can be resolved
by scoring parses according to their Bayesian probability and
applying a search algorithm that finds the optimal (highest
probability) parse.
Let SSCCG tree T be divided between T the set of tokens,
B (T ) the set of nodes derived by binary combination, and
U (T ), the set of nodes derived by unary combination. The
predecessor node of a member of U (T ) is termed a primary
node and may be either a token or predecessor node to a levelchanging combination. The probability of T is the product of
the conditional probabilities of the parameters of its derived
nodes:
Y
Y
P Pi | PΠ(T ,i)
P Pi | {Pj }j∈Π(T ,i)
P (T ) =
Z:L4
0->3088.47
comp
L
D:L3
4.88149e-006->2807.56
head
<F____
M:L1
2297.43->2306.86
comp
<F____
M:L2\L1
2084.33->2297.43
head
L
SLMN:L2\L1
2084.33->2297.43
head
[SLMN];f2
LLDN:L1
2297.43->2299.53
head
[LLDN];f3
M:L1
2306.86->2467.79
comp
L
M:L2\L1
2297.43->2306.86
head
<F____
LLDN:L1
2297.43->2305.81
head
<N____
LLDN:L1
2297.43->2303.71
<N____
M:L2\L1
2306.86->2467.79
head
L
SLMN:L1
2306.86->2467.79
head
[SLMN];f3
M\LLDN:L1
2305.81->2306.86
head
[LLAN];f3
LLDN\LLDN:L1
2303.71->2305.81
adj
[LLDN];f3
LLDN\LLDN:L1
2299.53->2303.71
adj
[LLAN];f3
SLMN:L2\L1
2306.86->2467.79
head
[SLMN];f2
LLDN:L2\L1
2297.43->2305.81
head
<N____
LLDN:L2\L1
2297.43->2303.71
<N____
LLDN:L2\L1
2297.43->2299.53
head
[LLDN];f2
T:L2\L1
2467.79->2807.56
head
<F____
SLDN:L1
2467.79->2744.42
head
<N____
T\SLDN:L1
2744.42->2807.56
head
[SLDN];f3
SLDN:L1
2467.79->2740.41
<N____
SLDN\SLDN:L1
2740.41->2744.42
adj
[SLMN];f3
SLDN:L1
2467.79->2550.98
head
[SLDN];f3
SLDN\SLDN:L1
2550.98->2740.41
adj
[SLAN];f3
SLDN:L2\L1
2467.79->2760.45
head
<N____
SLDN:L2\L1
2467.79->2736.4
<N____
SLDN:L2\L1
2467.79->2552.98
head
[SLDN];f2
T\SLDN:L2\L1
2760.45->2807.56
head
[SLDN];f2
F:L2
293.878->3088.47
head
<F____
SLAB:L2
0->203.608
head
<N____
A\SLAB:L2
203.608->293.878
head
[SCMN];e1
SLAB:L2
0->44.1319
<N____
SLAB\SLAB:L2
44.1319->203.608
adj
[SCAN];e1
SLAB:L2
0->9.02698
head
[SLAB];e1
SLMN:L2
293.878->696.963
head
[SLMN];e1
F\SLMN:L2
696.963->3088.47
head
[SCMN];e1
SLAB\SLAB:L2
9.02698->44.1319
adj
[SCAN];e1
SLDN\SLDN:L2\L1
2736.4->2760.45
adj
[SLMN];f2
SLDN\SLDN:L2\L1
2552.98->2736.4
adj
[SLAN];f2
M\LLDN:L2\L1
2305.81->2306.86
head
[LLAN];f2
LLDN\LLDN:L2\L1
2303.71->2305.81
adj
[LLDN];f2
LLDN\LLDN:L2\L1
2299.53->2303.71
adj
[LLAN];f2
LLDN\LLDN:L2\L1
2077->2081.18
adj
[LLAN];f2
LLDN\LLDN:L2\L1
1413.59->1415.69
adj
[LLDN];f2
LLDN\LLDN:L2\L1
1409.41->1413.59
adj
[LLAN];f2
Fig. 10.
An example of a simple SSCCG parse
track segment data. The grammar level of a node
boundary colour. Sequence combinations are shown
set combinations with ellipses. [Electronic versions of
expanded to a legible size.]
tree extracted from
is indicated by its
with rectangles and
this diagram can be
combinators are automatically extracted from situation trees
generated by simulation. The nodes of the simulated trees are
tagged with a type (leaf, group or action), a syntactic role, and
a summary tag (e.g. C [combat air patrol]).
To improve both the speed and quality of situation tree estimation, the input tracks are segmented, each segment forming
a token in the grammar. At level 1 in the situation tree, each
track segment is assigned a compound tag comprising four
indicator labels for turn [L (left), S (straight), R (right)] inclination [C (climb), L (level), D (descend)], acceleration [A (accelerate), M (maintain), D (decelerate)], and ground proximity
[B (begin), E (end), A (all), N (none)]. Examples of extracted
level 1 sequence categories include: SCAB, SLAN \SCAB,
H\RLM N , [H = “half circuit”]. These give combinations
such as: SLAN/SCAB · SCAB ⇒>F SLAN . Level
2 set categories include: f , P |f , F , and F |F [f =“fighter”,
P =“pair”, F =“formation”], yielding such combinations as:
f · P |f ⇒F P and F · F |F ⇒M F .
We simulated variations on the CAP-intercept scenario of
Section IV-B and extracted the corresponding SSCCG trees.
Figure 10 shows an example of a small simulated tree.
VI. FAST A LGORITHMS FOR S ITUATION T REE
E STIMATION
For nodes derived from primary nodes, the model is similarly
An agenda-based A* batch parser4 was trained using
partitionednbetween
o the state x and the remaining parameters SSCCG-converted data from 100 simulation runs, each a
P̃i ; Pi = xi , P̃i such that
variation on the CAP-intercept scenario. During parsing,
potential SSCCG tree leaf nodes are extracted for each track
P Pi | PΠ(T ,i) = P xi , P̃i | PΠ(T ,i)
segment and sent to the agenda, a priority queue scored by
node probability. Initially, another table, the chart, is empty.
= P xi | PΠ(T ,i) δ P̃i − fU PΠ(T ,i) , xi
Parsing commences with the removal of the highest probability
Since the value of the δ-function terms is invariant across valid node from the agenda (the pivot). It is discarded if it already
appears in the chart. If not, the parser retrieves its context,
combinations, the tree probability takes the simple form
Y
Y
which is the set of chart nodes with which it can be combined.
P xi | PΠ(T ,i) [The context contains nodes that are compatible with the pivot
P ki | {Pj }j∈Π(T ,i)
P (T ) ∝
i∈U(T )
i∈B(T )
in coverage, interval and allegiance.] An attempt is made
to combine the pivot with all the nodes in its context, and
D. Situation, Threat and Impact Modelling with SSCCG
the resulting derived nodes are placed on the agenda. The
The air situation grammar has six levels, each describing pivot is placed on the chart, and the next pivot is selected.
a layer of the dynamic/structure of the situation: (0) track The algorithm terminates when either the agenda is empty
segments [tokens] (1) single aircraft [kinematics], (2) small
formation [manoeuvres], (3) large formation [tactics], (4)
4 This necessarily brief account of the SSCCG parsing algorithms is
force [mission] and (5) situation [battle]. The categories and expanded in [13].
or a node spanning the entire set of track segments, with
an admissible root state is assigned as pivot. The situation
tree is then constructed by backtracking from that pivot. The
algorithm has been shown to be optimal ([14] and [15]).
In this study, the average number of extracted leaf nodes
per trajectory segment was six, and the number of leaf nodes
varied from 36 to 118. The average leaf node accuracy on a
test set of 100 situations was 97.79%. However, parse times
were long. On a reduced set of 10 situations, the average
parse time was 4694 seconds (on a 2.4 GHz workstation with
512 Mb of RAM) with an average tagging accuracy of 99%.
By adopting various modifications, this time was reduced by
a factor of 2225 to 2.11 seconds – while retaining search
optimality, and therefore maintaining parse accuracy (Figure
11). Better still, if the parse time of the algorithm is modelled
as a function of the form τ ∝ N n , where N is the number of
tokens and n is a scalability index, we find that n fell from 6.93
to 1.94. This would enable a practically interesting scenario
of 20 aircraft with 400 tokens to be parsed from scratch in
22.5 seconds.
multitagging
(anticipated)
minor code
optimisations
Pentium 4 workst'n
remove incompatible
categoresfrom
context
fast set intersection
operation
rigid set boundary
constraints
cached context
function
elimination of
suboptimal states
A* (leaf node
)
normalisation
Dijkstra Search
Tagging Accuracy
Total times (sec)
45937.
3633
379.4
162.2
40.66
32.41
30.24
21.168
1.15
% Baseline time
100%
7.91%
0.83%
0.35%
0.09%
0.07%
0.07%
0.046%
0.003%
39,857
Speed-up ratio
Average time
Scalability index
400 Token time
1
13
121
283
1,130
1,417
1,519
2,170
99%
4593.7
363.3
37.94
16.22
4.066
3.241
3.024
2.1168
0.12
N:
5.93
5.90
3.97
3.22
2.01
1.82
1.94
1.94
1.94
7.5E+1
8.4E+1
6.4E+1
4.2E+0
T(400) 5.9E+6 1.5E+6 1.9E+4 3.0E+3 1.3E+2
Fig. 11. Summary of results from ten test situations applying various speedup measures to parsing.
VII. D ISCUSSION
An analysis of set parsing indicates unpleasantly large
time-complexity bounds; for instance an upper bound on the
average complexity of hypergraph based [14] set-parsing is
2N S (N + log S) [15], where S is the number of states per
SSCCG node and N is the number of tokens to be set-parsed.
Critical to our sequence-set parsing algorithm’s success is
limitation of the number candidate combinations, in this case,
via the context function.
This development of reasonably fast batch algorithms for
extracting combined situation and threat assessments is a
significant indicator of the technique’s feasibility in real applications. The uncertainty introduced by using the output of real
trackers is likely to slow parsing by an order of magnitude.
However, the prospects for further speed-up are encouraging,
using such techniques as multitagging, compiled code and
incremental parsing. We expect that subsecond performance
would be available for practical scenarios of 100 aircraft or
more.
Both the past impacts of past actions and the threats posed
by current force elements within a situation tree are properties
of the tree and can be calculated from it. Bayesian network
approaches to these computations are well established [16]
and [17]. They could be implemented incrementally during
the parsing to improve parse disambiguation.
A key operation within the C2 process is prediction, and
efficient algorithms are likely to be facilitated by the coarseto-fine structure of a multilevel grammar.
ACKNOWLEDGEMENTS
The authors are grateful to Simon Williams for his CCG
converter, without which this work would not have been
possible, to Mark Foreman and Michael Kennett for their
invaluable contributions to the software, to Laurent Lefort for
helpful leads towards the scenarios. We would also like to give
gratitude to Bob Lobbia and Dean Webb for their support in
this project, and to John Colton - ever able to smooth the path
of progress.
R EFERENCES
[1] D. McMichael, G. Jarrad, S. Williams, and M. Kennett, “Modelling,
simulation and estimation of situation histories,” in Proceedings of the
Seventh International Conference on Information Fusion, Stockholm,
Sweden, June 2004, pp. 928–935.
[2] M. Plehn, “Control warfare: Inside the OODA loop,” Master’s thesis,
Air University, School of Advanced Airpower Studies, Maxwell AFB,
2000.
[3] C. Alex, “Process and procedure: The tactical decision-making process
and decision point tactics,” Master’s thesis, Fort Leavenworth, KS: Army
Command and General Staff College, 2000.
[4] D. J. Bryant, “Modernizing our cognitive model,” in Command and
Control Research and Technology Symposium, CCRTS 2004, San
Diego, June 2004. [Online]. Available: http://www.dodccrp.org/events/
2004/CCRTS San Diego/
[5] F. White, “A model for data fusion,” in Proc., 1st National Symposium
on Sensor Fusion, 1988.
[6] Markin, Harris, Bernhardt, Austin, Bedworth, Greenway, Johnston,
Little, and Lowe, “Technology foresight on data fusion and data processing,” Publication of The Royal AeronauticalSociety, 1997.
[7] B. Dasarathy, “Sensor fusion potential exploitation-innovative architectures and illustrative applications,” IEEE Proceedings, vol. 85, no. 1,
1997.
[8] M. Bedworth and J. O’Brien, “The omnibus model: A new model of
data fusion?” IEEE Aerospace and Electronic Systems Magazine, vol. 15,
no. 4, April 2000.
[9] A. Steinberg, C. Bowman, and F. White, “Revisions to the JDL data
fusion model,” in Proc. AeroSense, SPIE Vol. 3719, 1999, pp. 430–441.
[10] J. Llinas, C. Bowman, G. Rogova, A. Steinberg, E. Waltz, and F. White,
“Revisiting the JDL data fusion model II,” in Proc. 7th International
Conference on Information Fusion, Stockholm, Sweden, June 2004.
[11] S. Paradis and J. Roy, “An architecture for the integration of all levels
of data fusion,” in Proc. 3rd Int. Conf. on Information Fusion (Fusion
2000). Paris, France: ISIF, July 2000.
[12] M. Steedman, The Syntactic Process. MIT Press, 2000.
[13] D. McMichael, G. Jarrad, and S. Williams, “The extraction of coherent
situation models,” in preparation, 2005.
[14] D. Klein and C. D. Manning, “Parsing and hypergraphs,” in The Seventh
Internation Workshop on Parsing Technologies, 2001.
[15] G. Jarrad and M. Kennett, “On the computational complexity of binary
parsing,” CSIRO ICT Centre, Tech. Rep. 04/1935, 2004.
[16] J. H. Discenza, “Use of monte carlo modelling and Bayes’s rule for
situation assessment in the ground battle,” Daniel H. Wagner Associates,
Inc., Tech. Rep.
[17] J. Ivansson, “Situation assessment in a stochastic environment using
bayesian networks,” Master’s thesis, Division of Automatic Control,
Department of Electrical Engineering, Linkping University, March 2002.
© Copyright 2026 Paperzz