System-level simulation is mainly characterized by: These two characteristics have several implications in terms of modeling choices (see further).
System-level simulation has some other characteristics, that it shares with CPS simulation in general: SLS is mainly about computing the evolution over time of the physical quantities that characterize the system of interest, but other aspects can be added like failure modeling or requirement verification.
Indeed, simulating the different parts of a complex system separately means neglecting all the possible effects of their mutual interactions.
SLS aims at developing new tools and choosing relevant simplifications in order to be able to simulate the whole cyber-physical system.
SLS is also useful as a common tool for cross-discipline experts, engineers and managers and can consequently enhance the cooperative efforts and communication.
[3] More generally SLS must be contemplated for all applications whenever only the simulation of the whole system is meaningful, while the computation times are constrained.
[4] System-level simulation is used in various domains like: In an early stage of the development cycle, SLS can be used for dimensioning or to test different designs.
For instance, in automotive applications, "engineers use simulation to refine the specification before building a physical test vehicle".
[16] Engineers run simulations with this system-level model to verify performance against requirements and to optimize tunable parameters.
Software-in-the-loop is faster to deploy and releases the constraint of real time imposed by the use of a hardware controller.
For instance, existing algorithms to generate code from high-level modeling languages can be adapted to multi-core processors like GPUs.
[28] If the simulation can be deployed on a supercomputing architecture, many of the modeling choices that are commonly adopted today (see above) might become obsolete.