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:

Structure of an ActionArchitecture

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:

Structure of an ActionArchitecture in FRDL

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:

Structure of a Model

Example Function Architecture connecting function objects with flow objects.

In FRDL, this object may be represented as:

Example Function Represented in FRDL

Example Function Architecture propagation structure represented in FRDL.

To define a FunctionArchitecture class, it can be helpful to use the following code template:

Structure of a Model

Code template for FunctionArchitecture classes.

The FunctionArchitecture class can be represented with a number of dedicated graph classes, below:

fmdtools.define.architecture.geom