The type DataflowProcess contains the possible kinds of nodes that may appear in a dataflow process network. See type DataflowProcessNetwork for the dataflow process network itself. Note that Select and Switch nodes are used in a vector form, where the inputs/outputs y,x1,x0 and y1,y0,x are vectors of the same length n. Note that we do not use types for the data tokens, since we consider DPNs as an intermediate program representation like 3-address code. Hence, all tokens are bitvectors that may be interpreted as radix-2 or 2-complement numbers by the nodes.
Union case | Description |
|
apply binary operator y = op2(x1,x2)
|
Full Usage:
Const int
Parameters:
int
|
create a constant: (y0) = Const(i)
|
Full Usage:
Copy
|
copy a value: (y0) := Copy(x0) |
Full Usage:
Dup
|
duplicate a token: (y0,y1) := DUP(x0) |
Full Usage:
Join
|
join two valueless tokens: (y0) := JOIN(x0,x1) |
Full Usage:
Kill
|
kill a token: () = Kill(x0) |
Full Usage:
Load string
Parameters:
string
|
load from memory address (tkOut,y) = LD_a(adr,tkIn)
|
|
apply monadic operator y = op1(x)
|
Full Usage:
ParITE
|
parallel ITE: (y0) = ITE(c,x1,x0) |
Full Usage:
Select
|
select node: y = SEL(c,x1,x0) (sequential ITE) |
Full Usage:
Store string
Parameters:
string
|
store to memory address tkOut = ST_a(adr,tkIn,x)
|
Full Usage:
Swap
|
swap two incoming token: (y1,y0) := SWAP(x0,x1) |
Full Usage:
Switch
|
switch node: (y1,y0) = SWT(c,x) |