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).