-
Notifications
You must be signed in to change notification settings - Fork 3
Data Structures
This page describes the data structures used in the implementation.
-
Port: An FPP port, represented as a unique ID (a number).
-
Port Kind: Input or Output.
-
Syntactic Port: A triple
(instanceName, portName, portNumber)
, also written asinstanceName.portName[portNumber]
. For example,timer.schedIn[0]
. -
Ports: A mapping from ports to syntactic ports.
-
Port Map: A mapping from port numbers to ports.
-
Instance: An FPP component instance. Each instance has the following members:
-
name: The name of the instance.
-
portMaps: A mapping from port kind to a mapping from port names to port maps. For example, the expression
portMaps(Input)(schedIn)(0)
returns the input port corresponding to port number 0 of port nameschedIn
.
-
-
Connection: A connection between ports.
-
ConnectionsTo: A mapping from output ports to input ports.
connectionsTo(p)
represents the unique port connected top
. -
ConnectionsFrom: A mapping from input ports to sets of output ports.
connectionsFrom(p)
represents the set of ports connected top
. -
Topology: A list of connections.
-
Column Vector: A vector (immutable array) of columns to be displayed left to right in the drawing of a topology. The figure below shows a column vector with three columns.
-
Column: A vector of column elements to be stacked vertically in the drawing of a topology. In the figure below, the second column from the left has three elements.
-
Column Element: Each column element E has the following members:
-
instance: An instance I to be displayed at the position in the vertical stack corresponding to E.
-
ports: A mapping from port kind k to a vector containing the port vectors of I of kind k, in the order of display from top to bottom in the drawing.
In the figure below, in column two, the second vertical element has the following members:
-
name is
RateGroup2Comp
. -
ports(Input) has one element
CycleIn
. -
CycleIn
is a port vector of size 1 with contents[ 0 ]
. -
ports(Output) has one element
RateGroupMemberOut
. -
RateGroupMemberOut
is a port vector of size 4 with contents[ 0, 1, 2, 3 ]
.
-
-
Column Port Vector: A vector containing the connected port numbers associated with a port name, in numeric order.