Multi-Platform Avionics Simulator (MPAvSim) is a software library for development of simulations of avionic hardware. MPAvSim facilitates simulation of interactions between flight software and such avionic peripheral equipment as telecommunication devices, thrusters, pyrotechnic devices, motor controllers, and scientific instruments. MPAvSim focuses on the behavior of avionics as seen by flight software, rather than on performing high-fidelity simulations of dynamics. However, MPAvSim is easily integrable with other programs that do perform such simulations. MPAvSim makes it possible to do real-time partial hardware-in-the-loop simulations. An MPAvSim simulation consists of execution chains (see figure) represented by flow graphs of models, defined here as stateless procedures that do some work. During a simulation, MPAvSim walks the execution chain, running each model in turn. Using MPAvSim, flight software can be run against a spacecraft that is all simulation, all hardware, or part hardware and part simulation. With respect to a specific piece of hardware, either the hardware itself or its simulation can be plugged in without affecting the rest of the system. Thus, flight software can be tested before hardware is available, and as items of hardware become available, they can be substituted for their simulations, with minimal disruption.

This program was written by Micah Clark, Robert Steinke, and Elihu McMahon of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free online at www.techbriefs.com/tsp under the Software category.
This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-41277.
This Brief includes a Technical Support Package (TSP).

Multi-Platform Avionics Simulator
(reference NPO-41277) is currently available for download from the TSP library.
Don't have an account?
Overview
The document is a technical support package for NASA's Multi-Platform Avionics Simulator (MPAvSim), a library designed to facilitate the development of simulations that emulate the behavior of avionics systems as perceived by flight software. MPAvSim is particularly focused on enabling real-time partial hardware-in-the-loop simulations, allowing for seamless integration of hardware and software components. This flexibility allows flight software to interact with either physical hardware, simulated models, or a combination of both without any noticeable differences in performance.
One of the key features of MPAvSim is its whiteboard simulation approach, which promotes clear and partitioned data flow. This is implemented through a name service that acts as a hierarchical mapping system, allowing variables to be globally accessible by binding pointers to names. This method reduces coupling between different components of the simulation, enabling easier fault injection and user interface development. The use of reference-counted shared pointers helps manage memory effectively, preventing leaks and dangling pointers.
The document outlines various components of MPAvSim, including the execution chain for managing operations such as checking for errors, writing to registers, and updating counts for single and double access scenarios. These components are designed to be flexible and can be used independently or in conjunction with one another, allowing for a customizable simulation environment.
MPAvSim is particularly beneficial for testing flight software before hardware is available, facilitating continuous integration as hardware components are gradually introduced into the test bed. This capability allows for efficient testing and development processes, minimizing downtime and disruption.
Overall, MPAvSim is a robust tool that supports the simulation of avionics systems, providing a versatile platform for developers to create and test flight software in a controlled environment. The document serves as a guide to understanding the functionalities and advantages of MPAvSim, emphasizing its role in advancing aerospace technology and research. For further assistance, the document provides contact information for the NASA Scientific and Technical Information Program Office, highlighting the ongoing support available for users of the simulator.

