which public comments generally (and even, sometimes, informal discussions) skirt around known problems, to the point at where the proverbial emperor’s lack of clothes is not even consciously recognized.

In time, such problems are usually resolved because people seek to do a good job, and facts do matter. Moreover, it is natural for scientists and engineers to be questioning and assertive. It is gratifying to note that the technical literature now has numerous candid and thoughtful articles on the subject of composability, articles that go well beyond what they did a few years ago. Nonetheless, recovering from the promulgation of poorly conceived goals and initiatives can take many years.2

Syntax, Semantics, Pragmatics, Assumptions, and Validity

A continuing difficulty in the discussion of composability is distinguishing among the kinds of problems that arise. The usual discussion still refers to problems being either syntactic or semantic, but the situation is more complex than is conveyed by that description. The following items provide a tutorial and recommend distinctions that need to be made systematically. They deal with syntax, semantics, pragmatics, assumptions, and validity.

  • Syntax. In shorthand, consistency of syntax means that two models can operate together. That is, the digital output from one can be read as the digital input to the other. Protocols such as HLA are designed to assure syntactical consistency among models to be connected.

  • Semantics. Semantics is usually defined as “meaning.” Thus, if some data can flow from Model A to Model B, the semantic question is seen as whether those data are understood by both A and B to mean the same thing (e.g., the current personnel strength of a battalion). To computer scientists, however, the operational meaning of semantic consistency is often much narrower and computer oriented.3

  • Pragmatics. Consistency of meaning is not always straightforward because the same word means very different things depending on context. Moreover, key aspects of that context may not be explicit. This is the realm of pragmatics. The term “force ratio,” for example, may refer to the ratio of forces as measured at a theater level, an operational level, or a tactical level. Even if one knows that the tactical level is the one intended, the term remains ambiguous because it can refer to battalion-level conflict or something more microscopic, such as when individual fighting vehicles and infantry are engaged. The related force ratios are not the same. Another aspect of pragmatics involves ontology. One model may have a built-in concept that a squad is a component of a platoon, which is a component of a company, and so on. Another model may have no such assumed structure because, in the context for which it was built, such an assumption was not necessarily correct (as in a treatment of special forces operations, which often involve very small teams that are not effectively associated with higher units during their operations). For the two models to compose well, it may be necessary for any such discrepancy to be resolved.4

  • Assumptions. The difficulties continue. The data’s meaning may be well understood, but the way Model A calculates the data may not be suitable for what B needs. Sometimes this may be a matter of precision, but other times it may be considerably more subtle. “The temperature,” for example, might refer to a surface temperature, an average temperature over some path into the ocean relevant to a sensor, the ambient air temperature on a battlefield with very hot moving objects, etc. Still other times, the calculation reflects assumptions that are only sometimes valid. This is more than pragmatics as that term is usually used in linguistics; it involves “assumptions.”

  • Validity. And, finally, there is the question of whether the assumptions are correct. If composability includes the requirement that a composition be meaningful, that



Examples of these relatively straightforward semantic issues are lexicographic problems—i.e., the syntax may work, but the usage cannot make sense. Some homely examples are division by zero, providing an alleged value of an array that is inconsistent with the array’s dimensionality, or using a character not permitted by the language.


The issue of ontological assumptions is emphasized in recent work by Andreas Tolk and students (Turnitsa, 2005). Other authors regard such matters as more a matter of assumptions than of pragmatics, which they see as contextual meaning (Davis and Anderson, 2003; Hofmann, 2004). Most software engineers and computer scientists subsume pragmatics, assumptions, and validity under pragmatics (see, e.g., Szyperski, 2002).

The National Academies | 500 Fifth St. N.W. | Washington, D.C. 20001
Copyright © National Academy of Sciences. All rights reserved.
Terms of Use and Privacy Statement