MPIS (Multi-Purpose Instrument Simulation) is a flexible, robust and high performance output instrument/equipment messaging simulator targeted to a variety of areas ranging from avionics to automobile verification and development processes.
It has been designed to minimize the implementation effort of equipment I/O interface changes and improve the stability, repeatability and overall quality of the tests. Through advanced optimization techniques used in its core, MPIS is able to model even the most performance taxing equipment environment very effectively. It may run on any recent Intel based platforms running Microsoft Windows, Linux variants or Apple MacOS with full set of optimizations.
MPIS is designed around solid concepts such as lazy-calculation, scalable multi-threading and robust tree structures. Through advanced searching and inter-thread communication subsystems. Such that, core is able to start almost in milliseconds while parsing and creating all of the models at the same time from human readable text files. In most cases MPIS is able to create a new frame of any message under 5 microseconds. Receive determine and update incoming messages under 25 microseconds, and most API calls are answered within only 30 microseconds over the UDP overhead.
In the long run, tests of 72-hour full equipment ecosystem deployment, because of its advanced optimizations MPIS only utilized 3 seconds of CPU time while other similar tools used more than 2 hours in exactly same conditions
MPIS utilizes global and sub-frame synchronization techniques together to achieve incredible accuracy of the message periods with maximum error under 2%. It is possible to speed up or speed down all of the models or selective models with API commands with the same accuracy for robustness tests.
To achieve reduced implementation time and improved portability MPIS core reads all of the message info from a group of very well defined .xml files. These files could easily be generated automatically from the already existing ICD documents or may be filled and maintained with hand while using minimum work force. With this structure any operator could change the models on the fly or multiply the number of equipment models under 10 minutes
MPIS includes a comprehensive API with more than 50 functions. There is no limit at the number of API communication channels in the MPIS. Thus it is possible to run multiple test software on 1 MPIS instance. API is constructed as a UDP server. With this property it is possible to send API commands using any programming language that supports UDP datagram sending. Each API call triggers a response in simulation core and notifies the user about the result of the operation. Data operations are extensively checked against many common errors such as target name errors, out of range assignment, underflow, overflow errors, resolution errors etc. Since API is a UDP server, it is possible to run MPIS, test environment and production software on different host machines which may be very desirable in some cases. MPIS supports API call mirroring, multiple GSE instances on the same network could be synced together to perform specific tests. API also perform unit conversions upon request on the behalf of the user.