The concept of creating simulation components which can be rapidly, easily, and effectively composed to meet a range of simulation demands has received considerable interest in the modeling and simulation community. To date, successes in developing simulations from compositions have been limited, especially when these components are extracted from legacy simulations. The Torpedo Enterprise Advance Modeling and Simulation (TEAMS) program developed an approach to create reusable components from a set of commonly used torpedo warfare simulations, and combine components to form simulations to meet specific user needs. This approach combines the features of open architecture development and model driven architectures to establish a common conceptual model and then identify the boundaries and interfaces for the components. Conceptual model development and interface specification use the Unified Modeling Language. Legacy simulation code is then wrapped with middleware to comply with the component specifications, allowing them to be assembled into simulations.
The process described in the paper has been effective in defining and bringing together components developed by multiple organizations in a variety of programming languages and computing environments. The use cases addressed by these compositions range from faster than real-time analysis models, to real-time hardware in the loop stimulation, to detailed engineering analyses that run slower than real-time.
This paper will discuss the conceptual model development approach and how a simulation community of interest can then transition from a conceptual model to a well-defined specification of component behavior and interfaces. We will also describe how this approach leads to both the composition of stand-alone simulations as well as simulations that can be federated with simulations that address other domains. The result is a simulation engineering process that can be applied to any domain to leverage existing simulations to create flexible, reusable components.