Data and Metadata Requirements
for Composable Mission Space Environments
Katherine L. Morse (AVP Technology, SAIC)
Abstract
Composability is the capability to select and assemble reusable
simulation components in various combinations into simulation systems to
meet user requirements. The Defense Modeling and Simulation Office¹s
Composable Mission Space Environments program, seeks to develop concepts,
technologies, and processes to enable the rapid, efficient, and flexible
assembly of simulation systems from components. A workshop was held to
examine the current state of composability, refine its definitions and
intentions, identify capabilities and technologies needed to support
practical composability, and propose research objectives and programmatic
initiatives to move towards the goals of the Composable Mission Space
Environments (CMSE) program. Approximately 35 experts from government,
industry, and academia participated in four working groups. This paper
reports the findings and recommendations of the Data and Metadata WG. The
WG identified the crucial functions served by metadata descriptions of
components in composable development, specified attributes of the components
to be represented in the metadata, and sketched a high level concept of
operations describing the roles and relationships of metadata stakeholders.
This paper reports the recommendations of all of the working groups for
future actions in support of composability.
Introduction
Composability is the capability to select and assemble simulation components
in various combinations into simulation systems to satisfy specific user
requirements (Petty 2003). The components to be composed may be drawn from
a library or repository of components. For example, such a 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.
Indeed, to a certain extent reuse depends on composability (Igarza 2001).
The defining characteristic of composability is that the components can be
composed in a variety of ways to produce different simulation systems, each
suited to some distinct purpose, and the different possible compositions
will be usefully valid. Composability is more than just the ability to
assemble simulations from parts; it is the ability to combine and recombine,
to configure and reconfigure, sets of components into different simulation
systems to meet different needs. Composability could have many benefits for
the practice of simulation and is an increasingly important issue in
simulation system development.
From the point of view of components, composability exists in two forms,
syntactic and semantic. Syntactic composability is the actual engineering
implementation of composability. Syntactic composability is concerned with
the compatibility of implementation details, such as parameter passing
mechanisms, external data accesses, and timing mechanisms. It is the
question of whether a set of components can be combined. Semantic
composability, on the other hand, is concerned with whether the models that
make up the composed simulation system can be composed and remain valid
(Petty 2003a). Modeling issues such as domains of validity and consistent
assumptions are central to semantic composability. It is the question of
whether a composition of models is meaningful.
There are other views of composability. Given a set of components,
structured descriptions or specifications of the components, sometimes
called metadata or meta-models, can be used to guide the process of
selecting components for a specific purpose and determining if a set of
components can be effectively composed. Implementation of a library of
components, and using those components to develop simulation systems, will
likely occur in a collaborative team context and automated infrastructures
to support collaboration composable development will be essential. Finally,
for composability to succeed in practical applications, business issues such
as the protection of intellectual property and the economics of developing
reusable software must be worked out. Certainly, composability is a
technical challenge, but technical solutions will not be enough (Davis
2003).