Modular Full-System Simulation for Cyber-Physical Systems
Cyber-Physical Systems (CPS) are frequently used in safety-critical settings, where mistakes in the hardware configuration or software bugs can result in significant costs increases or even threat public safety.
Frequently, such issues stem from the interaction between multiple components and do not appear when each component is tested in isolation. As a result, comprehensive system-level testing is essential to identify those faults early in the development process.
Virtual prototyping using simulation can help avoiding these issues before deployment by accurately modeling all involved components. This technique is already widely used when designing cloud infrastructure or when developing custom hardware components like accelerators.
However, unlike software systems, CPS also require a precise simulation of their physical environment alongside the simulation of the control logic. Existing simulators model this interaction at a low fidelity failing to capture certain errors that are just visible on certain hardware configurations, require specific environmental circumstances or need precise timing to make an impact.
This thesis proposes an extension of the SimBricks simulation framework allowing for a modular full-system simulation of CPS.The new physical interface connects a physical simulator with simulators supported in the SimBricks ecosystem.The synchronization mechanisms in SimBricks allow to keep the physical simulation in sync with the simulation of the software, thus eliminating the dependency of the simulation results on the simulation hardware.This approach is evaluated using the Gazebo simulator with ArduPilot, a widely used controller for unmanned aerial vehicles (UAVs).