Simulation plays a critical role in the research and development of products in the real-world, since it can not only reproduce costs and developement time of systems, but more importantly it can help with optimizing complex multi-domain designs and catch errors in situations where it might be impossible to perform tests with real-world prototypes or systems.