Skip to content

Functional dependency analysis

In engineering design one often uses functional dependency models of a system. Figures 1 and 2 show the functional and mapping dependencies between components, function specs, and variables at decomposition levels 1 and 2, respectively.

Figure 1 contains components pump and drive-mechanism (rows 1-2) which have a mechanical-energy dependency (green). This dependency is derived from goal-function specification provide-torque. This can be seen within the component-function spec mapping matrix (rows 3-6, cols 1-2). That is, in row 6 one can see that both components relate to the function specification provide-torque which states that drive-mechanism must provide torque (mechanical-energy) to pump. The mapping matrix shows which transformation functions are fulfilled by which components as well.

function-cfv-1.

Figure 1: Component-function-variable multi-domain matrix showing functional dependencies at the first decomposition level

The function specification dependency structure matrix (rows 3-5, cols 3-5) shows the functional dependencies between function specifications. Within this matrix one can identify the function chain convert-power-potentialprovide-torqueconvert-torque. That is, first power-potential needs to be convert into torque before it can be provided and converted into a water-flow.

In rows 5-10 and columns 1-5 one can find the mapping dependencies between components and variables, between function specifications and variables. The variable DSM (rows 5-10, cols 5-10) shows the functional dependencies between variables. That is, the variable water-flow depends on the variable torque.

In Figure 2, the component drive-mechanism has been decomposed into its subcomponents power-source, motor, and power-switch. As a consequence, transformation-function convert-power-potential, which is to be fulfilled by drive-mechanism, has been replaced by its sub-ordinate functions convert-potential, provide-power, and convert-power. These functions have to be fulfilled by power-source and motor.

function-cfv-2

Figure 2: Component-function-variable multi-domain matrix showing functional dependencies at the second decomposition level.

The goal-function specification provide-torque (row 10) is still part of the matrix but is now allocated to motor. Goal-function specifications automatically migrate through the decomposition tree. Contrary to transformation-function specifications that are replaced by sub-ordinate functions.

The function DSM (rows 5-10, cols 5-10) now shows a longer function chain: convert-potentialprovide-powerconvert-powerprovide-torqueconvert-torque. Within the variable DSM (rows 11-16, cols 11-16) this increase in the length of the function can be seen as well in the form of a longer dependency path between variables. That is, one can identify a dependency path starting at power-potentialpowertorquewater-flow.

In systems engineering literature one often encounters function traceability trees. That is, one aims to visualize how top-level functions are fulfilled by low-level functions. The ESL compiler derives such traceability dependencies as well.

In Figure 1 and 2, we could see that function specifications convert-potential, provide-power, and convert-power are sub-ordinate to transformation specification convert-power-potential. In the traceability matrix, this is made explicit by visualizing traceability dependencies between function specifications.

Corresponding DSM for the ABCD example.

Figure 3: Traceability matrix showing that level 1 transformation convert-power-potential can be traced to level 2 function specifications convert-potential, provide-power, and convert-power.