The Department of Defense (DoD) relies on highly complex command and control systems for the effective operation of its military forces. These systems are responsible for the gathering, processing, dissemination, and display of information needed in the execution of the forces. These systems are often widely distributed in extent (including globally), typically require fast response times, and can have rapidly changing data. Human operators are typically involved in command and control systems, but increasing emphasis is being placed on automating the processes in which they would normally participate.
The point of this position paper is to describe briefly the importance of compositional software architectures to these command and control systems, and thus to argue for increased interaction between the compositional software architecture and command and control communities.
Joint Technical Architecture (JTA). The JTA's influence is widespread in that it is mandatory for all DoD command and control systems. Version 1.0 of the JTA has been released and version 2.0 is now under development with expected release in March 1998. The JTA as it now stands is largely a listing of standards applicable to the general development of information systems. These standards are organized in the JTA into the following categories: information processing, information transfer, information modeling and information, human-computer interface, and information systems security. Both existing and emerging standards are listed.
The JTA in its current form is limited in two important and related ways. First, it is too general in the sense that it applies to information systems in general and not to command and control systems in particular. That is, the essence of "architecting" should be to generalize and abstract properties across some given domain (in this case command and control) so as to provide guidance for developers in that domain. To proceed at a more general level misses important design constraints and guidance. Second, the JTA contains no concept of the system as a whole so as to guide development of the overall system as a composition of components. Rather, it is a listing of standards for the parts of the system.
High-Level Architecture for Simulation (HLA). While the HLA,
as its name implies, applies to simulations and not to command and control
systems, it is useful to briefly review it since it explicitly focused
on capturing the overall system concept. That is, as a starting point,
the HLA regarded that any simulation system would generally be composed
of a set of simulations. Then, the HLA abstracted the principles that described
how these individual simulations could be composed to form the overall
simulation system at a level of generality that would apply to the whole
range of simulations that DoD uses (e.g., from high resolution engineering
simulations to more aggregated training simulations). The resultant HLA
consists of three parts: a set of design rules for overall
system composition, a runtime interface specification governing the interaction between the individual simulations forming the overall simulation system, and an object model template prescribing the form in which information about the individual entities in the simulations must be recorded. The HLA has been mandated as the technical architecture for all DoD simulations.
Advanced Information Technology Services Reference Architecture (AITS RA). The AITS RA is particularly important to consider because it can serve as a vehicle where new architectural concepts for command and control systems are developed and then transitioned into the JTA, which will in turn influence all DoD command and control systems. The AITS RA is under development by the Information Systems Office of the Defense Advanced Research Project Agency (DARPA). It is intended to support reuse among and interoperability between command and control systems being developed by the Information Systems Office. The AITS RA is characterized by a set of servers providing generic and domain-specific services for command and control applications. CORBA is currently taken as the basic interaction mechanism among the numerous distributed applications and services. Specification of the AITS RA is now in draft form, with expected release of its first version in early 1998.
A brief comparison of the HLA and AITS RA "philosophies" is useful. The HLA perspective is centered around application interaction. That is, it takes the individual simulations as a given and does not modify their internals, but rather asks how these individual components can be coupled together. The AITS RA on the other hand focuses on application decomposition by specifying the set of services from which the applications will be built. Thus, the HLA has a more general conceptual structure while the AITS RA is richer in terms of supporting services.
There are two general ways that compositional software architectures relate to the AITS RA. First, they might provide a richer set of representational techniques for displaying the AITS RA. Currently, the AITS RA puts most emphasis on a layered view and not ones that, for example, fully emphasize the distributed nature of the system. Second, the new compositional software architecture concepts that are being developed can be worked into the AITS RA as appropriate. This leads to several interesting possibilities: