From ae5977ba1836a4af229b11b7c638c31dc0a692f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chlo=C3=A9=20Aben?= Date: Wed, 30 Jul 2025 15:49:27 +0200 Subject: [PATCH 1/2] include figures and text --- .../ESL/functional-dependencies.md | 39 +++++++++++++++++-- .../assets/functional_cfv_mdm_1.svg | 1 + .../assets/functional_cfv_mdm_2.svg | 1 + src/how-to-guides/assets/trace.svg | 1 + 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 src/how-to-guides/assets/functional_cfv_mdm_1.svg create mode 100644 src/how-to-guides/assets/functional_cfv_mdm_2.svg create mode 100644 src/how-to-guides/assets/trace.svg diff --git a/src/how-to-guides/ESL/functional-dependencies.md b/src/how-to-guides/ESL/functional-dependencies.md index fee309d..4e238a1 100644 --- a/src/how-to-guides/ESL/functional-dependencies.md +++ b/src/how-to-guides/ESL/functional-dependencies.md @@ -1,7 +1,38 @@ # Functional dependency analysis +In engineering design one often uses functional dependency models of a system. The Figures below show the functional and mapping dependencies between components, function specs, and variables at decomposition levels 1 and 2, respectively. -!!! warning +The figure below 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. - This content is not fully migrated, yet. Please hop over to this page on - [docs.ratio-case.nl](https://docs.ratio-case.nl/manuals/esl_manual/index.html#functional-dependencies) - for the source content. +
+ ![function-cfv-1.](./assets/functional_cfv_mdm_1.svg) +
+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-potential` → `provide-torque` → +`convert-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 the figure below, 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](./assets/functional_cfv_mdm_2.svg) +
+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-potential` → +`provide-power` → `convert-power` → `provide-torque` → `convert-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-potential` → `power` → `torque` → `water-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 the figures above, 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.](./assets/trace.svg) +
+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.
+
diff --git a/src/how-to-guides/assets/functional_cfv_mdm_1.svg b/src/how-to-guides/assets/functional_cfv_mdm_1.svg new file mode 100644 index 0000000..68b0509 --- /dev/null +++ b/src/how-to-guides/assets/functional_cfv_mdm_1.svg @@ -0,0 +1 @@ +pumpdrive-mechanismconvert-torqueconvert-power-potentialprovide-torquetorquewater-flowdrive-lengthpump-lengthpower-potentialenergy-potentialliquid-material-flowmechanical-energy-flowspatial-measure \ No newline at end of file diff --git a/src/how-to-guides/assets/functional_cfv_mdm_2.svg b/src/how-to-guides/assets/functional_cfv_mdm_2.svg new file mode 100644 index 0000000..72ac0c3 --- /dev/null +++ b/src/how-to-guides/assets/functional_cfv_mdm_2.svg @@ -0,0 +1 @@ +pumppower-sourcemotorpower-Switchconvert-torqueconvert-potentialconvert-powerprovide-powersend-control-signalprovide-torquetorquewater-flowpump-lengthpower-potentialpowermotor-control-signalcontrol-signalelectrical-energy-flowenergy-potentialliquid-material-flowmechanical-energy-flowspatial-measure \ No newline at end of file diff --git a/src/how-to-guides/assets/trace.svg b/src/how-to-guides/assets/trace.svg new file mode 100644 index 0000000..9a8606c --- /dev/null +++ b/src/how-to-guides/assets/trace.svg @@ -0,0 +1 @@ +convert-torqueconvert-potentialconvert-powerprovide-powersend-control-signalconvert-power-potentialprovide-torquetraceability_dependency \ No newline at end of file -- GitLab From c4bd880275a286be958b4fc47ec8d9bb8d381d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chlo=C3=A9=20Aben?= Date: Wed, 30 Jul 2025 16:01:20 +0200 Subject: [PATCH 2/2] typo --- .../ESL/functional-dependencies.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/how-to-guides/ESL/functional-dependencies.md b/src/how-to-guides/ESL/functional-dependencies.md index 4e238a1..1ef0091 100644 --- a/src/how-to-guides/ESL/functional-dependencies.md +++ b/src/how-to-guides/ESL/functional-dependencies.md @@ -1,12 +1,12 @@ # Functional dependency analysis -In engineering design one often uses functional dependency models of a system. The Figures below show the functional and mapping dependencies between components, function specs, and variables at decomposition levels 1 and 2, respectively. +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. -The figure below 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. +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.](./assets/functional_cfv_mdm_1.svg) + ![function-cfv-1.](../assets/functional_cfv_mdm_1.svg)
-Component-function-variable multi-domain matrix showing functional dependencies at the first decomposition level
+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-potential` → `provide-torque` → @@ -14,12 +14,12 @@ The function specification dependency structure matrix (rows 3-5, cols 3-5) show 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 the figure below, 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`. +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](./assets/functional_cfv_mdm_2.svg) + ![function-cfv-2](../assets/functional_cfv_mdm_2.svg)
-Component-function-variable multi-domain matrix showing functional dependencies at the second decomposition level.
+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. @@ -29,10 +29,10 @@ The function DSM (rows 5-10, cols 5-10) now shows a longer function chain: `conv 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 the figures above, 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. +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.](./assets/trace.svg) + ![Corresponding DSM for the ABCD example.](../assets/trace.svg)
-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.
+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.
-- GitLab