fmdtools.define.architecture
The architecture subpackage provides a representation of Architecture which may be used to represent aggregations/interactions of blocks in an overall combined simulation.
Different types of architectures are provided in the following modules:
fmdtools.define.architecture.base
fmdtools.define.architecture.action
The ActionArchitecture class is used to represent a sequenced of action taken by an agent. It is a composition of instantiated Action objects, Flow objects, and conditions as shown below:
Example Action Architecture connecting action objects with flow objects and conditions.
In the Human action architecture, a human operator percieves and acts on a hazard and the total number of hazards acted on is recorded in the outcome flow. This can also be represented in FRDL using:
Propagation network of example Action Architecture.
For more info on this example, see: The Action Sequence Graph Demo Model.
The ActionArchitecture class can further be represented graphically using the ActionArchitectureGraph class:
fmdtools.define.architecture.component
fmdtools.define.architecture.function
The FunctionArchitecture class is used to define the high-level function-flow structure of a system model. It is a composition of instantiated Function and Flow objects, as shown below:
Example Function Architecture connecting function objects with flow objects.
In FRDL, this object may be represented as:
Example Function Architecture propagation structure represented in FRDL.
To define a FunctionArchitecture class, it can be helpful to use the following code template:
Code template for FunctionArchitecture classes.
The FunctionArchitecture class can be represented with a number of dedicated graph classes, below: