[PATCH 01/12] eng: Rework performance meansurement items

Sebastian Huber sebastian.huber at embedded-brains.de
Fri May 5 08:45:58 UTC 2023


Use links to specify runtime performance limits in target-specific
items.  Clarify wording.

Update #3715.
---
 eng/glossary.rst  |   3 ++
 eng/req/items.rst | 107 +++++++++++++++++++++++-----------------------
 2 files changed, 56 insertions(+), 54 deletions(-)

diff --git a/eng/glossary.rst b/eng/glossary.rst
index e4adbef..1b2f498 100644
--- a/eng/glossary.rst
+++ b/eng/glossary.rst
@@ -122,6 +122,9 @@ Glossary
         software as it is originally written (i.e., typed into a computer) by a
         human in plain text (i.e., human readable alphanumeric characters)."
 
+    target
+        The system on which the application will ultimately execute.
+
     task
         This project uses the
         `thread definition of Wikipedia <https://en.wikipedia.org/wiki/Thread_(computing)>`_:
diff --git a/eng/req/items.rst b/eng/req/items.rst
index 6ef901e..d60bd7d 100644
--- a/eng/req/items.rst
+++ b/eng/req/items.rst
@@ -113,6 +113,8 @@ The specification item types have the following hierarchy:
 
       * :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
 
+      * :ref:`SpecTypeRuntimeMeasurementEnvironmentItemType`
+
       * :ref:`SpecTypeRuntimePerformanceRequirementItemType`
 
   * :ref:`SpecTypeRequirementValidationItemType`
@@ -1950,6 +1952,8 @@ This type is refined by the following types:
 
 * :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
 
+* :ref:`SpecTypeRuntimeMeasurementEnvironmentItemType`
+
 * :ref:`SpecTypeRuntimePerformanceRequirementItemType`
 
 .. _SpecTypeDesignGroupRequirementItemType:
@@ -2001,6 +2005,10 @@ This type refines the following types:
 * :ref:`SpecTypeNonFunctionalRequirementItemType` through the
   ``non-functional-type`` attribute if the value is ``performance``
 
+* :ref:`SpecTypeNonFunctionalRequirementItemType` through the
+  ``non-functional-type`` attribute if the value is
+  ``performance-runtime-limits``
+
 * :ref:`SpecTypeNonFunctionalRequirementItemType` through the
   ``non-functional-type`` attribute if the value is ``portability``
 
@@ -2019,6 +2027,22 @@ This type refines the following types:
 Items of this type state a non-functional requirement with the non-functional
 type defined by the specification type refinement.
 
+.. _SpecTypeRuntimeMeasurementEnvironmentItemType:
+
+Runtime Measurement Environment Item Type
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeNonFunctionalRequirementItemType` through
+the ``non-functional-type`` attribute if the value is
+``performance-runtime-environment``. This set of attributes specifies a runtime
+measurement environment. All explicit attributes shall be specified. The
+explicit attributes for this type are:
+
+name
+    The attribute value shall be a string. It shall be the runtime measurement
+    environment name.  See also
+    :ref:`SpecTypeRuntimeMeasurementEnvironmentName`.
+
 .. _SpecTypeRuntimePerformanceRequirementItemType:
 
 Runtime Performance Requirement Item Type
@@ -2067,9 +2091,6 @@ the requirement, the validation test code to execute a measure runtime request
 is specified. All explicit attributes shall be specified. The explicit
 attributes for this type are:
 
-limits
-    The attribute value shall be a :ref:`SpecTypeRuntimePerformanceLimitTable`.
-
 params
     The attribute value shall be a
     :ref:`SpecTypeRuntimePerformanceParameterSet`.
@@ -2105,34 +2126,11 @@ Please have a look at the following example:
 
     SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
     copyrights:
-    - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+    - Copyright (C) 2020 embedded brains GmbH & Co. KG
     enabled-by: true
     links:
     - role: runtime-measurement-request
-      uid: ../val/performance
-    limits:
-      sparc/leon3:
-        DirtyCache:
-          max-upper-bound: 0.000005
-          mean-upper-bound: 0.000005
-        FullCache:
-          max-upper-bound: 0.000005
-          mean-upper-bound: 0.000005
-        HotCache:
-          max-upper-bound: 0.000005
-          mean-upper-bound: 0.000005
-        Load/1:
-          max-upper-bound: 0.00001
-          mean-upper-bound: 0.00001
-        Load/2:
-          max-upper-bound: 0.00001
-          mean-upper-bound: 0.00001
-        Load/3:
-          max-upper-bound: 0.00001
-          mean-upper-bound: 0.00001
-        Load/4:
-          max-upper-bound: 0.00001
-          mean-upper-bound: 0.00001
+      uid: ../val/perf
     params: {}
     rationale: null
     references: []
@@ -2159,11 +2157,11 @@ Please have a look at the following example:
         return tic == toc;
       description: null
     text: |
-      When a partition has exactly ${../val/performance:/params/buffer-count} free
-      buffers, the ${.:limit-kind} runtime of exactly
-      ${../val/performance:/params/sample-count} successful calls to
+      When a partition has exactly ${../val/perf:/params/buffer-count} free
+      buffers, the ${.:/limit-kind} runtime of exactly
+      ${../val/perf:/params/sample-count} successful calls to
       ${../if/get-buffer:/name} in the ${.:/environment} shall be
-      ${.:limit-condition}.
+      ${.:/limit-condition}.
     non-functional-type: performance-runtime
     requirement-type: non-functional
     type: requirement
@@ -4448,6 +4446,8 @@ This type is refined by the following types:
 
 * :ref:`SpecTypeInterfaceTargetLinkRole`
 
+* :ref:`SpecTypePerformanceRuntimeLimitsLinkRole`
+
 * :ref:`SpecTypePlacementOrderLinkRole`
 
 * :ref:`SpecTypeRequirementRefinementLinkRole`
@@ -4529,6 +4529,20 @@ A value of this type shall be of one of the following variants:
 
 * The value may be a string.
 
+.. _SpecTypePerformanceRuntimeLimitsLinkRole:
+
+Performance Runtime Limits Link Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``performance-runtime-limits``. It defines the performance runtime
+limits role of links. All explicit attributes shall be specified. The explicit
+attributes for this type are:
+
+limits
+    The attribute value shall be a
+    :ref:`SpecTypeRuntimeMeasurementEnvironmentTable`.
+
 .. _SpecTypePlacementOrderLinkRole:
 
 Placement Order Link Role
@@ -4742,13 +4756,13 @@ Requirement Validation Link Role
 This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
 value is ``validation``. It defines the requirement validation role of links.
 
-.. _SpecTypeRuntimeMeasurementEnvironment:
+.. _SpecTypeRuntimeMeasurementEnvironmentName:
 
-Runtime Measurement Environment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Runtime Measurement Environment Name
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The value shall be a string. It specifies the runtime measurement environment.
-The value
+The value shall be a string. It specifies the runtime measurement environment
+name. The value
 
 * shall be an element of
 
@@ -4771,12 +4785,12 @@ Runtime Measurement Environment Table
 
 This set of attributes provides runtime performance limits for a set of runtime
 measurement environments. Generic attributes may be specified. Each generic
-attribute key shall be a :ref:`SpecTypeRuntimeMeasurementEnvironment`. Each
+attribute key shall be a :ref:`SpecTypeRuntimeMeasurementEnvironmentName`. Each
 generic attribute value shall be a :ref:`SpecTypeRuntimeMeasurementValueTable`.
 
 This type is used by the following types:
 
-* :ref:`SpecTypeRuntimePerformanceLimitTable`
+* :ref:`SpecTypePerformanceRuntimeLimitsLinkRole`
 
 .. _SpecTypeRuntimeMeasurementParameterSet:
 
@@ -4852,21 +4866,6 @@ This type is used by the following types:
 
 * :ref:`SpecTypeRuntimeMeasurementEnvironmentTable`
 
-.. _SpecTypeRuntimePerformanceLimitTable:
-
-Runtime Performance Limit Table
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This set of attributes provides runtime performance limits for BSP variants
-specified by ``"<arch>/<bsp>"`` with <arch> being the architecture of the BSP
-and <bsp> being the base name of the BSP. Generic attributes may be specified.
-Each generic attribute key shall be a string. Each generic attribute value
-shall be a :ref:`SpecTypeRuntimeMeasurementEnvironmentTable`.
-
-This type is used by the following types:
-
-* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
-
 .. _SpecTypeRuntimePerformanceParameterSet:
 
 Runtime Performance Parameter Set
-- 
2.35.3



More information about the devel mailing list