Open xmirabel opened 1 year ago
Thanks for your feedback! My first thought is that this wouldn't be too hard to implement (though there are surely some complicating details I haven't thought of yet).
We have much of the machinery in place in libcosim already, in the form of cosim::algorithm::add_simulator()
and cosim::algorithm::remove_simulator()
. The latter removes a subsimulator entirely from the co-simulation, but that should have the effect you are asking for: other connected subsimulators will just see its latest output values.
Then, a hypothetical execution::disable_slave()
function would simply call algorithm::remove_simulator()
. A complementary execution::enable_slave()
function would have to do some more work; in addition to calling algorithm::add_simulator()
, it must also restore all connections to other subsimulators. But I think we have the info to do that inside execution
already.
NEED
On a vehicule (boat, aircraft, rolling vehicle), an external device can be part of the simulation. It should be able to be enabled or disabled by the operator during an experiment without disturbing the global execution of a simulation.
DESCRIPTION
ACCEPTANCE TESTS
EXAMPLE OF SIGNATURES