summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-15 10:56:41 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-15 15:43:27 +0200
commitb65856c669e1b6781b29a2911a907ee7b6155bb2 (patch)
treee8ea79b16e26e01be5ffedf81170442b9c6d3a6e
parentspec: Fix rtems_message_queue_flush() docs (diff)
downloadrtems-central-b65856c669e1b6781b29a2911a907ee7b6155bb2.tar.bz2
spec: Generalize requirement references
-rw-r--r--spec/spec/external-reference-file.yml27
-rw-r--r--spec/spec/external-reference-generic.yml38
-rw-r--r--spec/spec/external-reference-list.yml (renamed from spec/spec/requirement-reference-list.yml)6
-rw-r--r--spec/spec/external-reference.yml (renamed from spec/spec/requirement-reference.yml)19
-rw-r--r--spec/spec/requirement-reference-type.yml24
-rw-r--r--spec/spec/requirement-validation.yml5
-rw-r--r--spec/spec/requirement.yml2
-rw-r--r--spec/spec/sha256.yml18
8 files changed, 102 insertions, 37 deletions
diff --git a/spec/spec/external-reference-file.yml b/spec/spec/external-reference-file.yml
new file mode 100644
index 00000000..f2b6d79d
--- /dev/null
+++ b/spec/spec/external-reference-file.yml
@@ -0,0 +1,27 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: type
+ spec-value: file
+ uid: external-reference
+spec-description: |
+ It specifies a reference to a file.
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ hash:
+ description: |
+ It shall be the SHA256 hash value of the content of the referenced
+ file.
+ spec-type: sha256
+ description: null
+ mandatory-attributes: all
+spec-name: External File Reference
+spec-type: external-reference-file
+type: spec
diff --git a/spec/spec/external-reference-generic.yml b/spec/spec/external-reference-generic.yml
new file mode 100644
index 00000000..f8f3d339
--- /dev/null
+++ b/spec/spec/external-reference-generic.yml
@@ -0,0 +1,38 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: type
+ spec-value: define
+ uid: external-reference
+- role: spec-refinement
+ spec-key: type
+ spec-value: function
+ uid: external-reference
+- role: spec-refinement
+ spec-key: type
+ spec-value: group
+ uid: external-reference
+- role: spec-refinement
+ spec-key: type
+ spec-value: macro
+ uid: external-reference
+- role: spec-refinement
+ spec-key: type
+ spec-value: variable
+ uid: external-reference
+spec-description: |
+ It specifies a reference to an object of the specified type.
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: null
+ mandatory-attributes: all
+spec-name: Generic External Reference
+spec-type: external-reference-generic
+type: spec
diff --git a/spec/spec/requirement-reference-list.yml b/spec/spec/external-reference-list.yml
index 505cbc87..3b779611 100644
--- a/spec/spec/requirement-reference-list.yml
+++ b/spec/spec/external-reference-list.yml
@@ -10,7 +10,7 @@ spec-example: null
spec-info:
list:
description: null
- spec-type: requirement-reference
-spec-name: Requirement Reference List
-spec-type: requirement-reference-list
+ spec-type: external-reference
+spec-name: External Reference List
+spec-type: external-reference-list
type: spec
diff --git a/spec/spec/requirement-reference.yml b/spec/spec/external-reference.yml
index 599963a1..623f6be8 100644
--- a/spec/spec/requirement-reference.yml
+++ b/spec/spec/external-reference.yml
@@ -1,6 +1,6 @@
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, 2021 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
links:
- role: spec-member
@@ -12,15 +12,18 @@ spec-info:
attributes:
identifier:
description: |
- It shall be the type-specific identifier of the reference target.
- For *group* references use the Doxygen group identifier.
+ 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.
spec-type: str
type:
- description: null
- spec-type: requirement-reference-type
+ description: |
+ It shall be the type of the referenced object.
+ spec-type: name
description: |
- This set of attributes specifies a requirement reference.
+ This set of attributes specifies a reference to some object external to
+ the specification.
mandatory-attributes: all
-spec-name: Requirement Reference
-spec-type: requirement-reference
+spec-name: External Reference
+spec-type: external-reference
type: spec
diff --git a/spec/spec/requirement-reference-type.yml b/spec/spec/requirement-reference-type.yml
deleted file mode 100644
index 3fbd6556..00000000
--- a/spec/spec/requirement-reference-type.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-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: spec-member
- uid: root
-spec-description: null
-spec-example: null
-spec-info:
- str:
- assert:
- in:
- - define
- - file
- - function
- - group
- - macro
- - variable
- description: |
- It specifies the type of a requirement reference.
-spec-name: Requirement Reference Type
-spec-type: requirement-reference-type
-type: spec
diff --git a/spec/spec/requirement-validation.yml b/spec/spec/requirement-validation.yml
index dadba7ad..0e6d6b9f 100644
--- a/spec/spec/requirement-validation.yml
+++ b/spec/spec/requirement-validation.yml
@@ -1,6 +1,6 @@
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, 2021 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
links:
- role: spec-member
@@ -18,6 +18,9 @@ spec-info:
description: |
Validation by test is done through ${test-case:/spec-name} items.
spec-type: requirement-validation-method
+ references:
+ description: null
+ spec-type: external-reference-list
text:
description: |
It shall provide the validation evidence depending on the validation
diff --git a/spec/spec/requirement.yml b/spec/spec/requirement.yml
index 3018b8c7..275cf5aa 100644
--- a/spec/spec/requirement.yml
+++ b/spec/spec/requirement.yml
@@ -33,7 +33,7 @@ spec-info:
spec-type: optional-str
references:
description: null
- spec-type: requirement-reference-list
+ spec-type: external-reference-list
requirement-type:
description: |
It shall be the requirement item type.
diff --git a/spec/spec/sha256.yml b/spec/spec/sha256.yml
new file mode 100644
index 00000000..8390311c
--- /dev/null
+++ b/spec/spec/sha256.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ str:
+ assert:
+ - re: ^[A-Za-z0-9+_=-]{44}$
+ description: |
+ It shall be a SHA256 hash value encoded in base64url.
+spec-name: SHA256 Hash Value
+spec-type: sha256
+type: spec