System level optimization is a challenging problem because the effectiveness of an overall system depends on the collective response of many subsystem components. Prior to this Independent Research and Development (IR&D) project, the Computational Science and Engineering Laboratory (CSE Lab) had a substantial capability to simulate, analyze, and optimize systems; however, the capability was focused on a single isolated system. Therefore, the purpose of this IR&D effort was to develop the components necessary to account for the response of multiple systems and their interactions as they evolve over time – a capability that is essential for exploring, designing, and optimizing new systems in a cost- and time-effective manner. This capability is particularly useful for US weapons systems given their rapidly changing and unpredictable threats. For example, the optimal design for an anti-improvised explosive device (anti-IED) system requires optimizing the mechanical drive system, radio frequency power generator, and high power microwave system based on their combined influence (over time) on overall system performance parameters, e.g., the electronic effectiveness, drive range, vehicle speed, etc.
Riverside Research elected to implement an approach known as Discrete Event Simulation (DES) to model time-dependent interactions of subsystems. DES, a fundamental simulation technology, provides a key advantage over more traditional discrete time simulations. In discrete time, a simulator divides the simulation duration into uniformly sized slices and then samples the simulation model at each of those slices. However, because many phenomena unfold in a non-uniform manner, a choice has to be made to sample at very fine steps to ensure all of the phenomenology is captured at the cost of increased run times, or to sample at coarser levels that run the risk of reducing fidelity and missing important interactions. On the other hand, discrete event samples the simulation model non-uniformly and only when an event occurs, which triggers a state change. This approach ensures that no state change is lost (high fidelity) while not over-sampling the model (slow performance).
Rather than develop a new simulation framework from scratch, the CSE Lab chose to extend OpenMDAO, a multi-disciplinary design, analysis, and optimization framework from the National Aeronautics and Space Administration (NASA). NASA’s OpenMDAO framework provides a block-diagram-like system for modeling systems where the system is decomposed into simulation components (blocks) and their data exchanges (wires).
This IR&D project modified NASA's OpenMDAO framework and added an expansion layer, providing DES functionality without disrupting the functionality already present in OpenMDAO. The extension provides new event-channel connections through which two DES components interact by sending and receiving events. Each event is assigned a simulation delivery time by the entity that creates it; the framework ensures the correct time and order of delivery.
This extension provides the ability to construct component loops, a critical new feature to OpenMDAO. Previously, OpenMDAO required models to contain a single execution path through components as it had no method for determining execution ordering in a loop. By driving the simulation forward using events, the DES driver always knows which component to execute next (the destination of the first event in the queue) and also when the simulation is complete (when the event queue is empty). As a result, the framework now allows OpenMDAO to execute iterative models.
Finally, the iterative execution provided by the DES extension allows OpenMDAO to optimize system-of-systems behavior where a complete system is composed of many smaller systems. It also allows for the design of loose couplings that allow these components to be easily interchanged, e.g., replacing a high-fidelity radiation model with a simple statistical freespace exponential-decay model. This flexibility allows researchers to reduce the overall execution time while focusing on the behavior of a subsystem and to easily perform cost-benefit analyses by executing the model with interchangeable components.