Simulation is an opportunity to gain deeper insight into the behavior of a system by imitating it. A simulation model reflects properties of the system and abstracts from unnecessary information. During simulation, the model is executed and represents the system‘s operation over time. Simulations are used in multiple domains such as engineering, testing or training.
Many simulation tools are designed for a specific purpose. For example, Matlab/Simulink can be used to simulate technical or physical systems. However, in networked embedded systems the systems have to communicate with each other exchanging data. Modelling the network behavior in Simulink is only possible with limitations. Hence, co-simulation has been introduced where specialized simulation tools are interconnected and executed in cooperation. Each tool executes on its own while a co-simulation framework realizes the synchronization and the data exchange between the tools.
During the development process of complex systems, Software and Hardware-In-The-Loop (SIL/HIL) simulation are common methodologies for a repeatable and controllable testing of components. The simulation models are replaced by real software applications and hardware devices which provides several advantages. On the one hand, physical prototypes are not required providing high availability, on the other hand risks for operators or damage to real prototypes are avoided.
The expertise includes:
Network simulations (e.g., OPNET)
Chip-level simulations (e.g., SystemC, GEM5, OVPSIM)
Simulation standards such as High-Level Architecture (HLA) and Functional Mock-up Interfaces (FMI)
Domain-specific simulations (e.g., automotive simulations using VEOS, Matlab/Simulink
Software and Hardware-In-The-Loop simulation