Question:
What is the difference between host and embeddable function boxes and what considerations do I have in using them?
Summary:
There are two different types of function boxes, host and embeddable. Both of these box types work with the same data types. Both are indistinguishable on the Gedae canvas. Except for the starting directory, both are found in the same basic directory structure locations host boxes start from "FGlibraries/boxes/" and embeddable from "FGlibraries/boxes/embeddable/".
The primary difference between these two types is the intended target architecture on which these boxes will execute (see the table below). Another major difference between the two types is that the host boxes are already compiled into Gedae and execute in an interpreted fashion. The embeddable boxes are compiled into an executable at application runtime.
|
Intended target |
Function box type to use |
|
multiple networked workstations |
host only |
|
embedded system |
embeddable only |
|
single workstation, multiple processor |
host or embeddable
|
|
single workstation, single processor |
either host or embeddable |
Demonstration:
In the following graph, the function boxes without the "_1" suffix are host boxes and come from the "stream" directory. The function boxes with the "_1" are embeddable boxes and come from the "embeddable/stream" directory.
To differentiate between the two types of boxes on the canvas, select View
The first difference between box types is that outputs of embeddable boxes may not be able to be connected to host boxes. For example, as of this writing, you can connect stream boxes together, but you can not connect vector data-type boxes together.

You can run this graph after you load the default parameters or you can enter parameters for the two sources yourself. Notice that for both graph branches, the output is identical. They should be, the functions are exactly the same. The functionality of the two branches is identical, but the user control over the execution and the execution itself is not the same for the two branches.
Information about the boxes is presented differently between the two types. The "Box Information" Tables differences are found in the following box_information hierarchical box.
Function distribution considerations are quite different for different target architectures. For execution across a network of workstations, the same considerations may not be as important as execution on embedded processors. Memory requirements and data transfer mechanisms are important considerations more for embedded applications than for workstation distributed applications. For more details about distribution, see the distribution hierarchical box and in the Users Manual see Section 2.6.
The information provided by the options in the View menu are presented differently for the two types of boxes. In each display, the host boxes are also shown as individual entries grouped by any existing graph hierarchy. The embeddable boxes are displayed in their group hierarchy. For more details about these differences, see the View menu hierarchical box .
Application Note last updated 3/24/98