A Composability Lexicon - University of Virginia

advertisement
A Composability Lexicon
Mikel D. Petty and Eric W. Weisel
Virginia Modeling, Analysis and Simulation Center
Old Dominion University
Norfolk VA 23529
mpetty@vmasc.odu.edu 757-686-6210, eweisel@odu.edu 757-686-6227
Keywords:
Composability, Interoperability
ABSTRACT: Composability is the capability to select
and assemble simulation components in various
combinations into simulation systems to satisfy specific
user requirements.
The defining characteristic of
composability is the ability to combine and recombine
components into different simulation systems for different
purposes. Composability would have many benefits for
the practice of simulation. However, the precise meaning
of the term “composability” and related terminology in
the research literature is surprisingly varied.
Composability has multiple related meanings or levels
that differ primarily by the question of what is being
composed. Nine distinct levels of composability are
identified, defined, and compared.
Two views on
composability, concerned with the syntactic and semantic
aspects of composability respectively, are contrasted.
Interoperability and configurability are related to
composability, but they are different ideas, as
interoperability is necessary but not sufficient to produce
composability at the federate level.
1.
Introduction
Composability is an increasingly important issue in
simulation system development. Different meanings of
the term appear in the simulation research literature; they
are generally similar in concept but often differ in
emphasis or level. The fact that composability means
different things in different contexts has been noted
previously [1]. The goal of this paper is to clarify the
lexicon of composability by giving a single common
definition for the term, listing and defining different
levels of composability, and differentiating composability
from related ideas, such as interoperability.
2.
Definition of Composability
These example definitions of composability from the
literature illustrate the variations that can be found:
The ability to rapidly configure, initialize, and
test an exercise by logically assembling a
simulation from a pool of reusable components
[2].
The ability to create, configure, initialize, test,
and validate an exercise by logically assembling
a unique simulation execution from a pool of
reusable system components in order to meet a
specific set of objectives [3].
The ability to build new things from existing
pieces [4].
The ability to compose models/modules across a
variety of application domains, levels of
resolution and time scales [5].
The following common definition of composability is
proposed. Composability is the capability to select and
assemble simulation components in various combinations
into valid simulation systems to satisfy specific user
requirements.
The components to be composed may be drawn from a
library or repository of components, as suggested in
Figure 1. That library might include multiple network
interfaces, different user interfaces, a range of classes of
implemented entity models, a variety of implemented
physical models at different levels of fidelity, and so on.
Different sets of components from the repository may be
composed into different simulation systems.
The
components may be reused in multiple simulation
systems.
The defining characteristic of composability is that
different simulation systems can be composed at
configuration time in a variety of ways, each suited to
some distinct purpose, and the different possible
compositions will be usefully valid simulation systems.1
Composability is more than just the ability to put
simulations together from parts; it is the ability to
combine and recombine, to configure and reconfigure,
sets of parts from those available into different simulation
systems to meet different needs.
If the compositions aren’t valid, then by definition they
aren’t composable.
1
Component
Repository
Simulation A
11
33
22
33
52
52
Simulation B
11
88
33
22
22
...
N
N
N
N
Figure 1. Notional example of composability.
3.
When uses of the term “composability” in the literature
are compared it is apparent there is one way in which the
meanings often differ. Indeed, that difference is hinted at
in the quotations given earlier. The uses differ on the
question of what is being composed and what is formed
by the composition. A number of different answers can
be found in the literature; they will be referred to as levels
of composability. Nine levels of composability are
defined here.2 These levels have been drawn from
various sources, some of which explicitly or implicitly
include several of the levels defined here in composability
(e.g., [6]). Composability levels from different sources
that were essentially the same have been combined.
Those listed here have different meanings and
implications, but there may be some overlap in
component and scale between them.
1.
2
and auxilliary software components are composed
into simulation events, exercises or experiments [7].
For this to be a level of composability, rather than
simply integration, the composition must be done in
way that allows combining and recombining the
applications into different systems and events (more
on the distinction between composition and
integration later). This level of composability has
also been called “event-level” [7].
Levels of Composability
Application. Applications such as simulations, real
C4I systems, networks, communications equipment,
In this list the levels are named after the unit of
composition, i.e., the components being composed.
Another method of naming the levels is after the result of
composition, i.e., what is produced from the components.
Other sources have taken both the former approach [1] [2]
and the latter approach [7].
2.
Federate. Federates are composed into persistent
federations.3 A federation is persistent if is reused for
a number of different purposes (such as events,
exercises, or experiments), though possibly with
some changes to the set of federates that have been
composed. The composition may be supported by an
interoperability protocol, such as HLA, ALSP, or
DIS.4 Examples of this level of composability
include the Joint Training Confederation and the
The terms “federate” and “federation” have specific
HLA meanings; here they are being used with more
generic meanings analogous to their HLA meanings to
denote simulations linked together, but not necessarily
with HLA.
3
4
DIS is Distributed Interactive Simulation, ALSP is
Aggregrate Level Simulation Protocol, and HLA is High
Level Architecture.
Combat Trauma Patient Simulation [8]. This level of
composability has also been called “federation-level”
[7].
3.
Package. Pre-assembled packages comprising sets of
models that form a consistent subset of the
battlespace are composed into simulations [1] [2].
4.
Parameter. Parameters are used to configure preexisting simulations [1] [2]. The sources also include
in this level of composability, which they call the
“simulation” level, the idea that a limited pool of
packages may be composed into simulations. In the
lexicon of this paper that second level is included in
package level.
5.
6.
Module. Software modules5 are composed into
software executables. The executables may be
federates in a federation or standalone simulation
systems. The OneSAF family of software products is
expected to have this level of composability [9] [10]
[11].
Model. Separate models of smaller-scale processes
or objects6 are composed into composite models of
larger-scale processes or objects. For example,
models of platform/entity sub-systems, such as
sensors and weapons, may be composed into
composite models of platforms/entities, such as
aircraft [7]. Models of physical processes, such as
wind and rainfall, may be composed into composite
models of larger-scale physical phenomena, such as
weather.
The composite models may be
implemented as modules or federates. This level of
composability is a design goal of both ModSAF [12]
and OneSAF [13]. This level of composability has
also been called “object-level” [7], “component” [2],
and “reconfigurable models” [14].
The term “software component” is also used with this
meaning, and if used here, would make this the
“component” level of composability. However, in this
paper the term “component” is used in a general sense as
the units of composition at any level.
5
Here “object” means simulated real-world object, not
software object. The former is not always implemented
as the latter and assuming so is an oversimplification.
Even if a real-world object class, such as an aircraft type,
is implemented as a software object class, it is not correct
to assume that the sub-components of that real-world
object class, such as sensors and weapons, are
implemented as sub-classes of the software object class.
That is a mixing of is-a and part-of relationships.
6
7.
Data. Sets of data are composed into databases. The
data sets may be initially distinct because they
describe different entities, they are from different
sources, or they represent different aspects of some
phenomena. Different data sets were composed to
represent electronic warfare in DIS [15]. SEDRIS is
intended to support such composability for natural
environment databases.
8.
Entity.
Platforms/entities are composed into
groupings such as military units, force structures, and
scenario orders of battle [7].
This level of
composition may be hierarchical, with several layers
of groupings composed into higher level groupings.
This level of composition is typically done with data,
rather than with software, as in ModSAF and
WARSIM. This level of composition has also been
called “federate-level” [7].
9.
Behavior. Low-level atomic behaviors are composed
into high-level composite behaviors, which are to be
executed by autonomous simulation entities in a
computer generated forces system or constructive
simulation. The behaviors may be expressed in a
variety of forms. Examples include hierarchically
organized finite state machines as used in ModSAF
and its variants [16] and process flow diagrams [17].
Table 1 summarizes these composability levels.
4.
Composability as a Simulation System
Requirement
Composability has become established as an official
requirement for new simulation system development. The
best example of this is OneSAF; composability is
mentioned numerous times in the OneSAF Operational
Requirements Document [9]. It appears twice in the
shortcomings list, as the Composability item “Current
SAFs are not composable for specific applications.” and
as the main point of the Fidelity in physical models item
“…ability to compose an exercise or study with increased
or decreased resolution without modification to the code.”
The ORD says that OneSAF will “… provide a
framework and supporting technology that permits
OneSAF components to be selected, configured, and
integrated into a common simulation environment capable
of being tailored to meet requirements of every M&S
domain.” Interestingly, the first and last of these
requirements seem to be at the module level, while the
second seems to be at the model level.
Components
Composition
Example(s)
Application
Event
Unified Endeavor
Federate
Federation
Package
Simulation
Joint Training Confederation
Combat Trauma Patient Simulation
JSIMS
Parameter
Simulation
JSIMS
Module
Executable
OneSAF
Model
Composite model
Data
Database
Entitie
Military unit
Behavior
Composite behavior
ModSAF
OneSAF
Electronic warfare in DIS
SEDRIS
ModSAF
WARSIM
Finite state machines
Process flow diagrams
Table 1. Levels of composability.
5.
Types of Composability
Composability can be understood from both engineering
and modeling perspectives. The common definition given
earlier
emphasizes
engineering
composability.
Engineering and modeling composability have also been
called syntactic and semantic composability, respectively
[4] [18].7 Engineering composability, i.e., the actual
implementation of composability, requires that the
composable components be constructed so that their
implementation details, such as parameter passing
mechanisms, external data accesses, and timing
assumptions are compatible for all of the different
configurations that might be composed. The question in
engineering (syntactic) composability is whether the
components can be connected.
In contrast, modeling (semantic) composability is a
question of whether the models that make up the
composed simulation system can be meaningfully
composed, i.e., if their combined computation is
semantically valid. The term model is commonly defined
as a mathematical or logical representation of some
system or object. Models are often implemented as
computer code and executed over time; that execution is
simulation. Models use equations and algorithms that
7
In this paper we will use the terms engineering/syntactic
and modeling/semantic interchangably, as best suits the
context. In a companion paper we generally use syntactic
and semantic composability [27].
mimic the pertinent aspects of the system or object. Nontrivial simulations may have many models, organized
hierarchically (models invoking sub-models) and
collaboratively (models exchanging data with co-models)
in intricate ways. When composing models, it is
necessary to determine if the inputs each model will
receive, which are often outputs of the models it is
composed with, will be within its domain of validity. For
example, suppose a composite model of an aircraft is
composed from two valid component models, one of the
aircraft’s jet engine and one of its flight dynamics. Even
if both component models are valid, the composition will
not be valid if the engine model produces supersonic
velocities for the aircraft and the flight dynamics model is
only valid for subsonic velocities. Similarly, it is also
necessary to determine if the assumptions made in each
model of a composition are consistent. A model of
aircraft detection composed of components that in some
cases assume infra-red signature is independent of aspect
angle and in others consider aspect angle when
calculating infra-red signature will probably not be valid.
6.
Related
Ideas:
Interoperability,
Integration, and Configurability
Certain other ideas are closely related to composability;
two, interoperability and configurability, are defined and
distinguished from composability.
For simulations, interoperability is the ability of different
simulations, connected in a distributed simulation system,
to meaningfully collaborate to simulate a common
scenario or virtual world. Their collaboration is normally
based on the run-time exchange of simulation data or
services, typically using an interoperability protocol such
as DIS, ALSP, or HLA. Like composability, two types of
simulation interoperability can be identified:
(1)
technical interoperability (compatible, correct use of the
interoperability
protocol)
and
(2)
substantive
interoperability (exchange of information that is mutually
consistent with the interoperating simulations’ model
semantics) [19].8 Substantive interoperability has also
been called meaningful interoperability [20].
It should be clear that these two types of interoperability
are closely analogous to the definitions given earlier for
engineering and modeling (or syntactic and semantic)
composability.
How, then, do interoperability and
composability differ? Essentially, interoperability is the
ability to exchange data or services at run-time, whereas
composability is the ability to assemble components prior
to run-time [6]. Note that interoperability as usually
meant only applies to interoperating federates, analogous
to the federate level of composability. Interoperability is
normally thought of as a property of federates, not of
models or data.
It can be seen that interoperability is necessary but not
sufficient to provide composability.
Composability
(engineering and modeling) does require interoperability
(technical and substantive). Federates that are not
interoperable can not be composed, so interopability is
necessary for composability.9 However, interoperability
is not sufficient provide composability, i.e., federates may
be interoperable but not composable. Recall that an
essential aspect of composability is the ability not just to
combine federates but to combine and recombine
federates into different simulation systems. Federates that
are interoperable in one specific configuration or with one
specific object model, and cannot be combined and
recombined in other ways, are not composable.
Non-persistent federations sometimes provide examples
of interoperability without composability.
A nonpersistent federation is one that exists for the purpose of
supporting a specific event, exercise, or experiment and is
not intended to persist beyond that purpose.10 Examples
8
HLA compliance primarily establishes technical, not
substantive, interoperability.
9
Also, federates that are composable are necessarily
interoperable.
of this type of federation include the Platform ProtoFederation [21] and the MV-22 Osprey operational
evaluation federation [22].
The federates of nonpersistent federations are necessarily interoperable, in that
they interoperate during execution, but they are
composable if and only if the set of federates in the
federation can be changed without requiring substantial
additional integration effort.
The matter of substantial effort is crucial to the distinction
between interoperability and composability. Integration
is the process of configuring and modifying a set of
components to make them interoperable and possibly
composable. Essentially any federate can be integrated
into any federation with enough effort, but composability
implies that the changes can be made with little effort.
The ability to readily combine and recombine is what
distinguishes composable simulations from integrated or
interoperable simulations.
Configurability is the ability to include varying numbers
of identical federates in a federation, e.g., “generating an
exercise with eight rather than four M1A2 tank
[simulators]” [3]. This capability is not the same as the
ability to combine and recombine simulation components
into different simulation systems that defines
composability.
7.
Composability Research
There has been some composability research, primarily
focused on engineering composability, giving attention to
the interfaces and control mechanisms to compose
previously existing software modules or models of
behavior. Some module level composability has been
achieved using dynamically loadable modules [23]. The
degree to which object frameworks can achieve a
composable computer generated forces architecture has
been investigated [10]. That study concluded that
composability based on object frameworks is “an
implementation issue.” Multiple efforts have worked
towards allowing the composition of autonomous
behaviors into more complex composite behaviors [24]
[17]. Architectures that support composability have been
designed [6].
There has been less research into composability theory,
even though the need for such research has been
recognized [5] [25]. The latter reference states the need
clearly: “We are discovering that unless models are
designed to work together, they don’t (at least not easily
10
Indeed, in the context of accreditation it could be
argued that all federations are non-persistent because the
accreditation of a federation is by definition for a specific
purpose only, and the use of the federation for another
purpose requires a new accreditation. However, in this
paper “persistent” and “non-persistent” refer to
development and integration, not accreditation.
and cost effectively). Without a robust, theoretically
grounded framework for design, we are consigned to
repeat this problem for the foreseeable future” [5]. One
theoretical look at composability found that the process of
selecting the set of components to meet given
requirements was unexpectedly complex [26].
[7] G. M. Post, “J9 Composability Summary Comments”,
Electronic mail, June 12 2002.
[8]
M. D. Petty and P. S. Windyga, “A High Level
Architecture-based
Medical
Simulation”,
SIMULATION, Vol. 73, No. 5, November 1999, pp.
279-285.
8.
[9]
United States Army, One Semi-Automated Forces
Operational Requirements Document, Version 1.1,
Online
document
at
URL
http://wwwleav.army.mil/nsc/stow/saf/onesaf/onesaf.htm/,
August 21 1998.
Summary
Composability is an important concept in modeling and
simulation. Composability has various meanings that
differ primarily by what level of component is being
composed. It is useful to be aware of these different
“levels” of composability, as well as of the distinctions
between syntactic and semantic composability and
between composability and interoperability.
9.
Acknowledgement
The work was sponsored by the Office of Naval Research
and the Defense Modeling and Simulation Office under
contract N00014-03-1-0089. That support is gratefully
acknowledged.
10. References
[1] E. H. Page and J. M. Opper, “Theory and Practice in
User-Composable Simulation Systems”, Presentation
for DARPA Advance Simulation Technology Thrust,
October 30 1998.
[2]
JSIMS Composability Task Force, “JSIMS
Composability Task Force Final Report”, September
30 1997.
[3] S. M. Harkrider and W. H. Lunceford, “Modeling and
Simulation Composability” Proceedings of the 1999
Interservice/Industry Training, Simulation and
Education Conference, Orlando FL, November 29
1999-December 2 1999.
[4] D. R. Pratt, L. C. Ragusa, and S. von der Lippe,
“Composability as an Architecture Driver”,
Proceedings of the 1999 Interservice/Industry
Training, Simulation and Education Conference,
Orlando FL, November 29 1999-December 2 1999.
[5] S. Kasputis and H. C. Ng, “Composable simulations”,
Proceedings of the 2000 Winter Simulation
Conference, Orlando FL, December 10-13 2000, pp.
1577-1584.
[6]
M. Biddle and C. Perry, “An Architecture for
Composable Interoperability”, Proceedings of the
Fall 2000 Simulation Interoperability Workshop,
Proceedings of the Fall 2000 Simulation
Interoperability Workshop, Orlando FL, September
17-22 2000, 03S-SIW-073.
[10] A. J. Courtemanche and R. B. Burch, “Using and
Developing Object Frameworks to Achieve a
Composable CGF Architecture”, Proceedings of the
Ninth Conference on Computer Generated Forces
and Behavioral Representation, Orlando FL, May
16-18 2000, pp. 49-62.
[11] A. J. Courtemanche and R. L. Wittman, “OneSAF:
A Product Line Approach for a Next-Generation
CGF”, Proceedings of the Eleventh Conference on
Computer-Generated
Forces
and
Behavior
Representation, Orlando FL, May 7-9 2002, pp. 349361.
[12]
A. Z. Ceranowicz, “ModSAF Capabilities”,
Proceedings of the Fourth Conference on Computer
Generated Forces and Behavioral Representation,
Orlando FL, May 4-6 1994, pp. 3-8.
[13]
C. Henderson and A. Rodriguez, “Modeling in
OneSAF”, Proceedings of the Eleventh Conference
on Computer-Generated Forces and Behavior
Representation, Orlando FL, May 7-9 2002, pp. 337347.
[14] A. Diaz-Calderon, C. J. J. Paredis, and P. K. Khosla,
“Organization and Selection of Reconfigurable
Models”, Proceedings of the 2000 Winter Simulation
Conference, Orlando FL, December 10-13 2000, pp.
386-393.
[15] D. D. Wood and M. D. Petty, “Electronic warfare
and Distributed Interactive Simulation”, in T. L.
Clarke (Editor), Distributed Interactive Simulation
Systems for Simulation and Training in the
Aerospace Environment, SPIE Critical Reviews of
Optical Science and Technology, Vol. CR58, SPIE
Press, Bellingham WA, 1995, pp. 179-194.
[16] R. B. Calder, J. E. Smith, A. J. Courtemanche, J. M.
F. Mar, and A. Z. Ceranowicz, “ModSAF Behavior
Simulation and Control”, Procedings of the Third
Conference on Computer Generated Forces and
Behavioral Representation, Orlando FL, March 1719 1993, pp. 347-356.
[17] S. D. Peters, N. D. LaVine, L. Napravnik, and D. M.
Lyons, “Composable Behaviors in an Entity Based
Simulation”, Proceedings of the Spring 2002
Simulation Interoperability Workshop, Orlando FL,
March 10-15 2002.
[27] M. D. Petty and E. W. Weisel, “A Formal Basis for
a Theory of Semantic Composability”, Proceedings
of the Spring 2003 Simulation Interoperability
Workshop, Orlando FL, March 30-April 4 2003, 03SSIW-054.
[18]
A. Z. Ceranowicz, “Composability Wrapup”,
Electronic mail, June 10 2002.
11. Authors’ Biographies
[19]
J. S. Dahmann, “High Level Architecture
Interoperability Challenges”, Presentation at the
NATO Modeling & Simulation Conference, Norfolk
VA, October 25-29 1999.
MIKEL D. PETTY is Chief Scientist of the Virginia
Modeling, Analysis & Simulation Center at Old
Dominion University. He received a Ph.D. in Computer
Science from the University of Central Florida in 1997.
Dr. Petty has worked in modeling and simulation research
and development since 1990 in the areas of simulation
interoperability, computer generated forces, multiresolution simulation, and applications of theory to
simulation. He previously worked for the Institute for
Simulation and Training at the University of Central
Florida. He has served as a member of a National
Research Council committee on modeling and simulation
and is currently an Associate Editor of the journal
SIMULATION: Transactions of the Society for Modeling
and Simulation International.
[20] D. L. Clark, S. K. Numrich, R. J. Howard, and G.
Purser, “Meaningful Interoperability and the
Synthetic Natural Environment”, Proceedings of the
2001
European
Simulation
Interoperability
Workshop, London Middlesex UK, June 25-27 2001,
01E-SIW-080.
[21] S. M. Harkrider and M. D. Petty, “Results of the
High Level Architecture Platform Proto-Federation
Experiment”, Proceedings of the 8th International
Training and Education Conference, Lausanne
Switzerland, April 22-25 1997.
[22]
L. Huntt, A. Markowich, and L. Michelletti,
“Modeling and Simulation Augments V-22
Operational Testing”, Proceedings of the 2000
Interservice/Industry Training, Simulation and
Education Conference, November 27-30 2000,
Orlando FL, pp. 945-953.
[23] D. Franceschini, J. Zimmerman, and G. McCulley,
“CGF System Composability through Dynamically
Loadable Modules”, Proceedings of the Eighth
Conference on Computer Generated Forces and
Behavioral Representation, Orlando FL, May 11-13
1999, pp. 341-347.
[24] S. von der Lippe, J. S. McCormack, and M. Kalphat,
“Embracing Temporal Relations and Command and
Control in Composable Behavior Technologies”,
Proceedings of the Ninth Conference on Computer
Generated Forces and Behavioral Representation,
Orlando FL, May 16-18 2000, pp. 183-192.
[25] P. Davis, P. A. Fishwick, C. M. Overstreet, and C.
D. Pegden, “Model composability as a research
investment: Responses to the featured paper”,
Proceedings of the 2000 Winter Simulation
Conference, Orlando FL, December 10-13 2000,
pp.1585-1591.
[26] E. H. Page and J. M. Opper, “Observations on the
Complexity
of
Composable
Simulation”,
Proceedings of the 1999 Winter Simulation
Conference, Phoenix AZ, December 5-8 1999, pp.
553-560.
ERIC W. WEISEL is a Project Scientist at the Virginia
Modeling, Analysis & Simulation Center at Old
Dominion University. He received a M.S. in Operations
Research from the Florida Institute of Technology in 1995
and a B.S. in Mathematics from the United States Naval
Academy in 1988. He is currently a Ph.D. student in
modeling and simulation at Old Dominion University.
His research interests include simulation formalism and
composability. He is also President of WernerAnderson,
Inc., a private veteran-owned small business that performs
research and development in the areas of defense-related
operations research and simulation. He previously served
as a U.S. Navy submarine officer with experience in
nuclear engineering, operations management, navigation,
and joint operations.
Download