summaryrefslogtreecommitdiffstats
path: root/eng/req/items.rst
diff options
context:
space:
mode:
Diffstat (limited to 'eng/req/items.rst')
-rw-r--r--eng/req/items.rst1446
1 files changed, 1010 insertions, 436 deletions
diff --git a/eng/req/items.rst b/eng/req/items.rst
index db39547..286e998 100644
--- a/eng/req/items.rst
+++ b/eng/req/items.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2019, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2019, 2023 embedded brains GmbH & Co. KG
.. This file is part of the RTEMS quality process and was automatically
.. generated. If you find something that needs to be fixed or
@@ -77,8 +77,6 @@ The specification item types have the following hierarchy:
* :ref:`SpecTypeInterfaceCompoundItemType`
- * :ref:`SpecTypeInterfaceContainerItemType`
-
* :ref:`SpecTypeInterfaceDefineItemType`
* :ref:`SpecTypeInterfaceDomainItemType`
@@ -89,20 +87,24 @@ The specification item types have the following hierarchy:
* :ref:`SpecTypeInterfaceForwardDeclarationItemType`
- * :ref:`SpecTypeInterfaceFunctionItemType`
+ * :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
* :ref:`SpecTypeInterfaceGroupItemType`
* :ref:`SpecTypeInterfaceHeaderFileItemType`
- * :ref:`SpecTypeInterfaceMacroItemType`
-
* :ref:`SpecTypeInterfaceTypedefItemType`
+ * :ref:`SpecTypeInterfaceUnspecifiedHeaderFileItemType`
+
* :ref:`SpecTypeInterfaceUnspecifiedItemType`
* :ref:`SpecTypeInterfaceVariableItemType`
+ * :ref:`SpecTypeRegisterBlockItemType`
+
+ * :ref:`SpecTypeProxyItemTypes`
+
* :ref:`SpecTypeRequirementItemType`
* :ref:`SpecTypeFunctionalRequirementItemType`
@@ -115,12 +117,18 @@ The specification item types have the following hierarchy:
* :ref:`SpecTypeDesignGroupRequirementItemType`
+ * :ref:`SpecTypeDesignTargetItemType`
+
* :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
+ * :ref:`SpecTypeRuntimeMeasurementEnvironmentItemType`
+
* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
* :ref:`SpecTypeRequirementValidationItemType`
+ * :ref:`SpecTypeRequirementValidationMethod`
+
* :ref:`SpecTypeRuntimeMeasurementTestItemType`
* :ref:`SpecTypeSpecificationItemType`
@@ -191,6 +199,8 @@ This type is refined by the following types:
* :ref:`SpecTypeInterfaceItemType`
+* :ref:`SpecTypeProxyItemTypes`
+
* :ref:`SpecTypeRequirementItemType`
* :ref:`SpecTypeRequirementValidationItemType`
@@ -284,6 +294,10 @@ cppflags
The attribute value shall be a list. Each list element shall be a
:ref:`SpecTypeBuildCPreprocessorOption`.
+cxxflags
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeBuildCXXCompilerOption`.
+
includes
The attribute value shall be a list. Each list element shall be a
:ref:`SpecTypeBuildIncludePath`.
@@ -325,8 +339,9 @@ Please have a look at the following example:
build-type: ada-test-program
cflags: []
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
+ cxxflags: []
enabled-by: true
includes: []
ldflags: []
@@ -391,7 +406,7 @@ Please have a look at the following example:
build-type: bsp
cflags: []
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
enabled-by: true
family: mybsp
@@ -461,7 +476,7 @@ Please have a look at the following example:
Name: ${ARCH}-rtems${__RTEMS_MAJOR__}-${BSP_NAME}
# ...
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
install-path: ${PREFIX}/lib/pkgconfig
links: []
@@ -509,6 +524,18 @@ referenced build items. The ``includes``, ``ldflags``, ``objects``, and
attributes of the build group. All explicit attributes shall be specified. The
explicit attributes for this type are:
+cflags
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeBuildCCompilerOption`.
+
+cppflags
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeBuildCPreprocessorOption`.
+
+cxxflags
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeBuildCXXCompilerOption`.
+
includes
The attribute value shall be a list. Each list element shall be a
:ref:`SpecTypeBuildIncludePath`.
@@ -536,8 +563,11 @@ Please have a look at the following example:
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
build-type: group
+ cflags: []
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
+ cppflags: []
+ cxxflags: []
enabled-by:
- BUILD_TESTS
- BUILD_SAMPLES
@@ -607,7 +637,7 @@ Please have a look at the following example:
cflags:
- -Wno-pointer-sign
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
cxxflags: []
enabled-by: true
@@ -631,8 +661,12 @@ Build Objects Item Type
This type refines the :ref:`SpecTypeBuildItemType` through the ``build-type``
attribute if the value is ``objects``. This set of attributes specifies a set
-of object files used to build static libraries or test programs. All explicit
-attributes shall be specified. The explicit attributes for this type are:
+of object files used to build static libraries or test programs. Objects Items
+must not be included on multiple paths through the build dependency graph with
+identical build options. Violating this can cause race conditions in the build
+system due to duplicate installs and multiple instances of build tasks. All
+explicit attributes shall be specified. The explicit attributes for this type
+are:
cflags
The attribute value shall be a list. Each list element shall be a
@@ -666,7 +700,7 @@ Please have a look at the following example:
build-type: objects
cflags: []
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
cxxflags: []
enabled-by: true
@@ -696,8 +730,6 @@ option. The following explicit attributes are mandatory:
* ``default``
-* ``default-by-variant``
-
* ``description``
The explicit attributes for this type are:
@@ -711,16 +743,11 @@ actions
actions are carried out during the configure command execution.
default
- The attribute value shall be a :ref:`SpecTypeBuildOptionValue`. It shall be
- the default value of the option if no variant-specific default value is
- specified. Use ``null`` to specify that no default value exits. The
- variant-specific default values may be specified by the
- ``default-by-variant`` attribute.
-
-default-by-variant
The attribute value shall be a list. Each list element shall be a
- :ref:`SpecTypeBuildOptionDefaultByVariant`. The list is processed from top
- to bottom. If a matching variant is found, then the processing stops.
+ :ref:`SpecTypeBuildOptionDefaultValue`. It shall be the list of default
+ values of the option. When a default value is needed, the first value on
+ the list which is enabled according to the enabled set is choosen. If no
+ value is enabled, then the default value is ``null``.
description
The attribute value shall be an optional string. It shall be the
@@ -745,16 +772,17 @@ Please have a look at the following example:
- define: null
build-type: option
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- default: 115200
- default-by-variant:
- - value: 9600
- variants:
+ - Copyright (C) 2020, 2022 embedded brains GmbH & Co. KG
+ default:
+ - enabled-by:
+ - bsps/powerpc/motorola_powerpc
- m68k/m5484FireEngine
- powerpc/hsc_cm01
- - value: 19200
- variants:
- - m68k/COBRA5475
+ value: 9600
+ - enabled-by: m68k/COBRA5475
+ value: 19200
+ - enabled-by: true
+ value: 115200
description: |
Default baud for console and other serial devices.
enabled-by: true
@@ -841,6 +869,9 @@ stlib
The attribute value shall be a list. Each list element shall be a
:ref:`SpecTypeBuildLinkStaticLibraryDirective`.
+target
+ The attribute value shall be a :ref:`SpecTypeBuildTarget`.
+
use-after
The attribute value shall be a list. Each list element shall be a
:ref:`SpecTypeBuildUseAfterDirective`.
@@ -856,7 +887,7 @@ Please have a look at the following example:
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
build-type: script
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
default: null
default-by-variant: []
do-build: |
@@ -916,7 +947,7 @@ Please have a look at the following example:
asflags: []
build-type: start-file
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
enabled-by: true
includes: []
@@ -992,7 +1023,7 @@ Please have a look at the following example:
build-type: test-program
cflags: []
copyrights:
- - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ - Copyright (C) 2020 embedded brains GmbH & Co. KG
cppflags: []
cxxflags: []
enabled-by: true
@@ -1113,8 +1144,6 @@ This type is refined by the following types:
* :ref:`SpecTypeInterfaceCompoundItemType`
-* :ref:`SpecTypeInterfaceContainerItemType`
-
* :ref:`SpecTypeInterfaceDefineItemType`
* :ref:`SpecTypeInterfaceDomainItemType`
@@ -1125,20 +1154,22 @@ This type is refined by the following types:
* :ref:`SpecTypeInterfaceForwardDeclarationItemType`
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
* :ref:`SpecTypeInterfaceGroupItemType`
* :ref:`SpecTypeInterfaceHeaderFileItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
-
* :ref:`SpecTypeInterfaceTypedefItemType`
+* :ref:`SpecTypeInterfaceUnspecifiedHeaderFileItemType`
+
* :ref:`SpecTypeInterfaceUnspecifiedItemType`
* :ref:`SpecTypeInterfaceVariableItemType`
+* :ref:`SpecTypeRegisterBlockItemType`
+
.. _SpecTypeApplicationConfigurationGroupItemType:
Application Configuration Group Item Type
@@ -1276,18 +1307,6 @@ name
notes
The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
-.. _SpecTypeInterfaceContainerItemType:
-
-Interface Container Item Type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This type refines the :ref:`SpecTypeInterfaceItemType` through the
-``interface-type`` attribute if the value is ``container``. Items of this type
-specify an interface container. The item shall have exactly one link with the
-:ref:`SpecTypeInterfacePlacementLinkRole` to an
-:ref:`SpecTypeInterfaceDomainItemType` item. This link defines the interface
-domain of the container.
-
.. _SpecTypeInterfaceDefineItemType:
Interface Define Item Type
@@ -1321,9 +1340,7 @@ Interface Domain Item Type
This type refines the :ref:`SpecTypeInterfaceItemType` through the
``interface-type`` attribute if the value is ``domain``. This set of attributes
-specifies an interface domain. Items of the types
-:ref:`SpecTypeInterfaceContainerItemType` and
-:ref:`SpecTypeInterfaceHeaderFileItemType` are placed into domains through
+specifies an interface domain. Interface items are placed into domains through
links with the :ref:`SpecTypeInterfacePlacementLinkRole`. All explicit
attributes shall be specified. The explicit attributes for this type are:
@@ -1399,29 +1416,35 @@ with the :ref:`SpecTypeInterfaceTargetLinkRole` to an
:ref:`SpecTypeInterfaceCompoundItemType` item. This link defines the type
declared by the forward declaration.
-.. _SpecTypeInterfaceFunctionItemType:
+.. _SpecTypeInterfaceFunctionOrMacroItemType:
-Interface Function Item Type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Function or Macro Item Type
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This type refines the :ref:`SpecTypeInterfaceItemType` through the
-``interface-type`` attribute if the value is ``function``. This set of
-attributes specifies a function. All explicit attributes shall be specified.
-The explicit attributes for this type are:
+This type refines the following types:
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``function``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``macro``
+
+This set of attributes specifies a function or a macro. All explicit attributes
+shall be specified. The explicit attributes for this type are:
brief
The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
definition
The attribute value shall be an
- :ref:`SpecTypeInterfaceFunctionDefinitionDirective`.
+ :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionDirective`.
description
The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
name
- The attribute value shall be a string. It shall be the name of the
- function.
+ The attribute value shall be a string. It shall be the name of the function
+ or macro.
notes
The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
@@ -1485,15 +1508,15 @@ prefix
path to the header file in the interface domain. For example
:file:`cpukit/include`.
-.. _SpecTypeInterfaceMacroItemType:
+.. _SpecTypeInterfaceTypedefItemType:
-Interface Macro Item Type
-^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Typedef Item Type
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
This type refines the :ref:`SpecTypeInterfaceItemType` through the
-``interface-type`` attribute if the value is ``macro``. This set of attributes
-specifies a macro. All explicit attributes shall be specified. The explicit
-attributes for this type are:
+``interface-type`` attribute if the value is ``typedef``. This set of
+attributes specifies a typedef. All explicit attributes shall be specified. The
+explicit attributes for this type are:
brief
The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
@@ -1506,7 +1529,7 @@ description
The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
name
- The attribute value shall be a string. It shall be the name of the macro.
+ The attribute value shall be a string. It shall be the name of the typedef.
notes
The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
@@ -1518,31 +1541,23 @@ params
return
The attribute value shall be an :ref:`SpecTypeInterfaceReturnDirective`.
-.. _SpecTypeInterfaceTypedefItemType:
+.. _SpecTypeInterfaceUnspecifiedHeaderFileItemType:
-Interface Typedef Item Type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Unspecified Header File Item Type
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This type refines the :ref:`SpecTypeInterfaceItemType` through the
-``interface-type`` attribute if the value is ``typedef``. This set of
-attributes specifies a typedef. All explicit attributes shall be specified. The
-explicit attributes for this type are:
-
-brief
- The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
-
-definition
- The attribute value shall be an
- :ref:`SpecTypeInterfaceDefinitionDirective`.
-
-description
- The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
+``interface-type`` attribute if the value is ``unspecified-header-file``. This
+set of attributes specifies an unspecified header file. 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 name of the typedef.
+path
+ The attribute value shall be a string. It shall be the path used to include
+ the header file. For example :file:`rtems/confdefs.h`.
-notes
- The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
+references
+ The attribute value shall be a list. Each list element shall be an
+ :ref:`SpecTypeExternalReference`.
.. _SpecTypeInterfaceUnspecifiedItemType:
@@ -1552,10 +1567,13 @@ Interface Unspecified Item Type
This type refines the following types:
* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
- the value is ``unspecified``
+ the value is ``unspecified-define``
* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
- the value is ``unspecified-define``
+ the value is ``unspecified-enum``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``unspecified-enumerator``
* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
the value is ``unspecified-function``
@@ -1564,7 +1582,19 @@ This type refines the following types:
the value is ``unspecified-group``
* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
- the value is ``unspecified-type``
+ the value is ``unspecified-macro``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``unspecified-object``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``unspecified-struct``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``unspecified-typedef``
+
+* :ref:`SpecTypeInterfaceItemType` through the ``interface-type`` attribute if
+ the value is ``unspecified-union``
This set of attributes specifies an unspecified interface. All explicit
attributes shall be specified. The explicit attributes for this type are:
@@ -1574,7 +1604,8 @@ name
unspecified interface.
references
- The attribute value shall be an :ref:`SpecTypeInterfaceReferencesSet`.
+ The attribute value shall be a list. Each list element shall be an
+ :ref:`SpecTypeExternalReference`.
.. _SpecTypeInterfaceVariableItemType:
@@ -1603,6 +1634,78 @@ name
notes
The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
+.. _SpecTypeRegisterBlockItemType:
+
+Register Block Item Type
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeInterfaceItemType` through the
+``interface-type`` attribute if the value is ``register-block``. This set of
+attributes specifies a register block. A register block may be used to specify
+the interface of devices. Register blocks consist of register block members
+specified by the ``definition`` attribute. Register block members are either
+instances of registers specified by the ``registers`` attribute or instances of
+other register blocks specified by links with the
+:ref:`SpecTypeRegisterBlockIncludeRole`. Registers consists of bit fields (see
+:ref:`SpecTypeRegisterBitsDefinition`. The register block members are placed
+into the address space of the device relative to the base address of the
+register block. Register member offsets and the register block size are
+specified in units of the address space granule. All explicit attributes shall
+be specified. The explicit attributes for this type are:
+
+brief
+ The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
+
+definition
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBlockMemberDefinitionDirective`.
+
+description
+ The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
+
+identifier
+ The attribute value shall be an :ref:`SpecTypeInterfaceGroupIdentifier`.
+
+name
+ The attribute value shall be a string. It shall be the name of the register
+ block.
+
+notes
+ The attribute value shall be an :ref:`SpecTypeInterfaceNotes`.
+
+register-block-group
+ The attribute value shall be a string. It shall be the name of the
+ interface group defined for the register block. For the group identifier
+ see the ``identifier`` attribute.
+
+register-block-size
+ The attribute value shall be an :ref:`SpecTypeOptionalInteger`. If the
+ value is present, then it shall be the size of the register block in units
+ of the address space granule.
+
+register-prefix
+ The attribute value shall be an optional string. If the value is present,
+ then it will be used to prefix register bit field names, otherwise the
+ value of the ``name`` attribute will be used.
+
+registers
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterDefinition`.
+
+.. _SpecTypeProxyItemTypes:
+
+Proxy Item Types
+^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeRootItemType` through the ``type``
+attribute if the value is ``proxy``. Items of similar characteristics may link
+to a proxy item through links with the :ref:`SpecTypeProxyMemberLinkRole`. A
+proxy item resolves to the first member item which is enabled. Proxies may be
+used to provide an interface with a common name and implementations which
+depend on configuration options. For example, in one configuration a constant
+could be a compile time constant and in another configuration it could be a
+read-only object.
+
.. _SpecTypeRequirementItemType:
Requirement Item Type
@@ -1618,8 +1721,8 @@ rationale
then it shall state the rationale or justification of the requirement.
references
- The attribute value shall be a list. Each list element shall be a
- :ref:`SpecTypeRequirementReference`.
+ The attribute value shall be a list. Each list element shall be an
+ :ref:`SpecTypeExternalReference`.
requirement-type
The attribute value shall be a :ref:`SpecTypeName`. It shall be the
@@ -1641,7 +1744,7 @@ 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
functional-type: capability
links: []
@@ -1787,7 +1890,7 @@ 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
functional-type: action
links: []
@@ -1923,6 +2026,9 @@ This type refines the following types:
attribute if the value is ``function``
* :ref:`SpecTypeFunctionalRequirementItemType` through the ``functional-type``
+ attribute if the value is ``interface-define-not-defined``
+
+* :ref:`SpecTypeFunctionalRequirementItemType` through the ``functional-type``
attribute if the value is ``operational``
* :ref:`SpecTypeFunctionalRequirementItemType` through the ``functional-type``
@@ -1949,8 +2055,12 @@ This type is refined by the following types:
* :ref:`SpecTypeDesignGroupRequirementItemType`
+* :ref:`SpecTypeDesignTargetItemType`
+
* :ref:`SpecTypeGenericNonFunctionalRequirementItemType`
+* :ref:`SpecTypeRuntimeMeasurementEnvironmentItemType`
+
* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
.. _SpecTypeDesignGroupRequirementItemType:
@@ -1969,7 +2079,29 @@ software source code. All explicit attributes shall be specified. The explicit
attributes for this type are:
identifier
- The attribute value shall be an :ref:`SpecTypeInterfaceGroupIdentifier`.
+ The attribute value shall be a
+ :ref:`SpecTypeRequirementDesignGroupIdentifier`.
+
+.. _SpecTypeDesignTargetItemType:
+
+Design Target Item Type
+^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeNonFunctionalRequirementItemType` through
+the ``non-functional-type`` attribute if the value is ``design-target``. This
+set of attributes specifies a design :term:`target`. All explicit attributes
+shall be specified. The explicit attributes for this type are:
+
+brief
+ The attribute value shall be an optional string. If the value is present,
+ then it shall briefly describe the target.
+
+description
+ The attribute value shall be an optional string. If the value is present,
+ then it shall thoroughly describe the target.
+
+name
+ The attribute value shall be a string. It shall be the target name.
.. _SpecTypeGenericNonFunctionalRequirementItemType:
@@ -2003,6 +2135,10 @@ This type refines the following types:
``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``
* :ref:`SpecTypeNonFunctionalRequirementItemType` through the
@@ -2020,6 +2156,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
@@ -2068,9 +2220,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`.
@@ -2106,34 +2255,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: []
@@ -2160,11 +2286,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
@@ -2182,8 +2308,13 @@ All explicit attributes shall be specified. The explicit attributes for this
type are:
method
- The attribute value shall be a :ref:`SpecTypeRequirementValidationMethod`.
- Validation by test is done through :ref:`SpecTypeTestCaseItemType` items.
+ The attribute value shall be a :ref:`SpecTypeName`. It shall specify the
+ requirement validation method (except validation by test). Validation by
+ test is done through :ref:`SpecTypeTestCaseItemType` items.
+
+references
+ The attribute value shall be a list. Each list element shall be an
+ :ref:`SpecTypeExternalReference`.
text
The attribute value shall be a string. It shall provide the validation
@@ -2198,6 +2329,26 @@ text
* *By review of design*: A rationale shall be provided to demonstrate how
the requirement is satisfied implicitly by the software design.
+This type is refined by the following types:
+
+* :ref:`SpecTypeRequirementValidationMethod`
+
+.. _SpecTypeRequirementValidationMethod:
+
+Requirement Validation Method
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the following types:
+
+* :ref:`SpecTypeRequirementValidationItemType` through the ``method`` attribute
+ if the value is ``by-analysis``
+
+* :ref:`SpecTypeRequirementValidationItemType` through the ``method`` attribute
+ if the value is ``by-inspection``
+
+* :ref:`SpecTypeRequirementValidationItemType` through the ``method`` attribute
+ if the value is ``by-review-of-design``
+
.. _SpecTypeRuntimeMeasurementTestItemType:
Runtime Measurement Test Item Type
@@ -2303,7 +2454,7 @@ 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: spec-member
@@ -2447,10 +2598,16 @@ steps
Test Suite Item Type
^^^^^^^^^^^^^^^^^^^^
-This type refines the :ref:`SpecTypeRootItemType` through the ``type``
-attribute if the value is ``test-suite``. This set of attributes specifies a
-test suite. All explicit attributes shall be specified. The explicit attributes
-for this type are:
+This type refines the following types:
+
+* :ref:`SpecTypeRootItemType` through the ``type`` attribute if the value is
+ ``memory-benchmark``
+
+* :ref:`SpecTypeRootItemType` through the ``type`` attribute if the value is
+ ``test-suite``
+
+This set of attributes specifies a test suite. All explicit attributes shall be
+specified. The explicit attributes for this type are:
test-brief
The attribute value shall be a string. It shall be the test suite brief
@@ -2472,10 +2629,6 @@ test-local-includes
The attribute value shall be a list of strings. It shall be a list of
header files included via ``#include "..."``.
-test-suite-name
- The attribute value shall be a string. It shall be the name of the test
- suite.
-
test-target
The attribute value shall be a string. It shall be the path to the
generated target test suite source file.
@@ -2639,7 +2792,7 @@ Action Requirement Expression State Name
The value shall be a string. It shall be the name of a state of the condition
or ``N/A`` if the condition is not applicable. The value
-* shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$``",
+* shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``",
* or, shall be equal to "``N/A``".
@@ -2661,7 +2814,7 @@ A value of this type shall be of one of the following variants:
* The value may be a string. It shall be the name of a state of the condition
or ``N/A`` if the condition is not applicable. The value
- * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$``",
+ * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``",
* or, shall be equal to "``N/A``".
@@ -2682,7 +2835,7 @@ the horizontal space is limited by the page width. The more conditions you
have in an action requirement, the shorter the names should be. The name
``NA`` is reserved and indicates that a condition is not applicable. The value
-* shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$``",
+* shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``",
* and, shall be not equal to "``NA``".
@@ -2796,7 +2949,7 @@ A value of this type shall be of one of the following variants:
corresponding post-condition or ``N/A`` if the post-condition is not
applicable. The value
- * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$``",
+ * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``",
* or, shall be equal to "``N/A``".
@@ -2826,7 +2979,7 @@ A value of this type shall be of one of the following variants:
reason is given instead of a listing of post-condition states, then this
transition is skipped and no test code runs for this transition. The value
- * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]+$``",
+ * shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``",
* and, shall be not equal to "``NA``".
@@ -2883,15 +3036,6 @@ This type is used by the following types:
* :ref:`SpecTypeActionRequirementTransition`
-.. _SpecTypeApplicationConfigurationGroupMemberLinkRole:
-
-Application Configuration Group Member Link Role
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
-value is ``appl-config-group-member``. It defines the application configuration
-group membership role of links.
-
.. _SpecTypeApplicationConfigurationOptionName:
Application Configuration Option Name
@@ -2956,6 +3100,8 @@ This type is used by the following types:
* :ref:`SpecTypeBuildBSPItemType`
+* :ref:`SpecTypeBuildGroupItemType`
+
* :ref:`SpecTypeBuildLibraryItemType`
* :ref:`SpecTypeBuildObjectsItemType`
@@ -2982,6 +3128,8 @@ This type is used by the following types:
* :ref:`SpecTypeBuildBSPItemType`
+* :ref:`SpecTypeBuildGroupItemType`
+
* :ref:`SpecTypeBuildLibraryItemType`
* :ref:`SpecTypeBuildObjectsItemType`
@@ -3004,6 +3152,10 @@ context.
This type is used by the following types:
+* :ref:`SpecTypeBuildAdaTestProgramItemType`
+
+* :ref:`SpecTypeBuildGroupItemType`
+
* :ref:`SpecTypeBuildLibraryItemType`
* :ref:`SpecTypeBuildObjectsItemType`
@@ -3014,6 +3166,20 @@ This type is used by the following types:
* :ref:`SpecTypeBuildTestProgramItemType`
+.. _SpecTypeBuildDependencyConditionalLinkRole:
+
+Build Dependency Conditional Link Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``build-dependency-conditional``. It defines the build dependency
+conditional role of links. All explicit attributes shall be specified. The
+explicit attributes for this type are:
+
+enabled-by
+ The attribute value shall be an :ref:`SpecTypeEnabledByExpression`. It
+ shall define under which conditions the build dependency is enabled.
+
.. _SpecTypeBuildDependencyLinkRole:
Build Dependency Link Role
@@ -3090,7 +3256,7 @@ Build Install Path
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It shall be the installation path of a
:ref:`SpecTypeBuildTarget`.
@@ -3311,6 +3477,12 @@ get-string
``name`` attribute. If no such variable exists in the configuration file,
then the default value is used. The value is converted to a string.
+get-string-command-line
+ The attribute value shall be a string. The action gets the action value for
+ subsequent actions from the value of a command line option named by the
+ items ``name`` attribute. If no such command line option is present, then
+ the attribute value is used. The value is converted to a string.
+
script
The attribute value shall be a string. The action executes the attribute
value with the Python ``eval()`` function in the context of the script
@@ -3387,22 +3559,20 @@ This type is used by the following types:
* :ref:`SpecTypeBuildOptionAction`
-.. _SpecTypeBuildOptionDefaultByVariant:
+.. _SpecTypeBuildOptionDefaultValue:
-Build Option Default by Variant
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Build Option Default Value
+^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies build option default values by variant. All
-explicit attributes shall be specified. The explicit attributes for this type
-are:
+This set of attributes specifies a build option default value. All explicit
+attributes shall be specified. The explicit attributes for this type are:
-value
- The attribute value shall be a :ref:`SpecTypeBuildOptionValue`. It value
- shall be the default value for the matching variants.
+enabled-by
+ The attribute value shall be an :ref:`SpecTypeEnabledByExpression`.
-variants
- The attribute value shall be a list of strings. It shall be a list of
- Python regular expression matching with the desired variants.
+value
+ The attribute value shall be a :ref:`SpecTypeBuildOptionValue`. Its value
+ shall be the default value for the associated enabled-by expression.
This type is used by the following types:
@@ -3425,14 +3595,25 @@ This type is used by the following types:
Build Option Set Test State Action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies test states for a set of test programs.
-Generic attributes may be specified. Each generic attribute key shall be a
-:ref:`SpecTypeName`. Each generic attribute value shall be a
-:ref:`SpecTypeBuildTestState`. The keys shall be test program names. The names
-shall correspond to the name of a :ref:`SpecTypeBuildTestProgramItemType` or
-:ref:`SpecTypeBuildAdaTestProgramItemType` item. Due to the processing order
-of items, there is no way to check if the name specified by the attribute key
-is valid.
+This set of attributes specifies the test state for a set of test programs with
+an optional reason. All explicit attributes shall be specified. The explicit
+attributes for this type are:
+
+reason
+ The attribute value shall be an optional string. If the value is present,
+ then it shall be the reason for the test state definition.
+
+state
+ The attribute value shall be a :ref:`SpecTypeBuildTestState`. It shall be
+ the test state for the associated list of tests.
+
+tests
+ The attribute value shall be a list of strings. It shall be the list of
+ test program names associated with the test state. The names shall
+ correspond to the name of a :ref:`SpecTypeBuildTestProgramItemType` or
+ :ref:`SpecTypeBuildAdaTestProgramItemType` item. Due to the processing
+ order of items, there is no way to check if a specified test program name
+ is valid.
This type is used by the following types:
@@ -3451,7 +3632,7 @@ A value of this type shall be of one of the following variants:
* The value may be a list. Each list element shall be a string.
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string.
@@ -3459,9 +3640,7 @@ This type is used by the following types:
* :ref:`SpecTypeBuildOptionAction`
-* :ref:`SpecTypeBuildOptionDefaultByVariant`
-
-* :ref:`SpecTypeBuildOptionItemType`
+* :ref:`SpecTypeBuildOptionDefaultValue`
.. _SpecTypeBuildSource:
@@ -3504,6 +3683,8 @@ This type is used by the following types:
* :ref:`SpecTypeBuildLibraryItemType`
+* :ref:`SpecTypeBuildScriptItemType`
+
* :ref:`SpecTypeBuildStartFileItemType`
* :ref:`SpecTypeBuildTestProgramItemType`
@@ -3645,6 +3826,10 @@ This type is used by the following types:
* :ref:`SpecTypeActionRequirementTransition`
+* :ref:`SpecTypeBuildDependencyConditionalLinkRole`
+
+* :ref:`SpecTypeBuildOptionDefaultValue`
+
* :ref:`SpecTypeEnabledByExpression`
* :ref:`SpecTypeInterfaceIncludeLinkRole`
@@ -3660,6 +3845,111 @@ Please have a look at the following example:
- RTEMS_NETWORKING
- not: RTEMS_SMP
+.. _SpecTypeExternalDocumentReference:
+
+External Document Reference
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeExternalReference` through the ``type``
+attribute if the value is ``document``. It specifies a reference to a document.
+
+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 name of the
+ document.
+
+.. _SpecTypeExternalFileReference:
+
+External File Reference
+^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeExternalReference` through the ``type``
+attribute if the value is ``file``. It specifies a reference to a file.
+
+All explicit attributes shall be specified. The explicit attributes for this
+type are:
+
+hash
+ The attribute value shall be a :ref:`SpecTypeSHA256HashValue`. It shall be
+ the SHA256 hash value of the content of the referenced file.
+
+.. _SpecTypeExternalReference:
+
+External Reference
+^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a reference to some object external to the
+specification. All explicit attributes shall be specified. The explicit
+attributes for this type are:
+
+identifier
+ The attribute value shall be a string. It shall be the type-specific
+ identifier of the referenced object. For *group* references use the Doxygen
+ group identifier. For *file* references use a file system path to the
+ file.
+
+type
+ The attribute value shall be a :ref:`SpecTypeName`. It shall be the type of
+ the referenced object.
+
+This type is refined by the following types:
+
+* :ref:`SpecTypeExternalDocumentReference`
+
+* :ref:`SpecTypeExternalFileReference`
+
+* :ref:`SpecTypeGenericExternalReference`
+
+This type is used by the following types:
+
+* :ref:`SpecTypeInterfaceUnspecifiedHeaderFileItemType`
+
+* :ref:`SpecTypeInterfaceUnspecifiedItemType`
+
+* :ref:`SpecTypeRequirementItemType`
+
+* :ref:`SpecTypeRequirementValidationItemType`
+
+.. _SpecTypeFunctionImplementationLinkRole:
+
+Function Implementation Link Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``function-implementation``. It defines the function implementation
+role of links. It is used to indicate that a
+:ref:`SpecTypeFunctionalRequirementItemType` item specifies parts of the
+function.
+
+.. _SpecTypeGenericExternalReference:
+
+Generic External Reference
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the following types:
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``define``
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``function``
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``group``
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``macro``
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``url``
+
+* :ref:`SpecTypeExternalReference` through the ``type`` attribute if the value
+ is ``variable``
+
+It specifies a reference to an object of the specified type.
+
.. _SpecTypeGlossaryMembershipLinkRole:
Glossary Membership Link Role
@@ -3692,7 +3982,7 @@ Interface Brief Description
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It shall be the brief description of the
interface. It should be a single sentence. The value shall not match with
@@ -3710,18 +4000,22 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceEnumeratorItemType`
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
* :ref:`SpecTypeInterfaceGroupItemType`
* :ref:`SpecTypeInterfaceHeaderFileItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
-
* :ref:`SpecTypeInterfaceTypedefItemType`
* :ref:`SpecTypeInterfaceVariableItemType`
+* :ref:`SpecTypeRegisterBitsDefinition`
+
+* :ref:`SpecTypeRegisterBlockItemType`
+
+* :ref:`SpecTypeRegisterDefinition`
+
.. _SpecTypeInterfaceCompoundDefinitionKind:
Interface Compound Definition Kind
@@ -3786,23 +4080,27 @@ definition
Interface Compound Member Definition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies an interface compound member definition. All
-explicit attributes shall be specified. The explicit attributes for this type
-are:
+A value of this type shall be of one of the following variants:
-brief
- The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
+* The value may be a set of attributes. This set of attributes specifies an
+ interface compound member definition. All explicit attributes shall be
+ specified. The explicit attributes for this type are:
-description
- The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
+ brief
+ The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
-kind
- The attribute value shall be a string. It shall be the interface compound
- member kind.
+ description
+ The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
-name
- The attribute value shall be a string. It shall be the interface compound
- member name.
+ kind
+ The attribute value shall be a string. It shall be the interface compound
+ member kind.
+
+ name
+ The attribute value shall be a string. It shall be the interface compound
+ member name.
+
+* There may be no value (null).
This type is refined by the following types:
@@ -3871,7 +4169,7 @@ Interface Definition
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It shall be the definition. On the definition a
context-sensitive substitution of item variables is performed.
@@ -3906,8 +4204,6 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceEnumeratorItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
-
* :ref:`SpecTypeInterfaceTypedefItemType`
* :ref:`SpecTypeInterfaceVariableItemType`
@@ -3941,7 +4237,7 @@ Interface Description
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It shall be the description of the interface. The
description should be short and concentrate on the average case. All special
@@ -3963,12 +4259,10 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceEnumeratorItemType`
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
* :ref:`SpecTypeInterfaceGroupItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
-
* :ref:`SpecTypeInterfaceParameter`
* :ref:`SpecTypeInterfaceReturnValue`
@@ -3977,6 +4271,12 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceVariableItemType`
+* :ref:`SpecTypeRegisterBitsDefinition`
+
+* :ref:`SpecTypeRegisterBlockItemType`
+
+* :ref:`SpecTypeRegisterDefinition`
+
.. _SpecTypeInterfaceEnabledByExpression:
Interface Enabled-By Expression
@@ -4024,7 +4324,11 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceEnabledByExpression`
-* :ref:`SpecTypeInterfaceFunctionDefinitionVariant`
+* :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionVariant`
+
+* :ref:`SpecTypeRegisterBitsDefinitionVariant`
+
+* :ref:`SpecTypeRegisterBlockMemberDefinitionVariant`
.. _SpecTypeInterfaceEnumDefinitionKind:
@@ -4054,79 +4358,98 @@ This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
value is ``interface-enumerator``. It defines the interface enumerator role of
links.
-.. _SpecTypeInterfaceFunctionDefinition:
+.. _SpecTypeInterfaceFunctionLinkRole:
-Interface Function Definition
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Function Link Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies a function definition. All explicit attributes
-shall be specified. The explicit attributes for this type are:
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``interface-function``. It defines the interface function role of
+links. It is used to indicate that a :ref:`SpecTypeActionRequirementItemType`
+item specifies functional requirements of an
+:ref:`SpecTypeInterfaceFunctionOrMacroItemType` item.
-attributes
- The attribute value shall be an optional string. If the value is present,
- then it shall be the function attributes. On the attributes a
- context-sensitive substitution of item variables is performed. A function
- attribute is for example the indication that the function does not return
- to the caller.
+.. _SpecTypeInterfaceFunctionOrMacroDefinition:
-body
- The attribute value shall be an optional string. If the value is present,
- then it shall be the definition of a static inline function. On the
- function definition a context-sensitive substitution of item variables is
- performed. If no value is present, then the function is declared as an
- external function.
+Interface Function or Macro Definition
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-params
- The attribute value shall be a list of strings. It shall be the list of
- parameter declarations of the function. On the function parameter
- declarations a context-sensitive substitution of item variables is
- performed.
+A value of this type shall be of one of the following variants:
-return
- The attribute value shall be a string. It shall be the function return
- type. On the return type a context-sensitive substitution of item
- variables is performed.
+* The value may be a set of attributes. This set of attributes specifies a
+ function definition. All explicit attributes shall be specified. The explicit
+ attributes for this type are:
+
+ attributes
+ The attribute value shall be an optional string. If the value is present,
+ then it shall be the function attributes. On the attributes a
+ context-sensitive substitution of item variables is performed. A
+ function attribute is for example the indication that the function does
+ not return to the caller.
+
+ body
+ The attribute value shall be an optional string. If the value is present,
+ then it shall be the definition of a static inline function. On the
+ function definition a context-sensitive substitution of item variables is
+ performed. If no value is present, then the function is declared as an
+ external function.
+
+ params
+ The attribute value shall be a list of strings. It shall be the list of
+ parameter declarations of the function. On the function parameter
+ declarations a context-sensitive substitution of item variables is
+ performed.
+
+ return
+ The attribute value shall be an optional string. If the value is present,
+ then it shall be the function return type. On the return type a
+ context-sensitive substitution of item variables is performed.
+
+* There may be no value (null).
This type is used by the following types:
-* :ref:`SpecTypeInterfaceFunctionDefinitionDirective`
+* :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionDirective`
-* :ref:`SpecTypeInterfaceFunctionDefinitionVariant`
+* :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionVariant`
-.. _SpecTypeInterfaceFunctionDefinitionDirective:
+.. _SpecTypeInterfaceFunctionOrMacroDefinitionDirective:
-Interface Function Definition Directive
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Function or Macro Definition Directive
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies a function definition directive. All explicit
-attributes shall be specified. The explicit attributes for this type are:
+This set of attributes specifies a function or macro definition directive. All
+explicit attributes shall be specified. The explicit attributes for this type
+are:
default
- The attribute value shall be an :ref:`SpecTypeInterfaceFunctionDefinition`.
- The default definition will be used if no variant-specific definition is
- enabled.
+ The attribute value shall be an
+ :ref:`SpecTypeInterfaceFunctionOrMacroDefinition`. The default definition
+ will be used if no variant-specific definition is enabled.
variants
The attribute value shall be a list. Each list element shall be an
- :ref:`SpecTypeInterfaceFunctionDefinitionVariant`.
+ :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionVariant`.
This type is used by the following types:
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
-.. _SpecTypeInterfaceFunctionDefinitionVariant:
+.. _SpecTypeInterfaceFunctionOrMacroDefinitionVariant:
-Interface Function Definition Variant
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Interface Function or Macro Definition Variant
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies a function definition variant. All explicit
-attributes shall be specified. The explicit attributes for this type are:
+This set of attributes specifies a function or macro definition variant. All
+explicit attributes shall be specified. The explicit attributes for this type
+are:
definition
- The attribute value shall be an :ref:`SpecTypeInterfaceFunctionDefinition`.
- The definition will be used if the expression defined by the ``enabled-by``
- attribute evaluates to true. In generated header files, the expression is
- evaluated by the C preprocessor.
+ The attribute value shall be an
+ :ref:`SpecTypeInterfaceFunctionOrMacroDefinition`. The definition will be
+ used if the expression defined by the ``enabled-by`` attribute evaluates to
+ true. In generated header files, the expression is evaluated by the C
+ preprocessor.
enabled-by
The attribute value shall be an
@@ -4134,19 +4457,7 @@ enabled-by
This type is used by the following types:
-* :ref:`SpecTypeInterfaceFunctionDefinitionDirective`
-
-.. _SpecTypeInterfaceFunctionLinkRole:
-
-Interface Function Link Role
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
-value is ``interface-function``. It defines the interface function role of
-links. It is used to indicate that a :ref:`SpecTypeActionRequirementItemType`
-item specifies functional requirements of an
-:ref:`SpecTypeInterfaceFunctionItemType` or a
-:ref:`SpecTypeInterfaceMacroItemType` item.
+* :ref:`SpecTypeInterfaceFunctionOrMacroDefinitionDirective`
.. _SpecTypeInterfaceGroupIdentifier:
@@ -4158,10 +4469,10 @@ The value shall match with the regular expression "``^[A-Z][a-zA-Z0-9]*$``".
This type is used by the following types:
-* :ref:`SpecTypeDesignGroupRequirementItemType`
-
* :ref:`SpecTypeInterfaceGroupItemType`
+* :ref:`SpecTypeRegisterBlockItemType`
+
.. _SpecTypeInterfaceGroupMembershipLinkRole:
Interface Group Membership Link Role
@@ -4171,6 +4482,18 @@ This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
value is ``interface-ingroup``. It defines the interface group membership role
of links.
+.. _SpecTypeInterfaceHiddenGroupMembershipLinkRole:
+
+Interface Hidden Group Membership Link Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``interface-ingroup-hidden``. It defines the interface hidden group
+membership role of links. This role may be used to make an interface a group
+member and hide this relationship in the documentation. An example is an
+optimized macro implementation of a directive which has the same name as the
+corresponding directive.
+
.. _SpecTypeInterfaceIncludeLinkRole:
Interface Include Link Role
@@ -4194,7 +4517,7 @@ Interface Notes
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It shall be the notes for the interface.
@@ -4208,14 +4531,14 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceEnumeratorItemType`
-* :ref:`SpecTypeInterfaceFunctionItemType`
-
-* :ref:`SpecTypeInterfaceMacroItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
* :ref:`SpecTypeInterfaceTypedefItemType`
* :ref:`SpecTypeInterfaceVariableItemType`
+* :ref:`SpecTypeRegisterBlockItemType`
+
.. _SpecTypeInterfaceParameter:
Interface Parameter
@@ -4236,9 +4559,9 @@ name
This type is used by the following types:
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
+* :ref:`SpecTypeInterfaceTypedefItemType`
.. _SpecTypeInterfaceParameterDirection:
@@ -4247,7 +4570,7 @@ Interface Parameter Direction
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* The value may be a string. It specifies the interface parameter direction.
The value shall be an element of
@@ -4274,41 +4597,32 @@ value is ``interface-placement``. It defines the interface placement role of
links. It is used to indicate that an interface definition is placed into an
interface container, for example a header file.
-.. _SpecTypeInterfaceReferencesSet:
-
-Interface References Set
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-This set of attributes defines references for the interface. Generic attributes
-may be specified. Each generic attribute key shall be a :ref:`SpecTypeName`.
-Each generic attribute value shall be a string. The key defines the reference
-kind. The value shall be a kind-specific reference target.
-
-This type is used by the following types:
-
-* :ref:`SpecTypeInterfaceUnspecifiedItemType`
-
.. _SpecTypeInterfaceReturnDirective:
Interface Return Directive
^^^^^^^^^^^^^^^^^^^^^^^^^^
-This set of attributes specifies an interface return. All explicit attributes
-shall be specified. The explicit attributes for this type are:
+A value of this type shall be of one of the following variants:
-return
- The attribute value shall be an optional string. It shall describe the
- interface return for unspecified return values.
+* The value may be a set of attributes. This set of attributes specifies an
+ interface return. All explicit attributes shall be specified. The explicit
+ attributes for this type are:
-return-values
- The attribute value shall be a list. Each list element shall be an
- :ref:`SpecTypeInterfaceReturnValue`.
+ return
+ The attribute value shall be an optional string. It shall describe the
+ interface return for unspecified return values.
+
+ return-values
+ The attribute value shall be a list. Each list element shall be an
+ :ref:`SpecTypeInterfaceReturnValue`.
+
+* There may be no value (null).
This type is used by the following types:
-* :ref:`SpecTypeInterfaceFunctionItemType`
+* :ref:`SpecTypeInterfaceFunctionOrMacroItemType`
-* :ref:`SpecTypeInterfaceMacroItemType`
+* :ref:`SpecTypeInterfaceTypedefItemType`
.. _SpecTypeInterfaceReturnValue:
@@ -4358,12 +4672,14 @@ uid
This type is refined by the following types:
-* :ref:`SpecTypeApplicationConfigurationGroupMemberLinkRole`
+* :ref:`SpecTypeBuildDependencyConditionalLinkRole`
* :ref:`SpecTypeBuildDependencyLinkRole`
* :ref:`SpecTypeConstraintLinkRole`
+* :ref:`SpecTypeFunctionImplementationLinkRole`
+
* :ref:`SpecTypeGlossaryMembershipLinkRole`
* :ref:`SpecTypeInterfaceEnumeratorLinkRole`
@@ -4372,14 +4688,22 @@ This type is refined by the following types:
* :ref:`SpecTypeInterfaceGroupMembershipLinkRole`
+* :ref:`SpecTypeInterfaceHiddenGroupMembershipLinkRole`
+
* :ref:`SpecTypeInterfaceIncludeLinkRole`
* :ref:`SpecTypeInterfacePlacementLinkRole`
* :ref:`SpecTypeInterfaceTargetLinkRole`
+* :ref:`SpecTypePerformanceRuntimeLimitsLinkRole`
+
* :ref:`SpecTypePlacementOrderLinkRole`
+* :ref:`SpecTypeProxyMemberLinkRole`
+
+* :ref:`SpecTypeRegisterBlockIncludeRole`
+
* :ref:`SpecTypeRequirementRefinementLinkRole`
* :ref:`SpecTypeRequirementValidationLinkRole`
@@ -4414,7 +4738,7 @@ This type is used by the following types:
* :ref:`SpecTypeBuildItemType`
-* :ref:`SpecTypeBuildOptionSetTestStateAction`
+* :ref:`SpecTypeExternalReference`
* :ref:`SpecTypeFunctionalRequirementItemType`
@@ -4422,14 +4746,16 @@ This type is used by the following types:
* :ref:`SpecTypeInterfaceItemType`
-* :ref:`SpecTypeInterfaceReferencesSet`
-
* :ref:`SpecTypeLink`
* :ref:`SpecTypeNonFunctionalRequirementItemType`
+* :ref:`SpecTypeRegisterDefinition`
+
* :ref:`SpecTypeRequirementItemType`
+* :ref:`SpecTypeRequirementValidationItemType`
+
* :ref:`SpecTypeRootItemType`
* :ref:`SpecTypeRuntimeMeasurementParameterSet`
@@ -4448,6 +4774,32 @@ This type is used by the following types:
* :ref:`SpecTypeSpecificationRefinementLinkRole`
+.. _SpecTypeOptionalFloatingPointNumber:
+
+Optional Floating-Point Number
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A value of this type shall be of one of the following variants:
+
+* The value may be a floating-point number.
+
+* There may be no value (null).
+
+.. _SpecTypeOptionalInteger:
+
+Optional Integer
+^^^^^^^^^^^^^^^^
+
+A value of this type shall be of one of the following variants:
+
+* The value may be an integer number.
+
+* There may be no value (null).
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBlockItemType`
+
.. _SpecTypeOptionalString:
Optional String
@@ -4455,10 +4807,24 @@ Optional String
A value of this type shall be of one of the following variants:
-* There may by be no value (null).
+* There may be no value (null).
* 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
@@ -4469,49 +4835,267 @@ 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).
-.. _SpecTypeRequirementReference:
+.. _SpecTypeProxyMemberLinkRole:
-Requirement Reference
-^^^^^^^^^^^^^^^^^^^^^
+Proxy Member Link Role
+^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``proxy-member``. It defines the proxy member role of links. Items
+may use this role to link to :ref:`SpecTypeProxyItemTypes` items.
+
+.. _SpecTypeRegisterBitsDefinition:
+
+Register Bits Definition
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+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 specifies a
+ register bit field. Single bits are bit fields with a width of one. All
+ explicit attributes shall be specified. The explicit attributes for this type
+ are:
+
+ brief
+ The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
-This set of attributes specifies a requirement reference. All explicit
+ description
+ The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
+
+ name
+ The attribute value shall be a string. It shall be the name of the
+ register bit field.
+
+ properties
+ The attribute value shall be a list of strings. It shall be the list of
+ bit field properties. Properties are for example if the bit field can be
+ read or written, or an access has side-effects such as clearing a status.
+
+ start
+ The attribute value shall be an integer number. It shall be the start bit
+ of the bit field. Bit ``0`` is the least-significant bit.
+
+ width
+ The attribute value shall be an integer number. It shall be the width in
+ bits of the bit field.
+
+* There may be no value (null).
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBitsDefinitionDirective`
+
+* :ref:`SpecTypeRegisterBitsDefinitionVariant`
+
+.. _SpecTypeRegisterBitsDefinitionDirective:
+
+Register Bits Definition Directive
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a register bits directive. All explicit
attributes shall be specified. The explicit attributes for this type are:
-identifier
- The attribute value shall be a string. It shall be the type-specific
- identifier of the reference target. For *group* references use the Doxygen
- group identifier.
+default
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBitsDefinition`. The default definition will be used
+ if no variant-specific definition is enabled.
-type
- The attribute value shall be a :ref:`SpecTypeRequirementReferenceType`.
+variants
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBitsDefinitionVariant`.
This type is used by the following types:
-* :ref:`SpecTypeRequirementItemType`
+* :ref:`SpecTypeRegisterDefinition`
-.. _SpecTypeRequirementReferenceType:
+.. _SpecTypeRegisterBitsDefinitionVariant:
-Requirement Reference Type
-^^^^^^^^^^^^^^^^^^^^^^^^^^
+Register Bits Definition Variant
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a register bits variant. All explicit
+attributes shall be specified. The explicit attributes for this type are:
+
+definition
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBitsDefinition`. The definition will be used if the
+ expression defined by the ``enabled-by`` attribute evaluates to true. In
+ generated header files, the expression is evaluated by the C preprocessor.
+
+enabled-by
+ The attribute value shall be an
+ :ref:`SpecTypeInterfaceEnabledByExpression`.
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBitsDefinitionDirective`
+
+.. _SpecTypeRegisterBlockIncludeRole:
+
+Register Block Include Role
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This type refines the :ref:`SpecTypeLink` through the ``role`` attribute if the
+value is ``register-block-include``. It defines the register block include role
+of links. Links of this role are used to build register blocks using other
+register blocks. All explicit attributes shall be specified. The explicit
+attributes for this type are:
+
+name
+ The attribute value shall be a string. It shall be a name to identify the
+ included register block within the item. The name shall be unique within
+ the scope of the item links of this role and the
+ :ref:`SpecTypeRegisterList`.
+
+.. _SpecTypeRegisterBlockMemberDefinition:
+
+Register Block Member Definition
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+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 specifies a
+ register block member definition. All explicit attributes shall be specified.
+ The explicit attributes for this type are:
+
+ count
+ The attribute value shall be an integer number. It shall be the count of
+ registers of the register block member.
+
+ name
+ The attribute value shall be a :ref:`SpecTypeRegisterName`.
+
+* There may be no value (null).
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBlockMemberDefinitionDirective`
+
+* :ref:`SpecTypeRegisterBlockMemberDefinitionVariant`
+
+.. _SpecTypeRegisterBlockMemberDefinitionDirective:
+
+Register Block Member Definition Directive
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a register block member definition directive.
+All explicit attributes shall be specified. The explicit attributes for this
+type are:
+
+default
+ The attribute value shall be a
+ :ref:`SpecTypeRegisterBlockMemberDefinition`. The default definition will
+ be used if no variant-specific definition is enabled.
+
+offset
+ The attribute value shall be an integer number. It shall be the address of
+ the register block member relative to the base address of the register
+ block.
+
+variants
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBlockMemberDefinitionVariant`.
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBlockItemType`
+
+.. _SpecTypeRegisterBlockMemberDefinitionVariant:
+
+Register Block Member Definition Variant
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a register block member definition variant.
+All explicit attributes shall be specified. The explicit attributes for this
+type are:
+
+definition
+ The attribute value shall be a
+ :ref:`SpecTypeRegisterBlockMemberDefinition`. The definition will be used
+ if the expression defined by the ``enabled-by`` attribute evaluates to
+ true. In generated header files, the expression is evaluated by the C
+ preprocessor.
+
+enabled-by
+ The attribute value shall be an
+ :ref:`SpecTypeInterfaceEnabledByExpression`.
-The value shall be a string. It specifies the type of a requirement reference.
-The value shall be an element of
+This type is used by the following types:
-* "``define``",
+* :ref:`SpecTypeRegisterBlockMemberDefinitionDirective`
-* "``file``",
+.. _SpecTypeRegisterDefinition:
-* "``function``",
+Register Definition
+^^^^^^^^^^^^^^^^^^^
+
+This set of attributes specifies a register. All explicit attributes shall be
+specified. The explicit attributes for this type are:
-* "``group``",
+bits
+ The attribute value shall be a list. Each list element shall be a
+ :ref:`SpecTypeRegisterBitsDefinitionDirective`.
-* "``macro``", and
+brief
+ The attribute value shall be an :ref:`SpecTypeInterfaceBriefDescription`.
-* "``variable``".
+description
+ The attribute value shall be an :ref:`SpecTypeInterfaceDescription`.
+
+name
+ The attribute value shall be a string. It shall be the name to identify the
+ register definition. The name shall be unique within the scope of the
+ :ref:`SpecTypeRegisterBlockIncludeRole` links of the item and the
+ :ref:`SpecTypeRegisterList`.
+
+width
+ The attribute value shall be an integer number. It shall be the width of
+ the register in bits.
+
+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:`SpecTypeRequirementReference`
+* :ref:`SpecTypeRegisterBlockItemType`
+
+.. _SpecTypeRegisterName:
+
+Register Name
+^^^^^^^^^^^^^
+
+The value shall be a string. The name consists either of an identifier, or an
+identifier and an alias. The identifier and alias are separated by a colon
+(``:``). The identifier shall match with the name of a register definition of
+the item (see :ref:`SpecTypeRegisterDefinition`) or the name of a register
+block include of the item (see :ref:`SpecTypeRegisterBlockIncludeRole`). If no
+alias is specified, then the identifier is used for the register block member
+name, otherwise the alias is used. If the register block member names are not
+unique within the item, then a postfix number is appended to the names. The
+number starts with zero for each set of names. The value shall match with the
+regular expression "``^[a-zA-Z_][a-zA-Z0-9_]*(:[a-zA-Z_][a-zA-Z0-9_]*)?$``".
+
+This type is used by the following types:
+
+* :ref:`SpecTypeRegisterBlockMemberDefinition`
+
+.. _SpecTypeRequirementDesignGroupIdentifier:
+
+Requirement Design Group Identifier
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A value of this type shall be of one of the following variants:
+
+* There may be no value (null).
+
+* The value may be a string. It shall be the identifier of the requirement
+ design group. The value shall match with the regular expression
+ "``^[a-zA-Z0-9_]*$``".
+
+This type is used by the following types:
+
+* :ref:`SpecTypeDesignGroupRequirementItemType`
.. _SpecTypeRequirementRefinementLinkRole:
@@ -4527,130 +5111,130 @@ of links.
Requirement Text
^^^^^^^^^^^^^^^^
-The value shall be a string. It shall state a requirement or constraint. The
-value shall not contain an element of
+The value shall be a string. It shall state a requirement or constraint. The
+text should not use one of the following words or phrases:
-* "``acceptable``",
+* acceptable
-* "``adequate``",
+* adequate
-* "``almost always``",
+* almost always
-* "``and/or``",
+* and/or
-* "``appropriate``",
+* appropriate
-* "``approximately``",
+* approximately
-* "``as far as possible``",
+* as far as possible
-* "``as much as practicable``",
+* as much as practicable
-* "``best``",
+* best
-* "``best possible``",
+* best possible
-* "``easy``",
+* easy
-* "``efficient``",
+* efficient
-* "``e.g.``",
+* e.g.
-* "``enable``",
+* enable
-* "``enough``",
+* enough
-* "``etc.``",
+* etc.
-* "``few``",
+* few
-* "``first rate``",
+* first rate
-* "``flexible``",
+* flexible
-* "``generally``",
+* generally
-* "``goal``",
+* goal
-* "``graceful``",
+* graceful
-* "``great``",
+* great
-* "``greatest``",
+* greatest
-* "``ideally``",
+* ideally
-* "``i.e.``",
+* i.e.
-* "``if possible``",
+* if possible
-* "``in most cases``",
+* in most cases
-* "``large``",
+* large
-* "``many``",
+* many
-* "``maximize``",
+* maximize
-* "``minimize``",
+* minimize
-* "``most``",
+* most
-* "``multiple``",
+* multiple
-* "``necessary``",
+* necessary
-* "``numerous``",
+* numerous
-* "``optimize``",
+* optimize
-* "``ought to``",
+* ought to
-* "``probably``",
+* probably
-* "``quick``",
+* quick
-* "``rapid``",
+* rapid
-* "``reasonably``",
+* reasonably
-* "``relevant``",
+* relevant
-* "``robust``",
+* robust
-* "``satisfactory``",
+* satisfactory
-* "``several``",
+* several
-* "``shall be included but not limited to``",
+* shall be included but not limited to
-* "``simple``",
+* simple
-* "``small``",
+* small
-* "``some``",
+* some
-* "``state of the art``",
+* state of the art
-* "``sufficient``",
+* sufficient
-* "``suitable``",
+* suitable
-* "``support``",
+* support
-* "``systematically``",
+* systematically
-* "``transparent``",
+* transparent
-* "``typical``",
+* typical
-* "``user friendly``",
+* user friendly
-* "``usually``",
+* usually
-* "``versatile``", and
+* versatile
-* "``when necessary``".
+* when necessary
This type is used by the following types:
@@ -4672,31 +5256,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.
-.. _SpecTypeRequirementValidationMethod:
-
-Requirement Validation Method
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The value shall be a string. This value type characterizes a requirement
-validation method (except validation by test). The value shall be an element of
+.. _SpecTypeRuntimeMeasurementEnvironmentName:
-* "``by-analysis``",
-
-* "``by-inspection``", and
-
-* "``by-review-of-design``".
-
-This type is used by the following types:
-
-* :ref:`SpecTypeRequirementValidationItemType`
-
-.. _SpecTypeRuntimeMeasurementEnvironment:
-
-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
@@ -4719,12 +5285,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:
@@ -4773,6 +5339,10 @@ value. The value shall be an element of
* "``mean-upper-bound``",
+* "``median-lower-bound``",
+
+* "``median-upper-bound``",
+
* "``min-lower-bound``", and
* "``min-upper-bound``".
@@ -4796,21 +5366,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
@@ -4824,6 +5379,19 @@ This type is used by the following types:
* :ref:`SpecTypeRuntimePerformanceRequirementItemType`
+.. _SpecTypeSHA256HashValue:
+
+SHA256 Hash Value
+^^^^^^^^^^^^^^^^^
+
+The value shall be a string. It shall be a SHA256 hash value encoded in
+base64url. The value shall match with the regular expression
+"``^[A-Za-z0-9+_=-]{44}$``".
+
+This type is used by the following types:
+
+* :ref:`SpecTypeExternalFileReference`
+
.. _SpecTypeSPDXLicenseIdentifier:
SPDX License Identifier
@@ -5471,7 +6039,7 @@ A value of this type shall be of one of the following variants:
member definition. It shall be a valid C structure member definition
without a trailing ``;``.
-* There may by be no value (null).
+* There may be no value (null).
This type is used by the following types:
@@ -5503,6 +6071,12 @@ A value of this type shall be of one of the following variants:
scope after the general test declarations and before the test run
function declaration.
+ freestanding
+ The attribute value shall be a boolean. The value shall be ``true``, if
+ the test case is freestanding, otherwise ``false``. Freestanding test
+ cases are not statically registered. Instead the generated test runner
+ uses :c:func:`T_case_begin` and :c:func:`T_case_end`.
+
includes
The attribute value shall be a list of strings. It shall be a list of
header files included by the header file via ``#include <...>``.
@@ -5519,7 +6093,7 @@ A value of this type shall be of one of the following variants:
The attribute value shall be a string. It shall be the path to the
generated test header file.
-* There may by be no value (null).
+* There may be no value (null).
This type is used by the following types:
@@ -5581,7 +6155,7 @@ A value of this type shall be of one of the following variants:
The attribute value shall be an optional string. It shall be the test
support method description.
-* There may by be no value (null).
+* There may be no value (null).
This type is used by the following types: