Type of Research: Academic funded by the Office of Naval Research, Virtual Training & Environments Program,
Summary:
This article is an overview of the approach that Laird is using to create urban warfare (MOUT) agents (MOUTBots) with his SOAR language. It does not include and specific source code and many of the ideas mentioned in the article have not yet been implemented. The two basic themes of the article are:

Figure 1: A notional view of behavior space. As illustrated in Figure 1, within the space of all correct or good behaviors, different [human behavior models] HBMs (or the same HBM at a different time) can follow different paths through the behavior space.
In other words: when properly implemented two MOUTBots would make different decisions but still be in the good decision category.

Figure 3 Variability influences all aspects of HBM behavior generation.
[W]e introduce a simple model of behavior generation with perception, reasoning, and action components. Figure 3 provides a notional view of such an agent
Agents receive input from some external task environment. This input must be transformed to a representation that the agent can understand. Internally, the process of perception is mediated by situation interpretation knowledge, allowing the external situation to be interpreted in terms of the current mission, goals, and rules of engagement, etc. Reasoning is the process of generating, evaluating, and selecting goals and actions. Reasoning is influenced by the agents current situational assessment, its background knowledge, emotional state, and current physical capabilities. The selections of goals lead to actions that are executed in the external environment.
Conclusion:
This seems like a logical way of creating agents inside an urban warfare simulation that display certain human characteristics including variability of The Current State of Human-Level Artificial Intelligence in Computer Simulations and Wargames. Page 53 of 116 decisions. However, this article is completely theoretical and abstract. It appears that so far there has been no attempt to actually create these agents inside of a computer program.