Port multicasting

IBM® Engineering Systems Design Rhapsody® can generate code for ports that have to broadcast data over multiple links.

This multicasting capability is available for flow ports and for rapid ports (when generating C or C++ code).

Generation of multicasting code is controlled by the property SupportMulticast. When this property is set to Smart, multicasting code is generated only in situations where it is required. If you find that this setting does not provide the appropriate code where multicasting is required, you can change the value of the property to Always.

One thing to keep in mind is that the necessary multicasting code is only generated when data goes directly from the originating port to its final destination. If there are intervening ports, the code generated will not reflect the modeled multicasting. Rather, only one port will receive the event.

Note: In situations where multicasting is required, if you are manually specifying event-sending code in a statechart (as opposed to using a Send Action element), then you must use special multicasting syntax rather than the usual event-sending syntax. For example, instead of OUT_PORT(p2)->GEN(evStart), you would use RiC_MULTICAST_GEN_PORT(p2,evStart) for C code, or MULTICAST_GEN(p2, evStart) for C++ code.