Averest


DataflowProcess Type

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 cases

Union case Description

BinOp Ops2

Full Usage: BinOp Ops2

Parameters:

apply binary operator y = op2(x1,x2)

Item : Ops2

Const int

Full Usage: Const int

Parameters:
    Item : int

create a constant: (y0) = Const(i)

Item : int

Copy

Full Usage: Copy

copy a value: (y0) := Copy(x0)

Dup

Full Usage: Dup

duplicate a token: (y0,y1) := DUP(x0)

Join

Full Usage: Join

join two valueless tokens: (y0) := JOIN(x0,x1)

Kill

Full Usage: Kill

kill a token: () = Kill(x0)

Load string

Full Usage: Load string

Parameters:
    Item : string

load from memory address (tkOut,y) = LD_a(adr,tkIn)

Item : string

MonOp Ops1

Full Usage: MonOp Ops1

Parameters:

apply monadic operator y = op1(x)

Item : Ops1

ParITE

Full Usage: ParITE

parallel ITE: (y0) = ITE(c,x1,x0)

Select

Full Usage: Select

select node: y = SEL(c,x1,x0) (sequential ITE)

Store string

Full Usage: Store string

Parameters:
    Item : string

store to memory address tkOut = ST_a(adr,tkIn,x)

Item : string

Swap

Full Usage: Swap

swap two incoming token: (y1,y0) := SWAP(x0,x1)

Switch

Full Usage: Switch

switch node: (y1,y0) = SWT(c,x)