1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
links:
- role: spec-member
uid: root
- role: spec-refinement
spec-key: non-functional-type
spec-value: performance-runtime
uid: requirement-non-functional
spec-description: |
The item shall have exactly one link with the
${runtime-measurement-request-role:/spec-name}. A requirement text processor
shall support a substitution of $${.:/limit-kind}:
* For a ${requirement-performance-runtime-kind:/spec-name} of
``min-lower-bound`` or ``min-upper-bound``, the substitution of
$${.:/limit-kind} shall be ``"minimum"``.
* For a ${requirement-performance-runtime-kind:/spec-name} of
``mean-lower-bound`` or ``mean-upper-bound``, the substitution of
$${.:/limit-kind} shall be ``"mean"``.
* For a ${requirement-performance-runtime-kind:/spec-name} 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 ${requirement-performance-runtime-kind:/spec-name} 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
${requirement-performance-runtime-values:/spec-name}.
* For a ${requirement-performance-runtime-kind:/spec-name} 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
${requirement-performance-runtime-values:/spec-name}.
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 ${requirement-performance-runtime-envs:/spec-name}.
spec-example: |
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
links:
- role: runtime-measurement-request
uid: ../val/perf
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/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}.
non-functional-type: performance-runtime
requirement-type: non-functional
type: requirement
spec-info:
dict:
attributes:
params:
description: null
spec-type: requirement-performance-runtime-params
test-body:
description: |
It shall provide the code of the measure runtime body handler. In
contrast to other methods, this method is mandatory.
spec-type: test-support-method
test-cleanup:
description: |
It may provide the code to clean up the measure runtime request.
This method is called before the cleanup method of the corresponding
${runtime-measurement-test:/spec-name} item and after the request.
spec-type: test-support-method
test-prepare:
description: |
It may provide the code to prepare the measure runtime request. This
method is called after the prepare method of the corresponding
${runtime-measurement-test:/spec-name} item and before the request.
spec-type: test-support-method
test-setup:
description: |
It may provide the code of the measure runtime setup handler.
spec-type: test-support-method
test-teardown:
description: |
It may provide the code of the measure runtime teardown handler.
spec-type: test-support-method
description: |
This set of attributes specifies a runtime performance requirement.
Along with the requirement, the validation test code to execute a measure
runtime request is specified.
mandatory-attributes: all
spec-name: Runtime Performance Requirement Item Type
spec-type: requirement-performance-runtime
type: spec
|