viproma/coral

Run simulations in hard real time

Opened this issue · 1 comments

For hardware-in-the-loop and human-in-the-loop simulations, Coral must be able to synchronise logical time with wall clock time. It should be possible to specify a constant ratio between these, where 1 would mean that the simulation runs in real time, while 2 means it runs twice as fast.

By "hard real time" I mean that slaves which are unable to perform their calculations fast enough should not be allowed to slow the entire simulation down. (The opposite would be soft real time; see issue #1.)

FMI does not explicitly support this, as there is no way to tell a slave how much real time it gets to perform a time step. There may be ways to work around it, though, such as simpl extrapolation from old output values of slaves that are lagging behind. However, if the slave never catches up again, that would go rather badly after a short while. I have hopes that the ACOSAR project may provide an answer to all this, and perhaps extend FMI with real-time facilities.

Closed by accident...