The United States (US) Army is creating a new Synthetic Training Environment (STE), with the goal of applying the best of breed simulation technologies to allow for training anytime, anywhere, and at massive scale. This goal is leading the US Army to obtain, build, and integrate technologies that are not traditionally within the simulation domain. Instead of starting from scratch and re-building all existing military models within a new simulation engine, the US Army has initiated a Generative Programming project to capture authoritative models within a machine-readable systems engineering format and then have the ability to automatically generate working software that implements the authoritative models within many different simulation applications.
This effort includes two main components. The first component is a front-end tool that allows subject matter experts to create, execute, and test their models. The model author does not need to know how to write software due to the use of the increasingly popular Flow-Based Programming paradigm and can see their model execute based on their actual data in order to ensure that the model is complete and accurate before it gets integrated into a simulation. The second component is the code generation capability to output Java, C++, and C# software that executes the models. Generating software from a single canonical source allows for consistent model representation across simulation systems, reduces software development, integration and testing costs, and reduces implementation and semantic errors system-wide.
This paper describes the graphical modeling paradigm, the machine-readable systems engineering format, code generation capability and some initial STE use cases.