You will notice that the blocks on the palettes contain varying numbers and types of input and output stubs, depending on the block. A stub is a connection path that has not yet been connected. GDA blocks name all their connection stubs. A named connection stub is called a port. An input port carries data to a block, and an output port carries data from a block. If you add a connection stub to a block interactively, the stub is not named.
For example, a Numeric Entry Point has only an output stub because it is the starting point of a diagram, and an Exponential Filter has an input stub and an output stub because it takes an input value and passes an output value:
|
Connecting Blocks by Connecting Stubs
The majority of blocks have a fixed number of input and output stubs to which
you must connect directly. The block performs its operation on the specific input
path or paths that the block defines.
To connect two blocks together:
Click on the output stub of the upstream block, move the mouse to the input
stub of the downstream block, and click to connect the two stubs.
|
Tip: When connecting blocks, you can only connect stubs of the opposite
direction together.
To see the direction of flow of any stub:
Drag the stub out from the block:
|
|
Sometimes, the automatically created vertex is not exactly in the desired location,
and sometimes, you need more than two vertices. You can create custom vertices
when you create the path between two blocks.
To create path vertices when you create the path:
|
Here is a path connection with four vertices:
|
Deleting Paths
Sometimes you need to delete the path between two blocks to connect to other
blocks.
To delete the path between two blocks:
Click on the path between the two blocks, and choose delete.
|
The exception to this rule is deleting the input stubs on peer input blocks, as the
following heading explains.
Connecting to Peer Input Blocks
Whereas most blocks have a fixed number of input stubs leading into the block,
some blocks can have any number of input paths, where the order of the inputs is
unimportant. For example, the Summation block can add together any number of
inputs, and the sum is the same regardless of the order in which it adds the
inputs.
|
When connecting to a peer input block, you can connect to an existing input stub
of the block, or you can connect to the block itself. All peer input blocks have three
input ports by default, but you can add or delete ports as needed. This is legal
because peer input blocks do not refers to ports by name.
|
To connect to a peer input block:
Click on the output stub of the upstream block to attach it to the mouse, move
the mouse to an existing stub of the downstream block, or directly into the
block itself, and click to connect.
To remove an input stub:
Click on the input stub, move the mouse to the middle of the block, and click
to delete the stub.
To change the size of the block to add more ports:
Use the change size menu choice in the object's menu to make the block
larger.
Connecting the Various Types of Paths
NOL supports a variety of path types, which carry a variety of data types. For
general information on the types of paths and the data they carry, see "Using
Paths".
Tip: When connecting blocks, you can only connect stubs of the same type
together.
This diagram shows several different types of paths between various blocks. The
diagram monitors and filters two different streams of data values. The data values
are converted into truth values (true or false), using observation blocks. The truth
values then flow into a logic gate, which performs a boolean AND operation on
its two inputs. If the top filtered value exceeds 100 and the bottom filtered value is
less than 5, then the diagram sends a control signal, which increments a counter.
|
Using Path Splitters
Sometimes more than one downstream block requires input from the same
upstream block. To do this, connect the input stub from one block to the path
joining two other blocks using a path splitter.
To use a single entry point as input to several blocks:
.true if the value is above 0,
.false otherwise. The Low Value observation block passes .true if the value is
below 0, .false otherwise. Observe the diagram to see how the output inference
paths change.
|
Note that you cannot connect the output stub from a block to a path joining two
blocks using a path splitter because this results in a feedback loop.
|
Avoiding Illegal Connections
When connecting blocks, the requirements are:
|
|
|
|
|