VILLASframework
Modular co-simulation framework
|
In scenarios with more than two simulators which are connected in a star topology, merging / splitting of values originating / targeting from different simulators becomes necessary. This is implemented in VILLASnode in the concept of (de-)multiplexing.
The following configuration settings in a path definition are relavant and described in this lab session.
Multiplexing describes the process of merging signals from multiple input nodes into a single sample which then is processed futher in its entirety.
In this lab session, we multiplex signals originating from nodes rtds_gtnet_1
and rtds_gtnet_2
into a single path.
VILLASnode supports multiplexing by using mapping expressions in the in (list of strings: node-names | mapping expression) setting of a path. We can construct samples by joining joining multiple mapping expressions as seen in the configuration file below.
VILLASnode paths support two major operating mode which can be selected using the mode (string: "all" | "any") = "any" setting.
mode = "all"
causes the path to be triggered, and subsequantially emitting samples to its outputs, once all of the masked input nodes receive new data. This mode behaves like a barrier which is opened once we received an update from all masked inputs. This mode effectivly reduces the number of samples which we sent to the destination nodes/mode = "any"
causes the path to be triggered anytime one of the masked inputs receive new data. In this mode each sample received from any of the inputs triggers new samples to be sent to all destinations.The mask (list of strings: node-names) = _all input nodes_ settings allows the user to limit the effect of the mode (string: "all" | "any") = "any" setting to certain input nodes. By default the path mask includes all input nodes of a path.
Demultiplexing describes the process of selecting a set of signals from a sample to create a new sample. VILLASnode supports demultiplexing by using mapping expressions in the in (list of strings: node-names | mapping expression) setting of a path.
Go to [lab 12] =>(node-lab-12)