I cannot teach anybody anything, I can only make them think.
   — Socrates


The notion of after action review (AAR) is well known in the military domain. Whether squads of dismounted infantry, platoons of tanks or squadrons of aircraft, a post mission review is used to develop a common picture of what happened and why. Recently, the general concept of the AAR has been “rediscovered” by domains other than the military. The concept of AAR has wide use potentially in many domains beyond the military. Indeed, AAR is where the training occurs. A simulation can provide a method to practice, but the review process is the key to understanding.

After action review is an established procedure within the U.S. Army and our virtual after action review work has been well received by soldiers. However, people from other domains (e.g. medical and education) have also been intrigued by what a post simulation review could bring to their training. Obviously, a review within these domains would be different from a military-oriented session. This project addresses this issue through the development of a new system: System of Object-based Components for Review and Assessment of Training Environment Scenarios, or SOCRATES.

SOCRATES is not a new general-purpose AAR system. Rather, SOCRATES is an AAR engine. By “AAR engine” we mean a system that provides the common functionalities across all potential AAR systems into a single foundation for all training environment scenarios (much like a game engine provides the common needs of games).

Whether military or another domain, there are many capabilities needed in an AAR system. For example, recording and playback of scenario data with full ability to pause, rewind and jump to specific events. In addition, support for a graphical user interface and potentially other interfaces (such as an electronic whiteboard) could be included. On the other hand, there are also some features that may be specific for each domain.

To address these issues we are constructing SOCRATES to have a fundamental architecture of common functionalities coupled with a plug-in architecture for specific domain features. In addition, the plug-in architecture will allow users to write their own new capabilities to include in their AAR. Furthermore, they could even write a set of plug-ins to create an AAR system for their own, new domain.