fmdtools.define.flow

The flow subpackage provides a representation of flows, which are used to connect Blocks in an Architecture. Different types of flows are provided in the following modules, as shown below/

Inheritance of flow types classes

Different types of flows defined in fmdtools.

These are provided in the modules:

fmdtools.define.flow.base

Flow classes are used to represent variables that are shared between blocks, such as connections or a shared environment.

Flows are represented symbolically as circles in fmdtools visualizations, as shown below:

Example flow class symbol

Like blocks, flows (see example below) can hold containers (e.g., States, Parameters, etc.) in order to represent different properties:

flow class structure

Example flow class structure.

The following template shows the basic syntax used to define simple flows in a system:

Flow class template/example.

Flow class template/example.

fmdtools.define.flow.multiflow

MultiFlow can be used to represent signals and perceptions in which a flow may have independent copies on the side of the source and perceiver.

Flows are represented symbolically as pentagons in fmdtools visualizations, as shown below:

example MultiFlow class symbol

MultiFlow enables the representation of independent flow copies in a single class using the structure shown below:

MultiFlow class structure.

Illustration of the class structure for MultiFlows.

fmdtools.define.flow.commsflow

CommsFlow can be used to represent communication exchanges between agents. CommsFlows are represented as octagons in fmdtools model visualizations:

CommsFlow symbol

CommsFlow enables this passing of exchanges using the structure shown below:

Example multiflow class

Illustration of CommsFlow class structure.