[PATCH] eng: Add performance specification items
Gedare Bloom
gedare at rtems.org
Fri Nov 13 19:03:06 UTC 2020
On Fri, Nov 13, 2020 at 2:47 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Add items to specify runtime performance requirements.
>
> Update #3715.
> ---
>
> You find an updated document here:
>
> https://ftp.rtems.org/pub/rtems/people/sebh/eng.pdf
>
> eng/req/items.rst | 616 +++++++++++++++++++++++++++++++++++++---------
> 1 file changed, 503 insertions(+), 113 deletions(-)
>
> diff --git a/eng/req/items.rst b/eng/req/items.rst
> index 9d3822b..e811213 100644
> --- a/eng/req/items.rst
> +++ b/eng/req/items.rst
> @@ -109,8 +109,14 @@ The specification item types have the following hierarchy:
>
> * :ref:`SpecTypeNonFunctionalRequirementItemType`
>
> + * :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
> +
> + * :ref:`SpecTypeRuntimePerformanceRequirementItemType`
> +
> * :ref:`SpecTypeRequirementValidationItemType`
>
> + * :ref:`SpecTypeRuntimeMeasurementTestItemType`
> +
> * :ref:`SpecTypeSpecificationItemType`
>
> * :ref:`SpecTypeTestCaseItemType`
> @@ -183,6 +189,8 @@ This type is refined by the following types:
>
> * :ref:`SpecTypeRequirementValidationItemType`
>
> +* :ref:`SpecTypeRuntimeMeasurementTestItemType`
> +
> * :ref:`SpecTypeSpecificationItemType`
>
> * :ref:`SpecTypeTestCaseItemType`
> @@ -1729,8 +1737,8 @@ test-cleanup
> action loop body after the test post-condition checks.
>
> test-context
> - The attribute value shall be a list. Each list element shall be an
> - :ref:`SpecTypeActionRequirementTestContextMember`.
> + The attribute value shall be a list. Each list element shall be a
> + :ref:`SpecTypeTestContextMember`.
>
> test-context-support
> The attribute value shall be an optional string. If the value is present,
> @@ -1758,12 +1766,10 @@ test-prepare
> the test action loop body before the test pre-condition preparations.
>
> test-setup
> - The attribute value shall be an
> - :ref:`SpecTypeActionRequirementTestFixtureMethod`.
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`.
>
> test-stop
> - The attribute value shall be an
> - :ref:`SpecTypeActionRequirementTestFixtureMethod`.
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`.
>
> test-support
> The attribute value shall be an optional string. If the value is present,
> @@ -1775,8 +1781,7 @@ test-target
> generated test case source file.
>
> test-teardown
> - The attribute value shall be an
> - :ref:`SpecTypeActionRequirementTestFixtureMethod`.
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`.
>
> transition-map
> The attribute value shall be a list. Each list element shall be an
> @@ -1943,8 +1948,213 @@ attributes specifies a non-functional requirement. All explicit attributes
> shall be specified. The explicit attributes for this type are:
>
> non-functional-type
> - The attribute value shall be a :ref:`SpecTypeRequirementNonFunctionalType`.
> - It shall be the non-functional type of the requirement.
> + The attribute value shall be a :ref:`SpecTypeName`. It shall be the
> + non-functional type of the requirement.
> +
> +This type is refined by the following types:
> +
> +* :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
> +
> +* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
> +
> +.. _SpecTypeGenericNonFunctionalRequirementItemType:
> +
> +Generic Non-Functional Requirement Item Type
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This type refines the following types:
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
through?
> + ``non-functional-type`` attribute if the value is ``build-configuration``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``constraint``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``design``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``documentation``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``interface``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``interface-requirement``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``maintainability``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``performance``
> +
Is there a specific kind of performance (metric) in mind? latency vs
throughput? Or does it not matter
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``portability``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``quality``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``reliability``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``resource``
> +
> +* :ref:`SpecTypeNonFunctionalRequirementItemType` though the
> + ``non-functional-type`` attribute if the value is ``safety``
> +
> +Items of this type state a non-functional requirement with the non-functional
> +type defined by the specification type refinement.
> +
> +.. _SpecTypeRuntimePerformanceRequirementItemType:
> +
> +Runtime Performance Requirement Item Type
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This type refines the :ref:`SpecTypeNonFunctionalRequirementItemType` though
> +the ``non-functional-type`` attribute if the value is ``performance-runtime``.
> +The item shall have exactly one link with the
> +:ref:`SpecTypeRuntimeMeasurementRequestLinkRole`. A requirement text processor
> +shall support a substitution of ${.:/limit-kind}:
> +
> +* For a :ref:`SpecTypeRuntimeMeasurementValueKind` of ``min-lower-bound`` or
> + ``min-upper-bound``, the substitution of ${.:/limit-kind} shall be
> + ``"minimum"``.
> +
> +* For a :ref:`SpecTypeRuntimeMeasurementValueKind` of ``mean-lower-bound`` or
> + ``mean-upper-bound``, the substitution of ${.:/limit-kind} shall be
> + ``"mean"``.
> +
> +* For a :ref:`SpecTypeRuntimeMeasurementValueKind` of ``max-lower-bound`` or
> + ``max-upper-bound``, the substitution of ${.:/limit-kind} shall be
> + ``"maximum"``.
> +
> +A requirement text processor shall support a substitution of
> +${.:/limit-condition}:
> +
> +* For a :ref:`SpecTypeRuntimeMeasurementValueKind` of ``min-lower-bound``,
> + ``mean-lower-bound``, or ``max-lower-bound``, the substitution of
> + ${.:/limit-condition} shall be ``"greater than or equal to <value>"`` with
> + <value> being the value of the corresponding entry in the
> + :ref:`SpecTypeRuntimeMeasurementValueTable`.
> +
> +* For a :ref:`SpecTypeRuntimeMeasurementValueKind` of ``min-upper-bound``,
> + ``mean-upper-bound``, or ``max-upper-bound``, the substitution of
> + ${.:/limit-condition} shall be ``"less than or equal to <value>"`` with
> + <value> being the value of the corresponding entry in the
> + :ref:`SpecTypeRuntimeMeasurementValueTable`.
> +
> +A requirement text processor shall support a substitution of ${.:/environment}.
> +The value of the substitution shall be ``"<environment> environment"`` with
> +<environment> being the environment of the corresponding entry in the
> +:ref:`SpecTypeRuntimeMeasurementEnvironmentTable`.
> +
> +This set of attributes specifies non-functional runtime performance
> +requirements and the corresponding validation test code. Along with the
> +requirement, the 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`.
> +
> +test-body
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. It shall
> + provide the code of the measure runtime body handler. In contrast to other
> + methods, this method is mandatory.
> +
> +test-cleanup
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. It may
> + provide the code to clean up the measure runtime request. This method is
> + called before the cleanup method of the corresponding
> + :ref:`SpecTypeRuntimeMeasurementTestItemType` item and after the request.
> +
> +test-prepare
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. It may
> + provide the code to prepare the measure runtime request. This method is
> + called after the prepare method of the corresponding
> + :ref:`SpecTypeRuntimeMeasurementTestItemType` item and before the request.
> +
> +test-setup
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. It may
> + provide the code of the measure runtime setup handler.
> +
> +test-teardown
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. It may
> + provide the code of the measure runtime teardown handler.
> +
> +Please have a look at the following example:
> +
> +.. code-block:: yaml
> +
> + SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> + copyrights:
> + - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
> + 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
> + params: {}
> + rationale: null
> + references: []
> + test-body:
> + brief: |
> + Get a buffer.
> + code: |
> + ctx->status = rtems_partition_get_buffer( ctx->part_many, &ctx->buffer );
> + description: null
> + test-cleanup: null
> + test-prepare: null
> + test-setup: null
> + test-teardown:
> + brief: |
> + Return the buffer.
> + code: |
> + rtems_status_code sc;
> +
> + T_quiet_rsc_success( ctx->status );
> +
> + sc = rtems_partition_return_buffer( ctx->part_many, ctx->buffer );
> + T_quiet_rsc_success( sc );
> +
> + 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
> + ${../if/get-buffer:/name} in the ${.:/environment} shall be
> + ${.:limit-condition}.
> + non-functional-type: performance-runtime
> + requirement-type: non-functional
> + type: requirement
>
> .. _SpecTypeRequirementValidationItemType:
>
> @@ -1974,6 +2184,76 @@ text
> * *By review of design*: A rationale shall be provided to demonstrate how
> the requirement is satisfied implicitly by the software design.
>
> +.. _SpecTypeRuntimeMeasurementTestItemType:
> +
> +Runtime Measurement Test Item Type
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This type refines the :ref:`SpecTypeRootItemType` though the ``type`` attribute
> +if the value is ``runtime-measurement-test``. This set of attributes specifies
> +a runtime measurement test case. All explicit attributes shall be specified.
> +The explicit attributes for this type are:
> +
> +params
> + The attribute value shall be a
> + :ref:`SpecTypeRuntimeMeasurementParameterSet`.
> +
> +test-brief
> + The attribute value shall be an optional string. If the value is present,
> + then it shall be the test case brief description.
> +
> +test-cleanup
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. If the
> + value is present, then it shall be the measure runtime request cleanup
> + method. The method is called after each measure runtime request.
> +
> +test-context
> + The attribute value shall be a list. Each list element shall be a
> + :ref:`SpecTypeTestContextMember`.
> +
> +test-context-support
> + The attribute value shall be an optional string. If the value is present,
> + then it shall be the test context support code. The context support code
> + is placed at file scope before the test context definition.
> +
> +test-description
> + The attribute value shall be an optional string. If the value is present,
> + then it shall be the test case description.
> +
> +test-includes
> + The attribute value shall be a list of strings. It shall be a list of
> + header files included via ``#include <...>``.
> +
> +test-local-includes
> + The attribute value shall be a list of strings. It shall be a list of
> + header files included via ``#include "..."``.
> +
> +test-prepare
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. If the
> + value is present, then it shall be the measure runtime request prepare
> + method. The method is called before each measure runtime request.
> +
> +test-setup
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. If the
> + value is present, then it shall be the test case setup fixture method.
> +
> +test-stop
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. If the
> + value is present, then it shall be the test case stop fixture method.
> +
> +test-support
> + The attribute value shall be an optional string. If the value is present,
> + then it shall be the test case support code. The support code is placed at
> + file scope before the test case code.
> +
> +test-target
> + The attribute value shall be a string. It shall be the path to the
> + generated test case source file.
> +
> +test-teardown
> + The attribute value shall be a :ref:`SpecTypeTestSupportMethod`. If the
> + value is present, then it shall be the test case teardown fixture method.
> +
> .. _SpecTypeSpecificationItemType:
>
> Specification Item Type
> @@ -2207,14 +2487,14 @@ test-epilogue
> then it shall be the test epilogue code. The epilogue code is placed in the
> test condition preparation or check before the state-specific code. The
> code may use a local variable ``ctx`` which points to the test context, see
> - :ref:`SpecTypeActionRequirementTestContextMember`.
> + :ref:`SpecTypeTestContextMember`.
>
> test-prologue
> The attribute value shall be an optional string. If the value is present,
> then it shall be the test prologue code. The prologue code is placed in the
> test condition preparation or check after the state-specific code. The
> code may use a local variable ``ctx`` which points to the test context, see
> - :ref:`SpecTypeActionRequirementTestContextMember`.
> + :ref:`SpecTypeTestContextMember`.
>
> This type is used by the following types:
>
> @@ -2283,7 +2563,7 @@ test-code
> The attribute value shall be a string. It shall be the test code to prepare
> or check the state of the condition. The code may use a local variable
> ``ctx`` which points to the test context, see
> - :ref:`SpecTypeActionRequirementTestContextMember`.
> + :ref:`SpecTypeTestContextMember`.
>
> text
> The attribute value shall be a :ref:`SpecTypeRequirementText`. It shall
> @@ -2293,66 +2573,6 @@ This type is used by the following types:
>
> * :ref:`SpecTypeActionRequirementCondition`
>
> -.. _SpecTypeActionRequirementTestContextMember:
> -
> -Action Requirement Test Context Member
> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> -
> -A value of this type shall be of one of the following variants:
> -
> -* The value may be a set of attributes. This set of attributes defines an
> - action requirement test context member. All explicit attributes shall be
> - specified. The explicit attributes for this type are:
> -
> - brief
> - The attribute value shall be an optional string. It shall be the test
> - context member brief description.
> -
> - description
> - The attribute value shall be an optional string. It shall be the test
> - context member description.
> -
> - member
> - The attribute value shall be a string. It shall be the test context
> - member definition. It shall be a valid C structure member definition
> - without a trailing ``;``.
> -
> -* There may by be no value (null).
> -
> -This type is used by the following types:
> -
> -* :ref:`SpecTypeActionRequirementItemType`
> -
> -.. _SpecTypeActionRequirementTestFixtureMethod:
> -
> -Action Requirement Test Fixture Method
> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> -
> -A value of this type shall be of one of the following variants:
> -
> -* The value may be a set of attributes. This set of attributes defines an
> - action requirement test fixture method. All explicit attributes shall be
> - specified. The explicit attributes for this type are:
> -
> - brief
> - The attribute value shall be an optional string. It shall be the test
> - fixture method brief description.
> -
> - code
> - The attribute value shall be a string. It shall be the test fixture
> - method code. The code may use a local variable ``ctx`` which points to
> - the test context, see :ref:`SpecTypeActionRequirementTestContextMember`.
> -
> - description
> - The attribute value shall be an optional string. It shall be the test
> - fixture method description.
> -
> -* There may by be no value (null).
> -
> -This type is used by the following types:
> -
> -* :ref:`SpecTypeActionRequirementItemType`
> -
> .. _SpecTypeActionRequirementTransition:
>
> Action Requirement Transition
> @@ -3977,6 +4197,8 @@ This type is refined by the following types:
>
> * :ref:`SpecTypeRequirementValidationLinkRole`
>
> +* :ref:`SpecTypeRuntimeMeasurementRequestLinkRole`
> +
> * :ref:`SpecTypeSpecificationMemberLinkRole`
>
> * :ref:`SpecTypeSpecificationRefinementLinkRole`
> @@ -4013,10 +4235,16 @@ This type is used by the following types:
>
> * :ref:`SpecTypeLink`
>
> +* :ref:`SpecTypeNonFunctionalRequirementItemType`
> +
> * :ref:`SpecTypeRequirementItemType`
>
> * :ref:`SpecTypeRootItemType`
>
> +* :ref:`SpecTypeRuntimeMeasurementParameterSet`
> +
> +* :ref:`SpecTypeRuntimePerformanceParameterSet`
> +
> * :ref:`SpecTypeSpecificationAttributeValue`
>
> * :ref:`SpecTypeSpecificationExplicitAttributes`
> @@ -4050,44 +4278,6 @@ value is ``placement-order``. This link role defines the placement order of
> items in a container item (for example an interface function in a header file
> or a documentation section).
>
> -.. _SpecTypeRequirementNonFunctionalType:
> -
> -Requirement Non-Functional Type
> -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> -
> -The value shall be a string. This type shall be used for non-functional
> -requirement types. The value shall be an element of
> -
> -* "``build-configuration``",
> -
> -* "``constraint``",
> -
> -* "``design``",
> -
> -* "``documentation``",
> -
> -* "``interface``",
> -
> -* "``interface-requirement``",
> -
> -* "``maintainability``",
> -
> -* "``performance``",
> -
> -* "``portability``",
> -
> -* "``quality``",
> -
> -* "``reliability``",
> -
> -* "``resource``", and
> -
> -* "``safety``".
> -
> -This type is used by the following types:
> -
> -* :ref:`SpecTypeNonFunctionalRequirementItemType`
> -
> .. _SpecTypeRequirementReference:
>
> Requirement Reference
> @@ -4313,6 +4503,140 @@ This type is used by the following types:
>
> * :ref:`SpecTypeRequirementValidationItemType`
>
> +.. _SpecTypeRuntimeMeasurementEnvironment:
> +
> +Runtime Measurement Environment
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +The value shall be a string. It specifies the runtime measurement environment.
> +The value
> +
> +* shall be an element of
> +
> + * "``FullCache``",
> +
> + * "``HotCache``", and
> +
> + * "``DirtyCache``",
> +
> +* or, shall match with the regular expression "``^Load/[1-9][0-9]*$``".
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeRuntimeMeasurementEnvironmentTable`
> +
> +.. _SpecTypeRuntimeMeasurementEnvironmentTable:
> +
> +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
> +generic attribute value shall be a :ref:`SpecTypeRuntimeMeasurementValueTable`.
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeRuntimePerformanceLimitTable`
> +
> +.. _SpecTypeRuntimeMeasurementParameterSet:
> +
> +Runtime Measurement Parameter Set
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This set of attributes defines parameters of the runtime measurement test case.
> +All explicit attributes shall be specified. The explicit attributes for this
> +type are:
> +
> +sample-count
> + The attribute value shall be an integer number. It shall be the sample
> + count of the runtime measurement context.
> +
> +In addition to the explicit attributes, generic attributes may be specified.
> +Each generic attribute key shall be a :ref:`SpecTypeName`. The attribute value
> +may have any type.
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeRuntimeMeasurementTestItemType`
> +
> +.. _SpecTypeRuntimeMeasurementRequestLinkRole:
> +
> +Runtime Measurement Request Link Role
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This type refines the :ref:`SpecTypeLink` though the ``role`` attribute if the
> +value is ``runtime-measurement-request``. It defines the runtime measurement
> +request role of links. The link target shall be a
> +:ref:`SpecTypeRuntimeMeasurementTestItemType` item.
> +
> +.. _SpecTypeRuntimeMeasurementValueKind:
> +
> +Runtime Measurement Value Kind
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +The value shall be a string. It specifies the kind of a runtime measurement
> +value. The value shall be an element of
> +
> +* "``max-lower-bound``",
> +
> +* "``max-upper-bound``",
> +
> +* "``mean-lower-bound``",
> +
> +* "``mean-upper-bound``",
> +
> +* "``min-lower-bound``", and
> +
> +* "``min-upper-bound``".
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeRuntimeMeasurementValueTable`
> +
> +.. _SpecTypeRuntimeMeasurementValueTable:
> +
> +Runtime Measurement Value Table
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This set of attributes provides a set of runtime measurement values each of a
> +specified kind. The unit of the values shall be one second. Generic attributes
> +may be specified. Each generic attribute key shall be a
> +:ref:`SpecTypeRuntimeMeasurementValueKind`. Each generic attribute value shall
> +be a floating-point number.
> +
> +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
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +This set of attributes defines parameters of the runtime performance
> +requirement. Generic attributes may be specified. Each generic attribute key
> +shall be a :ref:`SpecTypeName`. The attribute value may have any type.
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
> +
> .. _SpecTypeSPDXLicenseIdentifier:
>
> SPDX License Identifier
> @@ -4932,6 +5256,38 @@ This type is used by the following types:
>
> * :ref:`SpecTypeTestCaseAction`
>
> +.. _SpecTypeTestContextMember:
> +
> +Test Context Member
> +^^^^^^^^^^^^^^^^^^^
> +
> +A value of this type shall be of one of the following variants:
> +
> +* The value may be a set of attributes. This set of attributes defines an
> + action requirement test context member. All explicit attributes shall be
> + specified. The explicit attributes for this type are:
> +
> + brief
> + The attribute value shall be an optional string. It shall be the test
> + context member brief description.
> +
> + description
> + The attribute value shall be an optional string. It shall be the test
> + context member description.
> +
> + member
> + The attribute value shall be a string. It shall be the test context
> + member definition. It shall be a valid C structure member definition
> + without a trailing ``;``.
> +
> +* There may by be no value (null).
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeActionRequirementItemType`
> +
> +* :ref:`SpecTypeRuntimeMeasurementTestItemType`
> +
> .. _SpecTypeTestHeader:
>
> Test Header
> @@ -4986,8 +5342,8 @@ Test Run Parameter
> This set of attributes specifies a parameter for the test run function. In case
> this parameter is used in an :ref:`SpecTypeActionRequirementItemType` item,
> then the parameter is also added as a member to the test context, see
> -:ref:`SpecTypeActionRequirementTestContextMember`. All explicit attributes
> -shall be specified. The explicit attributes for this type are:
> +:ref:`SpecTypeTestContextMember`. All explicit attributes shall be specified.
> +The explicit attributes for this type are:
>
> description
> The attribute value shall be a string. It shall be the description of the
> @@ -5008,6 +5364,40 @@ This type is used by the following types:
>
> * :ref:`SpecTypeTestHeader`
>
> +.. _SpecTypeTestSupportMethod:
> +
> +Test Support Method
> +^^^^^^^^^^^^^^^^^^^
> +
> +A value of this type shall be of one of the following variants:
> +
> +* The value may be a set of attributes. This set of attributes defines an
> + action requirement test support method. All explicit attributes shall be
> + specified. The explicit attributes for this type are:
> +
> + brief
> + The attribute value shall be an optional string. It shall be the test
> + support method brief description.
> +
> + code
> + The attribute value shall be a string. It shall be the test support
> + method code. The code may use a local variable ``ctx`` which points to
> + the test context, see :ref:`SpecTypeTestContextMember`.
> +
> + description
> + The attribute value shall be an optional string. It shall be the test
> + support method description.
> +
> +* There may by be no value (null).
> +
> +This type is used by the following types:
> +
> +* :ref:`SpecTypeActionRequirementItemType`
> +
> +* :ref:`SpecTypeRuntimeMeasurementTestItemType`
> +
> +* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
> +
> .. _SpecTypeUID:
>
> UID
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
More information about the devel
mailing list