Вы находитесь на странице: 1из 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.


Threat Analysis Using Goal-Oriented Action Planning

Conference Paper · September 2008

6 303

4 authors, including:

Philip Bjarnolf Per M. Gustavsson

George Mason University

Christoffer Brax
SAAB Group


Some of the authors of this publication are also working on these related projects:


Command &Control View project

All content following this page was uploaded by Per M. Gustavsson on 29 December 2013.

The user has requested enhancement of the downloaded file.

Threat Analysis Using Goal-Oriented Action Planning
Philip Bjarnolf
University of Skövde

Per M. Gustavsson
Christoffer Brax
Mikael Fredin
Training Systems and Information Fusion
Storgatan 20, 541 30 Skövde, Sweden

Threat Analysis, Goal-Oriented Action Planning, STRIPS, Planning
Systems, Decision Support, AI, Coalition Battle Management Language,
Commander's Intent, Information Fusion.

Agile Computer Generated Forces (CGF) for the Next Generation Training Systems and Planning Systems need to have
a more agile and flexible behavior than the current commonly used CGF systems can deliver. This because of that the
human behavior in a real crisis or military operation is adaptive. This paper describes one approach to enable such
functionality by combining Threat Analysis and Goal-Oriented Action Planning (GOAP) into an architecture where the
concepts and formalism of effects and Actions plays a central role.

Threat assessment is a vital part in everyday life as it enables us to prevent or evade dangerous or otherwise unwanted
events. Through threat assessment we evaluate the elements of our world as we perceive and conceive it. These
elements can be seen as key building blocks of the world, and depending on the situation, more or less of these keys
have a direct impact on the outcome of a certain scenario taking place. An entity capable of assessing its and others
action capabilities possess the power to predict how the involved entities may change their world. Through this
knowledge and higher level of situation awareness, the assessing entity may choose the actions that have the most
suitable effect, resulting in that entity’s desired world state.

This paper covers aspects and concepts of an arbitrary planning system and presents a threat analyzer architecture
built on the novel planning system Goal-Oriented Action Planning (GOAP). The realized GOAP architecture use two
agents that perform action planning to reach their desired world states. One of the agents employs a modified GOAP
planner used as a threat analyzer in order to determine what threat level the adversary agent constitutes. This paper
does also introduce a conceptual schema of a general planning system that considers orders, doctrine and style and its
representation in the Command and Control Lexical Grammar (C2LG); as well as a schema depicting an agent system
using a blackboard in conjunction with the OODA-loop.

registered and in one way or the other given a certain

1. Introduction value or reference.
Threat assessment is a vital part in everyday life as it
As our world, depending on the level of detail we wish
enables us to prevent or evade dangerous or otherwise
to apply, has what seems to be an almost endless
unwanted events. Through threat assessment we
amount of world states, it would be impractical,
evaluate the elements of our world as we perceive and
unnecessary or even impossible to keep track of and
conceive it. These elements can be seen as key building
model each and every world state. It therefore seems
blocks of the world, and depending on the situation,
intuitive and wise to only model those world states
more or less of these keys have a direct impact on the
deemed necessary for the scenario or context at hand.
outcome of a certain scenario taking place. In the eyes
of the beholder, or even better in the mind of the
interpreter, the relevant key parts of the world are
Once the relevant world state keys have been identified bird eye view of the situation. This plain example
their paired value may be changed by an arbitrary shows how an agent’s SA can be increased by sharing
action that causes a world state transformation to the information of the situation at hand to other agents.
occur, that is to say that the action has an effect. An The definition of SA and its build-up can be
entity capable of an arbitrary set of actions is by default theoretically explained or thought of in numerous
only capable of changing the world states according to ways, as done by Lagervik & Gustavsson (2006),
the effects of those available actions. However, this is Endsley (1995), Ackoff (1999), and Bedney & Meister
not to say that the entity is unable to realize world (1999). However, the main parts involved are without
states it has not planned for. Since it is perfectly doubt the agent’s sensory system, its memory, and its
possible to perform an action without knowing all of its ability to interpret, understand, and mediate to others
consequences, i.e. effects or world state its subjective impressions and gathered knowledge.
transformations, an entity may very well experience By centralizing this SA or knowledge through a
how things unfold in unseen and sometimes unwanted blackboard, as suggested by Orkin (2006), all
ways. This also means that in order for a threat participating agents become an entity with the same
assessing entity to comprehend a threat, the entity must basic world comprehension, even though individual
be able to picture how a series of actions could realize styles may interpret the information in different ways.
an unwanted world state. An entity’s insight of its and
others action capabilities is thus tightly coupled with A conceptual schema of an arbitrary planning system is
the entity’s threat analysis capabilities. This concept is presented in Figure 1. The schema shows how an
heavily used in this paper which aims to analyze and agent’s style influences the inputs from the world,
develop a threat analysis planning architecture built on broken up into sensed orders and world states. As the
Goal-Oriented Action Planning (GOAP). By slightly sensed data is passing through the personality layer, it
modifying and thereby extending the GOAP gets styled according to the agent’s personality, after
architecture, a higher level of situation awareness may which the brain, i.e. reasoning and planning system, is
be obtained; enabling entities using a threat analyzer to able to draw a conclusion and formulate the most
employ better strategies and decisions. Further the promising plan; which in turn changes the world into or
paper provides recommendations to the ongoing towards a desired state.
standardization of the Coalition Battle
Management Language (C-BML)
<<REFERENS>> and the development
of a Command and Control Lexical
Grammar (C2LG) <<REFERENS>>
regarding what needs to be able to be
expressed to use the suggested methods
and technologies described in this
paper. A small example is provided
where two agents utilize the GOAP
technology for their action planning,
where one agent also uses a modified
planner acting as a threat analyzer,
capable of assessing its adversary’s
threat level in the simulated scenario.

2. Artifacts of Planning
How decision making agents perceive
and conceive their environment and the
“knowing of what is going on”
(Endsley, 1995, pp. 37) can be referred Figure 1 – Conceptual Schema of a Planning System
to as situation awareness (SA), which is highly All actions undertaken by agents are consequences of a
involved with how well an agent is able to cope with its desire to achieve certain goals. As these goals or tasks
environmental challenges. For example, a blind and might have been proposed by another commanding
deaf agent that participates in a game of hide and seek, agent, the medium or technique mediating the task has
has far lower SA than an unimpaired counterpart; who a great responsibility to ensure that it is not altered or
on the other hand, has lower SA than an agent that can perceived in an inaccurate way by the agent supposed
communicate with an airborne teammate who shares its to execute the task (i.e. the taskee). By having the
commander only telling what he wants to be done state (MES) of the plan, and should be seen as a
instead of how, the taskee is given the authority to dynamic entity built and continually managed by a
execute (and formulate) a plan of its own (Kleiner, broad working group with a strong knowhow of the
Carey & Beach, 1998). The concept of a correct picture various matrix components and their interaction
of the task or desired end-state, as first formulated by (Schubert et al., 2007). By employing this CIM
the commander, is referred to as Commander’s Intent architecture, any weaknesses and all strengths of the
(CI). plan can be found prior to the effect based execution
phase, giving the involved participants a more similar
In order to achieve a goal, a plan consisting of actions understanding of the situation leading to better
has to be formulated and executed by the agent. The decisions being made. The actual plan formulated
plan is thus nothing more than a set of actions that has through EBP is described by Schubert et al. (2007) as a
to be executed in a correct order with certain timing, tree structure having the MES as root. An example of
consequently causing one or more effects which results such plan is presented in Figure 2.
in an alteration of a world state. In Figure 1 the plan
formulating system, i.e. the reasoning brain of an
agent, receives styled data input from the world.
Depending on the current goal, actions at hand, and
past experiences, the plan formulating system outputs
an action or a series of actions (i.e. a plan) that are
realized by a subsystem of the agent; consequently
changing a world state towards or into the desired end-

The plan formulating system is called a planner, and is

in other words allowing agents to formulate their own
action sequence in order to accomplish a certain goal.
Orkin (2004c, pp. 222) states that “in order to
formulate a plan, the planner must be able to represent Figure 1. The plan formed according to
the state of the world in a compact and concise form”, EBP (after Schubert et al., 2007, pp. 2).
which incorporates identifying the most important
variables of the world where the current scenario is
taking place. This means that even though the actual Comparing this structure in this context to others, one
world state consists of a myriad of variables, only the can imagine the similarities of a composite/atomic goal
most significant variables should be used in order to breakdown by Buckland (2005), or composite/simple
keep the planning as simple and fast as possible. task and action described by Dybsand (2004). In that
sense DC could be seen as a composite goal or task,
2.1. Effect Based Planning while SE maps to a composite goal or simple task1, and
A maps to an atomic goal or action. Regardless of the
Effect based planning (EBP) aims to clarify the effects
naming convention, MES is without doubt reached by
in different areas regarding the actions incorporated
the occurrence of A, SE and DC.
into a plan. By utilizing the EBP concept, negative
consequences are to be foreseen and avoided or worked
As effects from actions are modeled in GOAP, the
against in order to achieve a desired goal with as few
planning taking place could somewhat be seen as EBP
side-effects, i.e. unintended effects, as possible. EBP
since the known effects may judge what actions get
has a strong connection to Commander’s Intent since
incorporated into the plan.
the planning entities must fully understand (or share)
the CI in order to formulate a plan with actions causing
the desired effects according to the CI. As stated by
Farrell (2004), CI is central to EBP. FOI, the Swedish
Defense Research Agency, has through Schubert,
Wallén & Walter (2007) presented an EBP technique
using a cross impact matrix (CIM) which “…is to find
inconsistencies in plans developed within the effect
based planning process.” (Schubert et al., 2007, pp. 1) Composite and simple tasks are sometimes also
using Dempster-Shafer theory and sensitive analysis. referred to as compound and primitive tasks (Erol,
The CIM consists of all activities (A), supporting Hendler & Nau, 1994; Hoang, Lee-Urban & Muñoz-
effects (SE), decisive conditions (DC) and military end Avila, 2005).
3. GOAP a plan pursuing the current goal (i.e. the desired end-
state) is formed. Orkin (2004c, pp. 218) sees it as “each
Goal-Oriented Action Planning stems from discussions
action knows when it is valid to run, and what it will do
from the GOAP working group of the A.I. Interface
to the game world”. It should be noted that an action
Standards Committee (Orkin, 2006), and has so far
only has the preconditions of interest to it.
only described the high-level concepts of GOAP. It is
based on STRIPS (STanford Research Institute
Besides having a symbolic precondition or effect, an
Problem Solver) which is an automated planner
action may have a context precondition or effect, where
consisting of an initial state and goal states, which the
the resulting value is dynamically obtained by an
planner is trying to reach by using actions that in turn
arbitrary function implemented by a certain subsystem.
have pre- and postconditions (Fikes & Nilsson, 1971).
For example, the value of whether a threat is present
Long (2007) explains that the actions in GOAP stems
could be directly retrieved from the world state
from operators in STRIPS, and the primarily
differences between the two techniques are the (kThreatIsPresent, true) or from a context
adaption of action costs in GOAP along with the use of function EvaluateThreatPresence that returns a
the A* algorithm2. Much like the re-planning suitable value or handle. Long (2007, pp. 9) mentions
capabilities of the Goal-Driven Agent Behavior two benefits of using context preconditions: “It
described by Buckland (2005, pp. 385), GOAP also improves efficiency by reducing the number of
incorporates a kind of re-planning feature, enabling the Key: Current value: Goal value: Planning goal met?

planner to construct a new plan consisting of other, but kTargetIsDead false true NO

still valid, actions leading to the pursued goal world

state (i.e. the end-state). The notion of using Effect:
remembered (old) planning data and avoid planning Precondition: kWeaponIsLoaded true

from scratch, is called Case-Based Planning (Ontañόn,

Mishra, Sugandh & Ram, 2007), and could be Key: Current value: Goal value: Planning goal met?

incorporated in GOAP. The goals and actions available kTargetIsDead


in a scenario using GOAP are static, i.e. no other goals

and actions than those predetermined by the developer Key: Value:
are ever used. Error! Reference source not found. LOAD Effect: kWeaponIsLoaded true
WEAPON Precondition: kWeaponIsArmed true
depicts a planning example where the goal state
(kTargetIsDead, true) can be reached by
executing the actions DrawWeapon, LoadWeapon
Key: Current value: Goal value: Planning goal met?
kTargetIsDead true true YES
kWeaponIsLoaded true true YES
and Attack. kWeaponIsArmed false true NO

Orkin (2004c) suggests that the relevant world states DRAW Effect:
are represented as a list of structures containing an WEAPON Precondition: - -

enumerated attribute key, a value, and a handle to a

subject. A specific action’s or operator’s preconditions Key: Current value: Goal value: Planning goal met?
and effects therefore has the same structure; both a kTargetIsDead
precondition and an effect has a key and a value3, e.g. kWeaponIsArmed true true YES

one action called GoToSleep might have a

DONE! A valid plan has been formulated:
precondition with the key kBedlampIsOn with the 1. DrawWeapon
associated value false, and the effect might have the 2. LoadWeapon
3. Attack
key kIsTired with the value false. An action can Figure 3. The planner finds a valid plan by a regressive
have multiple preconditions and effects, i.e. the action search (after Orkin 2004c,pp 225).
GoToSleep in the previous example may have
additional preconditions and effects other than potential candidates when searching for viable actions
(kBedlampIsOn, true) and (kIsTired, during planning and it extends the functionality of the
false). The actions are thus sequenced by satisfying actions beyond simple Boolean world state symbols.”.
each others preconditions and effects, and by doing so In GOAP, each action has a static cost value which
helps the planner to determine what actions are more
favorable than others, i.e. the planner considers more
The A* algorithm is described in detail by Buckland specified actions before more general ones (Orkin,
(2005, pp. 241). 2005). A* search is used to obtain the best path of valid
The value is either a integer, float, bool, handle, actions which results in a plan. However, the use of
enum, or a reference to another symbol. static values has been criticized as they never change
during the execution of the application (Long, 2007), the story could start by reading a light sensor
making it harder to formalize a more expressive plan. which acts as a precondition for one of the
introduction subparts. After the introduction has
For example, the action been experienced, the user’s pulse is checked
SupportSuppressedSquadMember probably which may act as a context precondition of some
should have a lower cost, i.e. be more favorable, if the other subpart of the story, which may lead to less
supporting member is not under fire. These cost values creepy story parts being told until the user is
resemble those mentioned by Reynolds (2002), who sufficiently calm.
suggests using a priority system where different actions
• Using a tutorial. Much like the story telling
and circumstances are given different priorities. He
example, a tutorial might be modeled using
furthermore states that “These [priority] values allow
GOAP, allowing it to display hints according to
soldiers to be chosen by their current status, and for
the user’s contextual preferences or other aspects
soldiers of a certain rank or health to be omitted unless
of the scenario.
their status is of a lower priority.”.
As seen from the examples above, there are many areas
Thanks to the general approach of GOAP it can be
of application but GOAP has so far, what is known, not
applied to virtually any problem scenario, while still
been particularly used in these novel areas. The reason
having the benefits of a reasoning system that has an
for this is probably that the technique is new and has
understanding of how goals and decisions relate, and
not yet been fully accepted, realized or understood by
what the effects might be (Lagervik & Gustavsson,
the market. Few official implementations of GOAP
2006). Three arbitrary examples are given where
exists, and while there are some high-level guidelines,
GOAP could be used as means of solving the problem
the very founders of GOAP have not yet created an
at hand:
interface standard. The GOAP architecture should thus
• Baking a pie. If the overall goal is to bake a pie be seen more as a guideline than a de facto standard.
the end-state could be (PieIsBaked, true). Because of this it seems that components incorporated
The plan is then formulated based on the actions in GOAP could be excluded as well as others being
available and their costs, which for instance might included if it serves the overall implementation.
include TurnOnOwen, PutBowlOnTable, An agent using GOAP has a working memory in which
AddEggToBowl, AddButterToBowl, the agent’s SA is updated and stored for later use in
AddFlourToBowl, MixBowlIngredients, conjunction with a blackboard. The role of a
PutBowlInOwen, Wait, and blackboard in GOAP is to act as an intermediate
information repository between various subsystems,
PutBowlOnTable. In this case the first action
which enable them to share data without having direct
would be TurnOnOwen which has no
references to each other. Because certain agent sensors
preconditions, just as PutBowlOnTable. may have expensive computational costs, the
However the actions AddEggToBowl, computations are made over many frames and results
AddButterToBowl and AddFlourToBowl are cached in the working memory (Orkin, 2005). The
might have the precondition (BowlIsOnTable, working memory’s cached data is stored in the form of
true) which is the very effect of the action WorkingMemoryFacts which are divided into
PutBowlOnTable. If the mixture is supposed to different types depending on the scenario at hand and
fare better if the egg is used before that butter, coupled with the experienced confidence of the fact. A
which in turn is used before the flour; then baking scenario might have a Cupcake,
AddEggToBowl is given the lowest cost value of DanishPastry, Event and Smell as facts, whilst
the three actions whilst AddButter is given a the combat scenario created by Long (2007) included
lower cost value than AddFlourToBowl. The facts like Enemy, Friendly, PickupInfo and
baking is then allowed to continue by utilizing the Event. By employing these kinds of facts the planner
remaining actions of the plan, resulting in a baked is able to query the working memory in the best
pie once the final action PutBowlOnTable has manner it may seem fit, e.g. by querying what
been executed. Cupcake smell most. A strong advantage of GOAP
identified by Orkin (2004a, pp. 1) is that “atomic goals
• Telling a story. If the overall goal is to reach the
and actions of a GOAP system are easy to read and
end-state (StoryHasBeenTold, true),
maintain, and can be sequenced and layered to create
various subparts of the story may be linked by
complex behaviors”; the gain of simplicity and
preconditions and effects which enables a dynamic
modularization makes it easier for multiple developers
story based on the variables at hand. For example,
to collaboratively implement complex behaviors.
Layered behavior is accomplished by inheritance implementation aspect is to externalize the goal
where subsequent behaviors or actions implement the selector completely, having the GOAP planner
same basic behavior as their parents. For example may receiving an order containing the desired goal world
an Attack action serve as an abstract parent to more state. Choosing goals by a relevancy value is
specified children attack actions like SneakAttack mentioned by O’Brien (2002, pp. 379):
and ThrustAttack.
GOAP employs real-time planning by using regressive
By using GOAP, agents may make decisions not searches in order to find appropriate actions that satisfy
anticipated by the developer as the chain of actions (the the pursued goal. The plan formulating algorithm starts
plan) is made up at runtime (to the developer’s joy or its search at the goal and then works its way towards
dismay). GOAP incorporates the use of finite state the current state, by finding actions with the
machines, but they are said not be as hardly coupled to appropriate preconditions and effects. The search does
the transition logic as an original Final State Machine not find all possible plans, but instead finds a valid plan
(FSM) model. Instead of having the states themselves that, thanks to the A* algorithm, is the most promising,
decide the transition, the various actions handle the i.e. cheapest plan. Because of the regressive search,
transition logic (Orkin, 2004c). As stated by the GOAP can not deliver a valid incomplete plan as it
Working Group on Goal-Oriented Action Planning does not contain the initial action step leading from the
(2004), the overall design of GOAP can be divided into current state to the next, hence it is not an anytime
three separate systems: algorithm4. For example, if the planning system was
intercepted at stage 2, as illustrated by Error!
1) A goal selection interface that weighs up Reference source not found., the plan would only
relevance, probabilities, and so on, and decides contain the action sequence leading from a certain state
which goal to plan towards. (F or G) to the goal state (H); it would not contain the
2) A planner that takes a goal and plans a series of first necessary action step leading from the current
actions to achieve it. state to the next (i.e. from A to B, C, D or E).
3) An action interface for carrying out, interrupting,
and timing actions that characters can carry out.

Figure 4 depicts these subsystems as the goal selection

interface is incorporated into the style layer that selects
an appropriate goal world state depending on the
personality of the agent. The planner that takes a goal
and plans a series of actions to achieve it is depicted as
a reasoning brain. The action interface is comprised in
the embodiment of the agent or agents performing the
suggested action, leading to the desired world state

The Working Group on Goal-Oriented Action Planning

(2003) recognize GOAP to have the ability to provide Figure 4 – The plan formulation start at the goal
more flexible and diverse behaviors than FSMs and state H, working towards the current state A by
rule based systems, since plans are constructed finding appropriate actions.
“online” from atomic actions and adapted specifically
to the current goal. Instead of a simple finite state
machine reactively directing an agent in every 3.1. Effect Based and GOAP
situation, GOAP is employed to formulate a plan that As effects from actions are modeled in GOAP, the
strives to realize a certain goal world state, that in turn planning taking place could somewhat be seen as EBP
has been found by a goal selector. This goal selector since the known effects may judge what actions get
may be an internal implementation as a set of incorporated into the plan. Hierarchical Task Network
functions, each representing a certain goal which A Hierarchical Task Network (HTN) is a set of tasks
depending on the scenario returns a goal relevancy ordered in a hierarchical fashion where the root task
value. The goal that returns the highest relevance value corresponds to the overall completion of the task, i.e.
is pursued; however a cut-off implementation may stop
the most promising goal from being pursued if its
relevance value is too low, leaving the agent idle until a 4
An anytime algorithm can be aborted and still deliver
sufficient relevance value is obtained. Another a valid result, even though it did not finish.
the utmost goal. The plan formulation can be thought According to van der Sterren (2002a) the most
of as a funnel where an abstract unexecutable high- appropriate action to perform is determined by each AI
level plan is first formulated (Wallace, 2004) in order member taking account of the situation of his
to formulate more precise and ad hoc plans executable teammates and the threats known to the team, in
in the current situation. Just as in STRIPS-planning, the addition to his own state. This is in the area of situation
operators are the effects of a task. Each task is either awareness which must be considered as a main
primitive or non-primitive (i.e. compound) where a precursor to decision-making, but it is nonetheless an
non-primitive task contains other tasks, which in turn independent process that must be recognized separate
could be either primitive or non-primitive (Erol et al., from the decision-making (Breton & Rousseau, 2005).
1994). A non-primitive task can thus not be performed The communication, interpretation and overall
directly which is the case with a primitive task. In order understanding of the intent between agents, determines
to solve a non-primitive task, a method is applied whether a particular task succeeds; and there exists a
which reduces the task, forming a new task network need for a standard to communicate intent in a
consisting of primitive and/or non-primitive tasks simulation of complex planning (Borgers et al., 2008).
(Wallace, 2004). Muñoz-Avila & Hoang (2006, pp. The complexity of a scenario incorporating plans for
419) explains HTN planning as high level tasks being numerous agents can rapidly grow, not least from the
decomposed “…into simpler ones, until eventually all resource handling stemming from the parallel tasks
tasks have been decomposed into actions.”. taking place. In a multi-agent environment where high-
level strategic goals need to be dealt with, Muñoz-
According to Erol et al. (1994, pp. 1124) “The Avila & Hoang (2006, pp. 419) claims that even
fundamental difference between STRIPS-style though it is possible to encode these strategies in
planning and HTN planning is the representation of STRIPS representation, a HTN is preferred since it
‘desired change’ in the world.”. These “desired “capture strategies naturally because of the explicit
changes” are represented in the HTN as compound representation of stratified interrelations between
tasks which both incarnate a goal and evolves to tasks”. The STRIPS-HTN relation could thus exist in
contain the necessary actions to reach it. If a HTN task symbiosis as the HTN planner reasons on what strategy
is seen and handled as an independent goal, then that to abide whilst the GOAP planner (i.e. a STRIPS
goal could be fed to a GOAP planner which would realization) handles the more fast paced low-level
work out a plan of more low level action details, whilst action decisions.
the HTN keeps track of the overall goal and subgoals.
According to Wallace (2004) one of the most powerful In the SAMPLE (Situation Awareness Model for Pilot-
features of HTN planning is its ability to perform in-the-Loop Evaluation) architecture, cognitive
partial re-planning, which in contrast to a regressive processing at squad commander level is made up of
planner in GOAP does not have to formulate a whole two streams consisting of tactical assessment and
new plan if the plan should fail. Muñoz-Avila & Hoang terrain assessment, which are responsible of rating the
(2006) sees the reasoning process as the most crucial combat effectiveness of the squad (Aykroyd, Harper,
difference between STRIPS and HTN, where STRIPS Middleton & Hennon, 2002). By utilizing a Battle
reasons in level of actions whilst HTN reasons in level Assessment Matrix working with a list of known
of tasks. Error! Reference source not found.Figure 5 enemies and squad info, factors such as amount of
depicts a HTN build up where the primitive tasks are team members and weapons used may determine the
incorporated in a subtask, which in turn builds up all fuzzy rating of the squad’s combat effectiveness
the way to the top-level task. (Aykroyd et al., 2002). The result is then together with
the terrain data evaluated by expert systems and belief
networks in order to determine the squad’s activity for
3.2. Multi-agent and squad behaviour the current decision cycle. Individual agent combatants
in SAMPLE receive various orders, where for example
a combatant agent might be told to fire at a certain
enemy or to restrict its movement to an area within the
squad’s line (Aykroyd et al., 2002). The combatants
actual decisions stems from numerous analyzers where
for example the Shot Analyzer can point out firing
positions as well as weapon choices considering a
certain enemy. Depending on what orders have been
given, a combatant’s selected threat target and best shot
may be overridden as long as the target isn’t deemed a
Figure 5 – A hierarchical task network (after Paolucci et critical threat, which for instance could be a nearby
al., 2000, pp. 4).
enemy with a clear shot and an assault rifle (Aykroyd • It robustly handles many situations.
et al., 2002).
• It deals well with a variety of capabilities
According to Paolucci et al. (2000) it is of the utmost within the team.
importance that planning systems in a multi-agent • It can easily be combined with scripted squad
environment allow execution while planning, in order member actions.
to allow “flexible interaction with other agents or with
the domain while the agent plans locally” (Paolucci et In order to optimize the squad’s situation awareness, it
al., 2000, pp. 18). In a multi-agent environment where is most important that the squad members
GOAP is employed, various commands or doctrinal communicate and share their intentions and
rules and conditions may be considered by inflicting a observations. By doing this the squad may somewhat
value or “cost” change of an agent’s goals and/or become a single entity with each member acting more
actions, making the goal or action more or less as a sensor or suggestion input than a free roaming
favorable. Doris & Silvia (2007) states that “A GOAP entity. Each squad member may thus be seen as a tool
system imposes a modular architecture that facilitates or weapon with which the entity, i.e. the squad, can
sharing behaviors among agents and even across achieve its goal; much like a human hand attains an
software projects.”. Depending on the cost degree and arbitrary goal by using its squad
the agent’s susceptibility of the change, an agent might members – the fingers. However, the decentralized
do the bidding of its surroundings. For example, a approach to squad AI is just a solid base from which to
popular commander giving a dangerous move order to work, and it is easily extended with increasingly
a military agent, might due to its expressives5 realistic tactics (van der Sterren, 2002a).
considerably lower the cost of the Move action, In a centralized squad the communication and orders
making other actions like StayInCover or Flee are sent in a hierarchical manner, possible of having
less favorable. Hence, the military agent chooses and multiple echelons. The benefits of this approach are
executes the Move action, even though the action per according to van der Sterren (2002b):
se is less favorable according to the agent. Another
example is a doctrine stating that women and children • The amount of problems each type of AI has
shall be saved prior to men in a fire emergency. This to cope with is significantly reduced.
doctrine could be implemented by giving the goals or • Each kind of AI can be changed and
actions SaveWomanFromFire and specialized independently from each other.
SaveChildFromFire a higher relevance value than
SaveManFromFire. The commands, doctrines, • Lower CPU demand as a result of fewer
personality preferences or other implicit conditions as
The main problems when dealing with a centralized
described in 0, are thus applied as filters or layers on
approach are those of conflicting objectives. The AI of
the primal functions. As more of these layers are
a squad member is usually not able to see the mission’s
applied a complex and implicit group behavior may
grand scheme and may have different goals than those
emerge which takes many affectors into consideration.
of the squad commander’s AI, e.g. the squad member
The GOAP architecture, much like the SAMPLE
might prefer to pick up a better weapon instead of
architecture, is thus capable of reacting to an adversary
directly dealing with a certain threat seen by the squad
in a dynamic environment while employing a highly
commander (van der Sterren, 2002b). To deal with
modular and extendable system.
these conflicts van der Sterren points out that the squad
members must know the rules-of-engagement based on
3.3. Centralized vs. decentralized approach
the current situation. For example a situation where the
A squad may be decentralized meaning that there exists squad’s actions must be coordinated meticulously is
no obvious squad leader; all squad members have the more sensitive to ego based behavior. Van der Sterren
ability to issue suggestions based on their perceptions (2002b, pp. 249) further claims that “while there is no
and person preferences, i.e. style. Van der Sterren such thing as the optimal command style, you will go a
(2002a, pp. 235) identifies the following attractive long way addressing your squad requirements by a
reasons of choosing a decentralized approach: smart mix of the two styles [decentralized and
• It simply is an extension of the individual AI. centralized approach]…”.

Expressives as described in 0 (Gustavsson et al.,
In a dynamic real world scenario it is often desirable to allows for easy substitution in case the commander
avoid detailed low level command and control (C2)6, meets his or her demise or is otherwise compromised.
and as stated by Alberts (2007, pp. 1) “The future of
command and control is not Command and Control. In 4. Challange
fact, the term Command and Control has become a
The purpose of this project is to extend the GOAP
significant impediment to progress.”. It is in most cases
architecture with threat analysis capabilities by slightly
instead preferable to only express orders (goals) in high
modifying the GOAP architecture. This would enable
level terms, i.e. intent, which the lower level echelons
entities using GOAP to have increased situation
(agents) then may solve how they may see best fit, and
awareness as they are capable of determining how big a
by doing this exchanging command and control in
threat an assessed entity poses. By utilizing this
favor of focus and convergence (Alberts, 2007). This
knowledge and make the assessing entity communicate
means that even though there exist a needed command
its findings to other entities (both virtual and real),
hierarchy, the commander should not act in a strong
perhaps better strategies and decisions could emerge.
centralized manner and thereby hide relevant
The inherent generic benefits of the GOAP architecture
information and pinpoint actions to the subordinates.
should also comprise the threat analyzer as it would
Instead, he or she should allow the subordinates to self-
perform planning in a similar way. Hence the threat
synchronize7 and be part of Network Centric Warfare
analyzer could be seen as a GOAP planner, but instead
(Smith, 2003; Alberts, 2007). This relatively modern
of delivering an action plan the threat analyzer is to
operational doctrinal view offers the subordinates a
determine how big a threat a certain entity constitutes,
broader view of the situation as they together may
based on that entity’s current world states and what
decide on what course of actions to take, much like
actions are known to the threat analyzer.
using a blackboard and emphasize emergent behavior,
in contrast to being micro managed by a high level
Much like how an ordinary GOAP planner is loaded
commander that perhaps has inadequate situation
with a set of actions, the threat analyzer is to be loaded
awareness. Alberts (2007, pp. 1) mentions the three
with those actions it should be able to account for when
core concepts agility, focus and convergence; where
performing a threat analysis; enabling it to formulate a
“…agility is the critical capability that organizations
“risk plan” given a certain goal world state fed by an
need to meet the challenges of complexity and
arbitrary input, like a doctrine or a command. The goal
uncertainty; focus provides the context and defines the
world state of the analyzer is thus more as an “anti
purposes of the endeavor; convergence is the goal-
goal” or unwanted world state, and the world states
seeking process that guides actions and effects.”
deemed dangerous will be substeps of a plan leading to
the unwanted world state. By comparing an entity’s
GOAP do employ both a decentralized and centralized
world states by those found in the formulated risk plan,
approach in that a specific order is having the effect of
the analyzer should be able to determine the threat
a certain goal having a higher preference, thus allowing
level and its completeness of the entity being assessed.
the squad member to consider the commander’s will,
In other words, the analyzer is to somewhat anticipate
whilst still, to some extent, maintaining its own
the occurrence imminence8 of its anti goal world state.
prioritization of goals. A squad in GOAP is therefore
not strongly coupled to its commander which also
The experiment will be seen as a success if the
implemented threat analyzer is able to assess a certain
C2 is defined by Department of Defense Dictionary entity and assign it a corresponding threat level and
of Military and Associated Terms (Joint Publication 1- completeness, by using a simplified GOAP
02, 2001) as: “Command and Control: The exercise of architecture9. The benefits of this threat analyzer in
authority and direction by a properly designated conjunction with GOAP should among other things be
commander over assigned and attached forces in the the simplicity of not having to flag a multitude of
accomplishment of the mission. Command and control individual world states as “dangerous”, but rather just
functions are performed through an arrangement of
personnel, equipment, communications, facilities, and
procedures employed by a commander in planning, The closer an entity is to achieving an undesired
directing, coordinating, and controlling forces and world state (from the threat analyzer’s point of view),
operations in the accomplishment of the mission…”. the bigger threat it poses.
7 9
“Self-synchronization is a way of distributing The need of utilizing the complete GOAP architecture
decision rights and is associated with a specific set of with all performance optimizations is most likely an
patterns of interactions among participants.” (Alberts, overkill, since the scenario will hold only two entities
2007, pp. 10) with a small amount of actions.
flag one or a few world states as undesired; from which collected, the Bandit will be able to make and plant a
all relevant interconnected dangerous world states, i.e. bomb at the make bomb and plant bomb area
threats, can be found when assessing a certain entity. respectively. Upon planting the bomb, the value of the
goal world state key kTargetIsBlownUp will
5. Realization change from false to true, meaning that the Bandit
has reached its goal. The other competitor, referred to
as the Law Enforcing Coalition Force (LECOF), will
have a threat analyzer, loaded with the same goal world
state as the Bandit, i.e. (kTargetIsBlownUp,
true). When the LECOF’s seeing sense spots the
Bandit, the LECOF’s threat analyzer is to assess the
Bandit’s world states according to Error! Reference
source not found.

Figure 6 – The simulated world where six key areas


The competitors will be equipped with a seeing sense,

able to identify agents and items residing in a walled
rectangular 2D world, as depicted in Error! Reference
source not found.. The world size will be set to
800x600 pixels and the agents are to be given a
movement speed of 100 pixels per second. This will
enable the agents to go around their business fast
enough while allowing an observer to follow the
agents’ behaviors. The agents seeing senses will be
given a 90 degree field of view with a see range of 100
pixels. The field of view will thus somewhat map to a
human counterpart, while the short see range keeps the
world and scenario more manageable. To clearly see
the agents and the bomb items, the entities are given a
radius size of 10 or 15 pixels respectively.

In order to give the LECOF a chance to assess the

Bandit while it is making or planting the bomb, the
make and plant bomb actions will be given a duration
of two seconds. Since the LECOF only assesses and
never intervenes, the Bandit agent will at some point Figure 7 - The action graph used by the Bandit’s GOAP
reach its goal. When this happens the scenario will be planner and the LECOF’s threat analyzer (rectangles
restarted and a new round will begin. The positions represent world states, circles represent actions).
where the Bandit will be able to make and plant the
bomb will be referred to as The Shack and The Target The action graphs of the Bandit and the threat analyzer
(see Error! Reference source not found.). will thus be identical, but used in different ways. The
actions (circles), as depicted in Error! Reference
One of the competitors, the Bandit, will have the goal source not found., are loaded into the Bandit’s GOAP
of reaching the world state (kTargetIsBlownUp, planner and the LECOF’s threat analyzer, which is to
assign the Bandit a certain threat level and completion
true), which will be done by amassing four bomb
percentage depending on the world states assessed. If,
items by walking up to them. Once the items have been
for example, the LECOF spots a Bandit that is carrying
bomb item x and has all world state keys set to false • Goal planner. The goal planner will be
(except kHasBombItemX), the threat analyzer should responsible of finding the most promising goal, i.e.
be able to find out that the Bandit is of threat level 4 the goal with highest relevancy. Once the most
with a 25 % completion, i.e. one of four of that level’s promising goal has been found, its goal world state
world states correspond to the threat analyzer’s action is returned and used by the GOAP planner in order
graph. to find a suitable action plan.11
The following components have been identified and
• Goals. Goals will be loaded into a goal planner
deemed necessary for the project:
and consider the current world states and/or other
• Entities, i.e. agents and bomb items. The contextual data in order to calculate their
embodiment of an agent or bomb item represented relevancy.
by a graphic primitive or picture. The simulation
• Actions. Actions are representations of world state
will contain two competing agents, and the bomb
transitions which are linked by preconditions and
items will be used as means of changing the world
effects. Actions will be used by a GOAP planner
state (and consequently the threat level) of the
or threat analyzer in order to formulate a plan or to
Bandit agent.
find dangerous (unwanted) world states.
• Senses. Each agent will have a seeing sense
responsible for detecting other agents and bomb 5.1. Identified actions and goals
items. The field of view will be conical and the see To keep the implementation simple and focus on threat
range will be limited in order to have the agents analysis with GOAP, only two goals will be
look for each other or bomb items. implemented, one for each agent. This should ease the
• Working memory. Each agent will have its own debugging complexity as well as keeping the scope of
working memory which will contain the scenario to a manageable and intuitive size,
representations of sensed entities of the world, i.e. regarding the needed actions. One could of course
memory facts. For instance may the seeing sense argue about the need of a goal planner when only one
post its primitive findings to the working memory, goal exists, but the architecture will this way be
where they later on may be accessed, questioned or extendible if a need of more goals arises. So even
evaluated by other subsystems of the agent. This though there will exist only one goal per agent, the
does in some sense let the working memory have functionality of the goals will be uncompromised, and
the role of a blackboard, that for example could be each goal will have a Relevance function
asked what known entity is currently closest. responsible of returning a representative value of the
particular goal to the goal planner.
• Simple GOAP planner. The simplified GOAP In order to build a scenario of the suggested design the
planner will be responsible of formulating a plan following goals have been identified and need to be
given a certain goal world state, found by the goal implemented:
planner. As performance optimizations will not be
necessary given the size of this project, A* • Plant bomb. The goal PlantBomb will be
searches will be replaced by brute force searches10. pursued by the Bandit agent and has the goal
world state (kTargetIsBlownUp, true).
• Threat analyzer. The threat analyzer will be This goal will also be loaded into the LECOF’s
responsible of calculating the threat level and its threat analyzer.
completeness of a certain entity by assessing the
world states found in that entity, given a certain • Find threat. The goal FindThreat will be
unwanted world state, i.e. “anti goal” of the threat pursued by the LECOF agent and has the goal
analyzer. world state (kSeesThreat, true).
• Plan. The plan represents a component that holds
a set of necessary actions which will enable its 11
user to reach its current goal world state. The plan The goal planner could be seen as a commander
will be passed from the GOAP planner to its telling or influencing the agent (i.e. the agent’s GOAP
owner, and is to be replaced with a new plan planner) what the desired effects or end-state is. The
whenever the plan fails or completes. commander is thus allowing the (subordinate) agent to
formulate a plan of its own, i.e. to find a set of actions,
not specified by the commander. Also, note that the
A brute force search could also be described as an goal planner could be an incarnation of a HTN planner
exhaustive search where in this case all actions are that handles the overall strategy and feeds world state
examined in order to formulate a plan. goals to the GOAP planner.
To enable the agents to reach these goals and make an • Go to make bomb area. The action
interesting scenario, the following actions will also GoToMakeBombArea will enable the Bandit to
have to be implemented: go to the make bomb area (see Error! Reference
source not found.) once all bomb items have been
• Find Bandit. The action FindBandit will
enable a LECOF agent to find a Bandit by roaming
Preconditions : (kHasBombItemX, true)
the world in a random direction until it hits a wall
AND (kHasBombItemY,
or sees a Bandit. If the LECOF hits a wall a new
true) AND
direction is randomly chosen. This means that no
(kHasBombItemZ, true)
neat steering behavior is used since it is not
AND (kHasBombItemW,
required for the problem at hand. true)
Precondition: None
Effect: (kIsAtMakeBombArea, true)
Effect: (kSeesBandit, true)
• Make bomb. By using the action MakeBomb at
• Assess Bandit. By using the action
the make bomb area, the Bandit will turn the bomb
AssessBandit a LECOF may assess a seen
items into a bomb.
Bandit (the Bandit’s world states). Depending on
Precondition: (kIsAtMakeBombArea,
the Bandit’s world states the LECOF’s threat
analyzer comes up with the current threat level and
completion of the Bandit assessed. Effect: (kHasBomb, true)
Precondition: (kSeesBandit, true) • Go to plant bomb area. Much like the action
Effect: (kSeesThreat, true) GoToMakeBombArea, this action will enable the
Bandit to go to the plant bomb area (see Error!
• Find bomb item. The action FindBombItem
Reference source not found.) once the Bandit
will work much like the FindBandit action and possess a bomb.
will enable the Bandit agent to find a bomb item. Precondition: (kHasBomb, true)
A Bandit using this action will roam the world in a
Effect: (kIsAtPlantBombArea, true)
random direction until it hits a wall or sees a bomb
item. If the Bandit hits a wall a new direction is • Plant bomb. By using the action PlantBomb at
randomly chosen. Just like the LECOF agent, the the plant bomb area, the Bandit plants the bomb.
Bandit does not use any advanced steering Precondition: (kIsAtPlantBombArea,
behavior. true)
Precondition: None Effect: (kTargetIsBlownUp, true)
Effects: (kSeesBombItemX, true) OR
(kSeesBombItemY, true) OR 5.2. Identified world state keys
(kSeesBombItemZ, true) OR
(kSeesBombItemW, true) The value type of all world state keys will be Boolean
since more advanced value types are deemed
• Pick up bomb item. The action unnecessary for this project. For instance will the world
PickUpBombItem will enable the Bandit to pick state key kSeesPaper have the value true or
up a bomb item, i.e. changing the value of the false, instead of a handle to the paper being seen.
appropriate world state key. If for example the To string together the bomb items with more accessible
agent lacks bomb item x but sees it, this action and intuitive real world counterparts, the naming of the
makes the agent pick up the bomb item, and bomb items will hereafter be Paper, Fertilizer, Sulphur
thereby changing the Bandit’s world state key and Bombshell. As the author is no bomb expert, it is at
kHasBombItemX from false to true. the reader’s discretion to look upon the bomb items as
Preconditions: (kSeesBombItemX, true) he or she may see best fit. The following world state
OR (kSeesBombItemY, keys have been identified and are to be used in the
true) OR project:
true) OR
Effects: (kHasBombItemX, true) OR kHasPaper
(kHasBombItemY, true) OR kHasFertilizer
(kHasBombItemZ, true) OR kHasSulphur
(kHasBombItemW, true)
kHasBombshell information around, than inspecting the AI objects
kIsAtMakeBombArea directly:
kIsAtPlantBombArea • You can model communication latency by
kTargetIsBlownUp briefly queuing the messages.
kIsAtTargetNode • You can present the message in the game
kSeesBandit using animations or sound.
• You can filter out messages to the player to
prevent overloading him.
6. Results
• The squad member will send messages to
As in most simulations the result is highly coupled with dead squad members it assumes still to be
what starting values and abilities the performing alive, adding to realism (and preventing
entities are given. In this project parameters such as “perfect knowledge”).
world size, item placement, agent speed, field of view,
see range, entity size and other ability limitations such • You can use scripted entities to direct one or
as always looking in the direction of movement, have a more squad members by having the scripted
critical impact on the overall result. By tweaking these entities send messages to these squad
parameters to a somewhat realistic or accessible members.
scenario, the result can be evaluated in the context of
• You can accommodate human squad
the problem at hand. The point here is that the values
members, whose state information is largely
that were used do share a resemblance of a real world
unavailable, but for whom the AI can emulate
counterpart, even though they have been tweaked to
messages with observations and intentions.
serve the outcome in a positive way. For example were
the agents’ field of view set to 90 degrees and their Besides incorporating an agent-to-agent
movement speed to 100 pixels per second. If the communication system, the message passing
LECOF’s field of view was to be impaired to zero, i.e. system may also serve as a tool for communication
turning the LECOF blind, the Bandit would never be between other components of the system. By using
assessed and no threat assessments would occur, even messages the system becomes an event-driven
though the underlying threat analysis technique architecture, which generally is preferred because
remained the same. As it turned out, the scenario was of its efficiency and polling avoidance (Buckland,
simplified enough to be accessible, whilst remaining 2005). The event-driven architecture allows an
true to a somewhat similar real world setting. entity to be sent the information of interest and
thereafter act upon it as it may seem fit. Yet
7. Discussion another benefit is explained by Reynolds (2002,
pp. 267):
7.1. Message passing Fortunately, this implementation [the use of
Reynolds (2002) states that “The use of message message passing] offers the programmer the
passing is very effective when implementing team- opportunity to log the messages between the levels
based AI. Using messages to communicate between of command. This can be used to provide quite
different layers of the hierarchy is a very natural way natural dialogue between levels of command
of passing orders and information.”. outlining all the information and decisions that
By employing message passing the system benefits have been made. This can be invaluable when
from increased information hiding and decoupling of tracing where the errant information has come
interacting components, since the entity sending the from or which decision was at fault.
message does not have to know anything about the
recipient, other than its ID. By sending messages the 7.2. Intent and the advent of C-BML
interacting entities are also able to share their Another aspect of message passing is the use of a
awareness of the situation, which for instance built the consistent language which in the best of worlds would
squad’s shared tactical picture in the SAMPLE agent be unambiguous and interpretable by both man and
architecture (Aykroyd, Harper, Middleton & Hennon, machine. This would enable the message receivers to
2002), further described in section 3.2. Van der Sterren without subjective influences grasp the sender’s
(2002a) gives these reasons to why it is more attractive ambition of the current subject. The benefits of a
to use messages to pass squad member state common and unambiguous language, fit for human-to-
human, human-to-machine, or machine-to-machine
interaction, seem almost endless. Alberts (2007) claims Furthermore, the intent can be divided into an explicit
that “Changing the language we use will free us in our and implicit part, where the explicit intent can be seen
search for a solution for a better approach. If we as the commander’s straightforward orders, while the
develop a suitable language, it will point us in a right implicit intent is developed over a longer time, prior to
direction as well.”. Work in this area is currently the mission, and consist of the expressives12 and the
underway with the evolution of the Coalition Battle concepts, policies, laws and doctrine agreed to by
Management Language (C-BML) and Tactical military, civil, organizations, agencies, nations and
Situation Object (TSO), as described by Gustavsson, coalitions (Gustavsson et al., 2008). Farrell (2004)
Nero, Wemmergård, Turnitsa, Korhonen, Evertsson gives the example that if explicit intent is “to capture
and Garcia (2008). The C-BML standard is based on the hill”, then implicit intent might be “to capture the
the 5W, which according to Kleiner et al. (1998, pp. hill with minimal battle damage” or “to capture the hill
883) makes it: with Air Force assets only”.
…possible to describe any mission or task given to a
subordinate in a standardized manner with a who The Operations Intent and Effects Model (OIEM) in
(relates to a task organization database entry), what (in figure 9 presents that simulation systems can use for
doctrinal terms), when (specified time, on order, or both forward and backtracking planning. The model
keyed to a triggered event), where (related to a shows how an initial state is detected by a Decision
coordinate or graphical control measure), and why (in Making Process that produces an order that describe
doctrinal terms). actions that cause effects that change the state into the
desired End-State. The OIEM is to be a basis for a
C-BML is supposed to express the knowledge which system design that combines the grammar and
flows within a certain system like an autonomous agent engineered knowledge with search mechanisms
or automated decision-support system, and (Gustavsson et al., 2008).
unambiguously describe Commander’s Intent (CI)
without in any way impairing or constraining the CI The huge effort of developing a language capable of
(Lagervik & Gustavsson, 2006; Blais, Galvin & Hieb, preserving the Commander’s Intent to all participants
2005; Gustavsson, Hieb, Eriksson, Moore & Niklasson, of the command hierarchy is still in its prime, but will
2008). As C-BML stems from BML (Battle hopefully satisfy the ever increasing need to control,
Management Language), it shares the same purpose in command, and coordinate the complex planning
being able to formulate orders, requests and reports situations a coalition13 may face.
through a standardized language for military
communication. In turn, BML is built on the Command
and Control Lexical Grammar (C2LG) which was first
formalized by Hieb & Schade (2006) and is still under
development. Borgers, Spaans, Voogd, Hieb & Bonse
(2008) claims that “As long as every agent, operator
and C2SS [Command and Control Support System]
sends and receives BML messages, a seamless
connection between them is possible.”. The
representation of CI is to contain the mission team’s
purpose, the anticipated End-State of the mission and
desired key tasks (Gustavsson et al., 2008).

Gustavsson et al. (2008) refer to expressives as a
component of CI that describes the style of the
commander conducting the operations with respect to
experience, risk willing, use of power and force,
diplomacy, ethics, norms, creativity and unorthodox
“A set of heterogeneous entities including both
military and civil governmental organizations as well
as international and private ones, were not amenable to
unity of command or a traditional hierarchy organized
around strategic, operational , and tactical levels.”
(Alberts, 2007, pp. 4)

Figure 9 – Operations Intent and Effects Model

3. References entations/280.pdf
Ackoff, R. L. 1999. Ackoff’s Best – His Classic [Accessed 4 February 2008]
Writings on Management. John Wiley & Sons,
Hoboken, New Jersey. Buckland, M. 2002. AI Techniques for Game
Programming. Premier Publishing Ltd, Glasgow, UK.
Alberts, D. S. 2007. Agility, Focus, and Convergence: Buckland, M. 2005. Programming Game AI by
The Future of Command and Control. The Example. Wordware Publishing Inc, Plano, Texas,
International C2 Journal, 1(1), pp. 1-30. Available USA.
from: Buschmann, F. 1996. Pattern-Oriented Software
http://www.dodccrp.org/files/IC2J_v1n1_01_Alberts.p Architecture. Wiley & Sons Ltd, West Sussex, UK.
df [Accessed 28 April 2008]
Burke, R., Isla, D., Downie, M., Ivanov, Y. and
Aykroyd, P., Harper, K. A., Middleton, V. and Blumberg, B. 2001. Creature Smarts: The Art and
Hennon, C. G. 2002. Cognitive Modeling of Individual Architecture of a Virtual Brain. In Proceedings of
Combatant and Small Unit Decision-Making within the Game Developers Conference, San Jose, California,
Integrated Unit Simulation System. In Proceedings of USA, March 20-24, pp. 147-166. Available from:
the 11th Computer-Generated Forces and Behavior http://www.media.mit.edu/characters/additional%20res
Represe, May 7-9, Orlando, FL, USA, ref 11TH-CGF- ources/gdc01.pdf
073. [Accessed 21 February 2008]

Baxter, J. and Hepplewhite, R. 2000. A Hierarchical Doris, K. and Silvia, D. 2007. Improved Missile Route
Distributed Planning Framework for Simulated Planning and Targeting using Game-Based
Battlefield Entities. In Proccedings of the 19th Computational Intelligence. In Proceedings of the 2007
Workshop of the UK Planning and Scheduling Special IEEE Symposium on Computational Intelligence in
Interest Group, Milton Keynes, UK, December 13-14. Security and Defense Applications, Honolulu, Hawaii,
Available from: April 1-5, pp. 63-68.
http://mcs.open.ac.uk/plansig2000/Papers/P7.pdf Dybsand, E. 2004. AI Game Programming Wisdom 2.
[Accessed 4 April 2008] In: Steve Rabin, editor.

Bedney, G. and Meister, D. 1999. Theory of Activity Goal-Directed Behavior Using Composite Tasks.
and Situation Awareness. Int. J. Cognitive Ergonomics, Charles River Media, Massachusetts, chapter 3.6, pp.
3(1), pp. 63-72. 237-245.

Blais, C., Galvin, K. and Hieb, M. 2005. Coalition Endsley M. R. 1995. Toward a Theory of Situation
Battle Management Language Awareness in Dynamic Systems. Human Factors,
(C-BML) Study Group Report. In Proceedings of the 37(1), pp. 32-64.
2005 Fall Simulation Interoperability Workshop,
Orlando, Florida, USA, September, ref 05F-SIW-041 Erol, K., Hendler, J. and Nau, D. S. 1994. HTN
Available from: Planning: Complexity and Expressivity. Proceedings of
http://www.movesinstitute.org/~blais/Documents/05F- the Twelfth National Conference on Artificial
SIW-041.pdf [Accessed 4 February 2008] Intelligence, AAAI Press/MIT Press, Seattle,
Washington, USA, July 31-August 4, pp. 1123-1128.
Borgers, E., Spaans, M., Voogd, J., Hieb, M. R. and
Bonse, R. 2008. Using a Command and Control Farrell, P. S. E. 2004. Measuring Common Intent
Language to Simulate Operations in a Multi-Agent during Effects Based Planning [online]. In Proceedings
Environment. In Proceedings of the 13th ICCRTS: C2 of 2004 Command and Control Research and
for Complex Endeavors, Bellevue, WA, USA, June 17- Technology Symposium: The Power of Information Age
19. [CD-ROM] Concepts and Technologies, Defence Research and
Development Canada – Toronto, San Diego, CA, USA,
Breton, R. and Rousseau, R. 2005. The C-OODA: A June 15-17. [CD-ROM] Available from:
Cognitive Version of the OODA Loop To Represent C2 http://www.dodccrp.org/files/2004_CCRTS.zip
Activities [online]. In Proceedings of the 10th [Accessed 29 April 2008]
International Command and Control Research and
Technology Symposium, McLean, USA, June 13-16. F.E.A.R. – First Encounter Assault Recon 2005.
[CD-ROM] Available from: Monolith Productions/Sierra Entertainment Inc,
http://www.dodccrp.org/events/10th_ICCRTS/CD/pres Kirkland, Washington, USA. [Computer program]
Fikes, R. E. and Nilsson N. J. 1971. STRIPS: A new [Accessed 14 February 2008]
approach to the application of theorem proving to
problem solving. Artificial Intelligence, 2(3-4), pp. International Game Developers Association, Working
189-208. Group on Goal-Oriented Action Planning 2005. The
2005 AIISC Report. Available from:
Gustavsson, P. M., Nero, E., Wemmergård, J., http://www.igda.org/ai/report-2005/goap.html
Turnitsa, C., Korhonen, M., Evertsson, D., and Garcia, [Accessed 11 February 2008]
J. 2008. Tactical Situation Object – Enabling joint
Crisis Management Training. In Proceedings of the Kleiner, M. S., Carey, S. A. and Beach, J. 1998.
2008 Spring Simulation Interoperability Communication Mission-Type Orders To Virtual
Workshop, IEEE CS Press, Providence, Rhode Island, Commanders. In: D. J. Medeiros, E. F. Watson, J. S.
USA, April 14-17, ref 08S-SIW-018. Carson, M. S. Manivannan, editors. In Proceedings of
the 1998 Winter Simulation Conference, Washington
Gustavsson, P. M., Hieb, M., Eriksson, P., Moore, P. DC, USA, December 13-16, pp. 881-886.
and Niklasson, L. 2008. Machine Interpretable
Representation of Commander’s Intent. In Proceedings Lagervik, C. and Gustavsson, P. M. 2006. A System
of the 13th ICCRTS: C2 for Complex Endeavors, Theoretical Approach to Situation Awareness and
Bellevue, WA, USA, June 17-19, ref I-188. [CD- Architecture. In Proceedings of the 11th International
ROM] Command and Control Research and Technical
Symposium (ICCRTS), Cambridge, UK, September 26-
Hieb, M. R. and Schade, U. 2008. A Linguistic Basis 28. [CD-ROM]
For Multi-Agency Coordination. In Proceedings of the
13th ICCRTS: C2 for Complex Endeavors, Bellevue, Long, E. 2007. Enhanced NPC Behaviour using Goal
WA, USA, June 17-19, ref I-152. [CD-ROM] Oriented Action Planning. M.Sc. thesis. School of
Computing and Advanced Technologies, Division of
Hieb, M. R. and Schade, U. 2006. Formalizing Battle Software Engineering, University of Abertay Dundee,
Management Language: A Grammar for Specifying Scotland, UK. Available from:
Orders. Presented at Spring Simulation Interoperability www.edmundlong.com/Projects/Masters_EnhancedBe
Workshop. Simulation Interoperability Standards haviourGOAP_EddieLong.pdf [Accessed 19 February
Organization, Huntsville, AL, USA, April 2-7, ref 06S- 2008]
Muñoz-Avila, H. and Hoang, H. 2006. AI Game
Hoang, H., Lee-Urban, S. and Muñoz-Avila, H. 2005. Programming Wisdom 3. In: Steve Rabin, editor.
Hierarchical Plan Representations for Encoding Coordinating Teams of Bots with Hierarchical Task
Strategic Game AI. In Proceedings of the First Network Planning. Charles River Media,
Artificial Intelligence and Interactive Digital Massachusetts, chapter 5.4, pp. 417-427.
Entertainment Conference, AAAI Press, June 1-5,
Marina del Rey, CA, USA, pp. 63-68. No One Lives Forever 2 : A Spy in H.A.R.M.’s Way
2002. Monolith Productions/Sierra Entertainment Inc,
Holland, T. O. 2008. Towards a Lexicon for the Kirkland, Washington, USA.
Modeling and Simulation of Emergent Behavior [Computer program]
Systems. In Proceedings of 2008 Spring SIW/BRIMS
Conference, April 14-18, Providence, RI, USA, ref O’Brien, J 2002. AI Game Programming Wisdom. In:
08S-SIW-058. Steve Rabin, editor. A Flexible Goal-Based Planning
Architecture. Charles River Media, Massachusetts,
International Game Developers Association, Working chapter 7.5, pp. 375-383.
Group on Goal-Oriented Action Planning 2003. The
2003 AIISC Report. Available from: Ontañόn, S., Mishra, K., Sugandh, N. and Ram, A.
http://www.igda.org/ai/report- 2007. Case-Based Planning and Execution for Real-
2003/aiisc_goap_report_2003.html Time Strategy Games. In Proceedings of the
[Accessed 14 February 2008] International Conference on Case-based Reasoning
(ICCBR 2007), Belfast, Northern Ireland, UK, August
International Game Developers Association, Working 13-16, pp. 164-178. Available from:
Group on Goal-Oriented Action Planning 2004. The http://www.cc.gatech.edu/faculty/ashwin/papers/er-07-
2004 AIISC Report. Available from:
11.pdf Simple and Fast Multimedia Library 2008. Laurent
[Accessed 11 February 2008] Gomila. [Computer program]
Available from: http://www.sfml-dev.org/
Orkin, J. 2004a. Symbolic Representation of Game [Accessed 21 March 2008]
World State: Toward Real-Time Planning in Games. In
Proceedings of AAAI Workshop - Challenges in Game Smith, E. A. 2003. Effect-Based Operations [online].
Artificial Intelligence 19th National Conference on The Command and Control Research Program.
Artificial Intelligence, AAAI Press, San Jose, CA, Available from:
USA, July 25-26, pp. 26-30. http://www.dodccrp.org/files/Smith_EBO.PDF
[Accessed 28 April 2008]
Orkin, J. 2004b. AI Game Programming Wisdom 2. In:
Steve Rabin, editor. Simple Techniques for Straatman, R., van der Sterren, W. and Beij, A. 2005.
Coordinated Behavior. Charles River Media, Killzone’s AI: Dynamic Procedural Combat Tactics. In
Massachusetts, chapter 3.2, pp. 199-206. Proceedings of the Game Developers Conference 2005,
San Francisco, CA, USA, March 7-11. Available from:
Orkin, J. 2004c. AI Game Programming Wisdom 2. In: http://www.cgf-
Steve Rabin, editor. Applying Goal-Oriented Action ai.com/docs/straatman_remco_killzone_ai.pdf
Planning to Games. Charles River Media, [Accessed 5 February 2008]
Massachusetts, chapter 3.4, pp. 217-227.
S.T.A.L.K.E.R.: Shadow of Chernobyl 2007. GSC
Orkin, J. 2005. Agent Architecture Considerations for Game World/THQ, Kiev, Ukraine. [Computer
Real-Time Planning in Games. In Proceedings of the program]
Artificial Intelligence and Interactive Digital
Entertainment Conference, Marina del Rey, California, van der Sterren, W. 2002a. AI Game Programming
USA, June 1-3, pp. 105-110. Available from: Wisdom. In: Steve Rabin, editor. Squad Tactics: Team
http://web.media.mit.edu/~jorkin/aiide05OrkinJ.pdf AI and Emergent Maneuvers. Charles River Media,
[Accessed 21 February 2008] Massachusetts, chapter 5.3, pp. 233-246.

Orkin, J. 2006. Three States and a Plan: The A.I. of van der Sterren, W. 2002b. AI Game Programming
F.E.A.R. In Proceedings of the Game Developer’s Wisdom. In: Steve Rabin, editor. Squad Tactics:
Conference 2006, San Jose, CA, USA, March 20-24. Planned Maneuvers. Charles River Media,
Available from: Massachusetts, chapter 5.4,
www.cs.ualberta.ca/~bulitko/F06/papers/gdc2006_orki pp. 247-259.
[Accessed 31 January 2008] Wallace, N. 2004. AI Game Programming Wisdom 2.
In: Steve Rabin, editor. Hierarchical Planning in
Paolucci, M., Shehory, O. and Sycara, K. 2000. Dynamic Worlds, Charles River Media,
Interleaving Planning and Execution in a Multiagent Massachussetts, chapter 3.5, pp. 229-236.
Team Planning Environment. Technical report CMU-
RI-TR-00-01, Robotics Institute, Carnegie Mellon Author Biographies
University, USA, February 5. Available from:
http://www.ri.cmu.edu/pubs/pub_3274.html [Accessed Philip Bjarnolf is a
21 April 2008]
Per M. Gustavsson is a Senior Research Scientist at
Reynolds, J. 2002. AI Game Programming Wisdom. the Training Systems and Information Fusion office at
In: Steve Rabin, editor. Tactical Team AI Using a Saab Microwave Systems working with applied
Command Hierarchy. Charles River Media, research in the area of advanced decision support
Massachusetts, chapter 5.5, pp. 260-271. systems. He is also an industrial Ph.D. student at
University of Skövde, Sweden and Assistant Professor
Schubert, J., Wallén, M. and Walter, J. 2007. at C4I-Center, George Mason University. Gustavsson
Morphological Refinement of Effect Based Planning. holds a M.Sc. in Computer Science, New Generations
Proceedings of the Third Int. Conf. Military Representations, Distributed Real-Time Systems and a
Technology (MilTech3), June, Stockholm, Sweden, B.Sc. in Systems Programming both from University of
FOI – Totalförsvarets forskningsinstitut, ref Paper Skövde, Sweden.
Christoffer Brax
Mikael Fredin

View publication stats