Design Pattern: Local Multicast

Problem Statement

Provide efficient intraprocess multicasting of data without resorting to more expensive interprocess communication methods such as UDP multicast.

Framework

In contrast to the PUBLISH and SUBSCRIBE types described in Annex F.2.1 of IEC 61499-1, which use communication networks for exchange of data, instances of PUBL_n and SUBL_n service interface types are used for local (within the same runtime process) multicast publishing and subscribing of data. The service interface types for n=1 are illustrated below. In addition to increased speed of data transfer vs. PUBLISH/SUBSCRIBE, these blocks offer the following convenience features:

[Viewer Help]

Methodology

As noted above, the use of the local multicast function block types PUBL_n/SUBL_n is subject to substantially fewer restrictions than the use of the corresponding distributed multicast types PUBLISH_n/SUBSCRIBE_n. As a result, care must be exercised when converting from a design which uses local multicast to a design using distributed multicast. In particular, for distributed multicast:

For examples of the application of this methodology see the documentation of the layered MVC design pattern.

Last updated: 2007-09-11.
©2006,2007 Holobloc Inc
Licensed under the Academic Free License version 3.0.