summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-18 10:20:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-28 10:38:23 +0200
commitb9f3aa7a96c5ae96fb52f3420dbae63a99eb4e08 (patch)
tree214b6bba8c0ad9f12b108e05380bb8e0d4910e64
parent1a363799ff1cfad049520634cd8c2230c4c574cd (diff)
spec: Add specification of specification items
-rw-r--r--spec/spec/copyright.yml21
-rw-r--r--spec/spec/copyrights.yml16
-rw-r--r--spec/spec/enabled-by-list.yml16
-rw-r--r--spec/spec/enabled-by.yml49
-rw-r--r--spec/spec/link.yml26
-rw-r--r--spec/spec/links.yml17
-rw-r--r--spec/spec/list-str.yml17
-rw-r--r--spec/spec/optional-str.yml16
-rw-r--r--spec/spec/root.yml39
-rw-r--r--spec/spec/spdx-license-identifier.yml21
-rw-r--r--spec/spec/spec-assert-float-list.yml16
-rw-r--r--spec/spec/spec-assert-float.yml71
-rw-r--r--spec/spec/spec-assert-int-list.yml16
-rw-r--r--spec/spec/spec-assert-int.yml70
-rw-r--r--spec/spec/spec-assert-str-list.yml16
-rw-r--r--spec/spec/spec-assert-str.yml94
-rw-r--r--spec/spec/spec-attribute-value.yml28
-rw-r--r--spec/spec/spec-attributes.yml21
-rw-r--r--spec/spec/spec-bool.yml34
-rw-r--r--spec/spec/spec-dict.yml41
-rw-r--r--spec/spec/spec-float.yml31
-rw-r--r--spec/spec/spec-generic-attributes.yml30
-rw-r--r--spec/spec/spec-info.yml46
-rw-r--r--spec/spec/spec-int.yml31
-rw-r--r--spec/spec/spec-list.yml28
-rw-r--r--spec/spec/spec-member.yml22
-rw-r--r--spec/spec/spec-refinement.yml33
-rw-r--r--spec/spec/spec-required-attributes.yml30
-rw-r--r--spec/spec/spec-str.yml30
-rw-r--r--spec/spec/spec.yml74
30 files changed, 1000 insertions, 0 deletions
diff --git a/spec/spec/copyright.yml b/spec/spec/copyright.yml
new file mode 100644
index 00000000..a8f46080
--- /dev/null
+++ b/spec/spec/copyright.yml
@@ -0,0 +1,21 @@
+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:
+ - re: ^\s*Copyright\s+\(C\)\s+[0-9]+,\s*[0-9]+\s+.+\s*$
+ - re: ^\s*Copyright\s+\(C\)\s+[0-9]+\s+.+\s*$
+ - re: ^\s*Copyright\s+\(C\)\s+.+\s*$
+ description: |
+ A value of this type shall be a copyright statement of a copyright holder
+ of the specification item.
+spec-name: Copyright
+spec-type: copyright
+type: spec
diff --git a/spec/spec/copyrights.yml b/spec/spec/copyrights.yml
new file mode 100644
index 00000000..522e4f43
--- /dev/null
+++ b/spec/spec/copyrights.yml
@@ -0,0 +1,16 @@
+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:
+ list:
+ description: null
+ spec-type: copyright
+spec-name: Copyrights Type
+spec-type: copyrights
+type: spec
diff --git a/spec/spec/enabled-by-list.yml b/spec/spec/enabled-by-list.yml
new file mode 100644
index 00000000..f84fff28
--- /dev/null
+++ b/spec/spec/enabled-by-list.yml
@@ -0,0 +1,16 @@
+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:
+ list:
+ description: null
+ spec-type: enabled-by
+spec-name: Enabled-By Expression List
+spec-type: enabled-by-list
+type: spec
diff --git a/spec/spec/enabled-by.yml b/spec/spec/enabled-by.yml
new file mode 100644
index 00000000..fa7de056
--- /dev/null
+++ b/spec/spec/enabled-by.yml
@@ -0,0 +1,49 @@
+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: |
+ A value of this type shall be an expression which defines under which
+ conditions the specification item or parts of it are enabled. The expression
+ is evaluated with the use of an *enabled set*. This is a set of strings
+ which indicate enabled features.
+spec-example: null
+spec-info:
+ bool:
+ description: |
+ This expression evaluates directly to the boolean value.
+ dict:
+ attributes:
+ and:
+ description: |
+ The *and* operator evaluates to the *logical and* of the evaluation
+ results of the expressions in the list.
+ spec-type: enabled-by-list
+ not:
+ description: |
+ The *not* operator evaluates to the *logical not* of the evaluation
+ results of the expression.
+ spec-type: enabled-by
+ or:
+ description: |
+ The *or* operator evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: enabled-by-list
+ description: |
+ Each attribute defines an operator.
+ required-attributes: exactly-one
+ list:
+ description: |
+ This list of expressions evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: enabled-by
+ str:
+ description: |
+ If the value is in the *enabled set*, this expression evaluates to true,
+ otherwise to false.
+spec-name: Enabled-By Expression
+spec-type: enabled-by
+type: spec
diff --git a/spec/spec/link.yml b/spec/spec/link.yml
new file mode 100644
index 00000000..748ce840
--- /dev/null
+++ b/spec/spec/link.yml
@@ -0,0 +1,26 @@
+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:
+ dict:
+ attributes:
+ role:
+ description: |
+ This mandatory attribute defines the role of the link.
+ spec-type: name
+ uid:
+ description: |
+ This mandatory attribute defines the link target item UID.
+ spec-type: uid
+ description: |
+ This attribute value shall a link to a specification item.
+ required-attributes: all
+spec-name: Link
+spec-type: link
+type: spec
diff --git a/spec/spec/links.yml b/spec/spec/links.yml
new file mode 100644
index 00000000..77092dfa
--- /dev/null
+++ b/spec/spec/links.yml
@@ -0,0 +1,17 @@
+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: |
+ This attribute value shall be a list of links to specification items.
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: link
+spec-name: Item Links Type
+spec-type: links
+type: spec
diff --git a/spec/spec/list-str.yml b/spec/spec/list-str.yml
new file mode 100644
index 00000000..4d1246fb
--- /dev/null
+++ b/spec/spec/list-str.yml
@@ -0,0 +1,17 @@
+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: |
+ This attribute value shall a list of strings.
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: str
+spec-name: String List Type
+spec-type: list-str
+type: spec
diff --git a/spec/spec/optional-str.yml b/spec/spec/optional-str.yml
new file mode 100644
index 00000000..3f409247
--- /dev/null
+++ b/spec/spec/optional-str.yml
@@ -0,0 +1,16 @@
+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:
+ none: null
+ str:
+ description: null
+spec-name: Optional String
+spec-type: optional-str
+type: spec
diff --git a/spec/spec/root.yml b/spec/spec/root.yml
new file mode 100644
index 00000000..93fd3a9b
--- /dev/null
+++ b/spec/spec/root.yml
@@ -0,0 +1,39 @@
+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: []
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ SPDX-License-Identifier:
+ description: |
+ This mandatory attribute defines the license of this item.
+ spec-type: spdx-license-identifier
+ copyrights:
+ description: |
+ This mandatory attribute defines the copyright holders and copyright
+ information of this item.
+ spec-type: copyrights
+ enabled-by:
+ description: |
+ This mandatory attribute defines the conditions under which this item
+ is enabled.
+ spec-type: enabled-by
+ links:
+ description: |
+ This mandatory attribute defines the links of this items to other
+ items.
+ spec-type: links
+ type:
+ description: |
+ This mandatory attribute defines the type of this item.
+ spec-type: name
+ description: |
+ This is the root specification item type.
+ required-attributes: all
+spec-name: Root Item Type
+spec-type: root
+type: spec
diff --git a/spec/spec/spdx-license-identifier.yml b/spec/spec/spdx-license-identifier.yml
new file mode 100644
index 00000000..375f3b21
--- /dev/null
+++ b/spec/spec/spdx-license-identifier.yml
@@ -0,0 +1,21 @@
+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: |
+ This attribute value defines the license of this item expressed though an
+ SPDX License Identifier.
+spec-example: null
+spec-info:
+ str:
+ assert:
+ - eq: CC-BY-SA-4.0 OR BSD-2-Clause
+ - eq: BSD-2-Clause
+ - eq: CC-BY-SA-4.0
+ description: null
+spec-name: SPDX License Identifier
+spec-type: spdx-license-identifier
+type: spec
diff --git a/spec/spec/spec-assert-float-list.yml b/spec/spec/spec-assert-float-list.yml
new file mode 100644
index 00000000..2ff8a414
--- /dev/null
+++ b/spec/spec/spec-assert-float-list.yml
@@ -0,0 +1,16 @@
+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:
+ list:
+ description: null
+ spec-type: spec-assert-float
+spec-name: Floating-Point Assert Specification List
+spec-type: spec-assert-float-list
+type: spec
diff --git a/spec/spec/spec-assert-float.yml b/spec/spec/spec-assert-float.yml
new file mode 100644
index 00000000..9ed1a3fd
--- /dev/null
+++ b/spec/spec/spec-assert-float.yml
@@ -0,0 +1,71 @@
+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: |
+ A value of this type shall be an expression which asserts that the
+ floating-point value of the specified attribute satisfies the required
+ constraints.
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ and:
+ description: |
+ The *and* operator evaluates to the *logical and* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-float-list
+ eq:
+ description: |
+ The *eq* operator evaluates to true, if the value to check is equal
+ to the value of this attribute, otherwise to false.
+ spec-type: float
+ ge:
+ description: |
+ The *ge* operator evaluates to true, if the value to check is greater
+ than or equal to the value of this attribute, otherwise to false.
+ spec-type: float
+ gt:
+ description: |
+ The *gt* operator evaluates to true, if the value to check is greater
+ than the value of this attribute, otherwise to false.
+ spec-type: float
+ le:
+ description: |
+ The *le* operator evaluates to true, if the value to check is less
+ than or equal to the value of this attribute, otherwise to false.
+ spec-type: float
+ lt:
+ description: |
+ The *lt* operator evaluates to true, if the value to check is less
+ than the value of this attribute, otherwise to false.
+ spec-type: float
+ ne:
+ description: |
+ The *ne* operator evaluates to true, if the value to check is not
+ equal to the value of this attribute, otherwise to false.
+ spec-type: float
+ not:
+ description: |
+ The *not* operator evaluates to the *logical not* of the evaluation
+ results of the expression.
+ spec-type: spec-assert-float
+ or:
+ description: |
+ The *or* operator evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-float-list
+ description: |
+ Each attribute defines an operator.
+ required-attributes: exactly-one
+ list:
+ description: |
+ This list of expressions evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-float
+spec-name: Floating-Point Assert Specification
+spec-type: spec-assert-float
+type: spec
diff --git a/spec/spec/spec-assert-int-list.yml b/spec/spec/spec-assert-int-list.yml
new file mode 100644
index 00000000..27e689b3
--- /dev/null
+++ b/spec/spec/spec-assert-int-list.yml
@@ -0,0 +1,16 @@
+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:
+ list:
+ description: null
+ spec-type: spec-assert-int
+spec-name: Integer Assert Specification List
+spec-type: spec-assert-int-list
+type: spec
diff --git a/spec/spec/spec-assert-int.yml b/spec/spec/spec-assert-int.yml
new file mode 100644
index 00000000..983e1930
--- /dev/null
+++ b/spec/spec/spec-assert-int.yml
@@ -0,0 +1,70 @@
+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: |
+ A value of this type shall be an expression which asserts that the integer
+ value of the specified attribute satisfies the required constraints.
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ and:
+ description: |
+ The *and* operator evaluates to the *logical and* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-int-list
+ eq:
+ description: |
+ The *eq* operator evaluates to true, if the value to check is equal
+ to the value of this attribute, otherwise to false.
+ spec-type: int
+ ge:
+ description: |
+ The *ge* operator evaluates to true, if the value to check is greater
+ than or equal to the value of this attribute, otherwise to false.
+ spec-type: int
+ gt:
+ description: |
+ The *gt* operator evaluates to true, if the value to check is greater
+ than the value of this attribute, otherwise to false.
+ spec-type: int
+ le:
+ description: |
+ The *le* operator evaluates to true, if the value to check is less
+ than or equal to the value of this attribute, otherwise to false.
+ spec-type: int
+ lt:
+ description: |
+ The *lt* operator evaluates to true, if the value to check is less
+ than the value of this attribute, otherwise to false.
+ spec-type: int
+ ne:
+ description: |
+ The *ne* operator evaluates to true, if the value to check is not
+ equal to the value of this attribute, otherwise to false.
+ spec-type: int
+ not:
+ description: |
+ The *not* operator evaluates to the *logical not* of the evaluation
+ results of the expression.
+ spec-type: spec-assert-int
+ or:
+ description: |
+ The *or* operator evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-int-list
+ description: |
+ Each attribute defines an operator.
+ required-attributes: exactly-one
+ list:
+ description: |
+ This list of expressions evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-int
+spec-name: Integer Assert Specification
+spec-type: spec-assert-int
+type: spec
diff --git a/spec/spec/spec-assert-str-list.yml b/spec/spec/spec-assert-str-list.yml
new file mode 100644
index 00000000..39a54916
--- /dev/null
+++ b/spec/spec/spec-assert-str-list.yml
@@ -0,0 +1,16 @@
+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:
+ list:
+ description: null
+ spec-type: spec-assert-str
+spec-name: String Assert Specification List
+spec-type: spec-assert-str-list
+type: spec
diff --git a/spec/spec/spec-assert-str.yml b/spec/spec/spec-assert-str.yml
new file mode 100644
index 00000000..eccbf710
--- /dev/null
+++ b/spec/spec/spec-assert-str.yml
@@ -0,0 +1,94 @@
+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: |
+ A value of this type shall be an expression which asserts that the string of
+ the specified attribute satisfies the required constraints.
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ and:
+ description: |
+ The *and* operator evaluates to the *logical and* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-str-list
+ contains:
+ description: |
+ The *contains* operator evaluates to true, if the string to check
+ converted to lower case with all white space characters converted to
+ a single space character contains a string of the list of strings of
+ this attribute, otherwise to false.
+ spec-type: list-str
+ eq:
+ description: |
+ The *eq* operator evaluates to true, if the string to check is equal
+ to the value of this attribute, otherwise to false.
+ spec-type: str
+ ge:
+ description: |
+ The *ge* operator evaluates to true, if the string to check is
+ greater than or equal to the value of this attribute, otherwise to
+ false.
+ spec-type: str
+ gt:
+ description: |
+ The *gt* operator evaluates to true, if the string to check is
+ greater than the value of this attribute, otherwise to false.
+ spec-type: str
+ in:
+ description: |
+ The *in* operator evaluates to true, if the string to check is
+ contained in the list of strings of this attribute, otherwise to
+ false.
+ spec-type: list-str
+ le:
+ description: |
+ The *le* operator evaluates to true, if the string to check is less
+ than or equal to the value of this attribute, otherwise to false.
+ spec-type: str
+ lt:
+ description: |
+ The *lt* operator evaluates to true, if the string to check is less
+ than the value of this attribute, otherwise to false.
+ spec-type: str
+ ne:
+ description: |
+ The *ne* operator evaluates to true, if the string to check is not
+ equal to the value of this attribute, otherwise to false.
+ spec-type: str
+ not:
+ description: |
+ The *not* operator evaluates to the *logical not* of the evaluation
+ results of the expression.
+ spec-type: spec-assert-str
+ or:
+ description: |
+ The *or* operator evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-str-list
+ re:
+ description: |
+ The *re* operator evaluates to true, if the string to check matches
+ with the regular expression of this attribute, otherwise to false.
+ spec-type: str
+ uid:
+ description: |
+ The *uid* operator evaluates to true, if the string is a valid UID,
+ otherwise to false.
+ spec-type: none
+ description: |
+ Each attribute defines an operator.
+ required-attributes: exactly-one
+ list:
+ description: |
+ This list of expressions evaluates to the *logical or* of the evaluation
+ results of the expressions in the list.
+ spec-type: spec-assert-str
+spec-name: String Assert Specification
+spec-type: spec-assert-str
+type: spec
diff --git a/spec/spec/spec-attribute-value.yml b/spec/spec/spec-attribute-value.yml
new file mode 100644
index 00000000..f824de54
--- /dev/null
+++ b/spec/spec/spec-attribute-value.yml
@@ -0,0 +1,28 @@
+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:
+ dict:
+ attributes:
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ attribute.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ This mandatory attribute defines the specification type of the
+ specified attribute.
+ spec-type: name
+ description: |
+ This attribute set specifies an attribute value.
+ required-attributes: all
+spec-name: Attribute Value Specification
+spec-type: spec-attribute-value
+type: spec
diff --git a/spec/spec/spec-attributes.yml b/spec/spec/spec-attributes.yml
new file mode 100644
index 00000000..c5299138
--- /dev/null
+++ b/spec/spec/spec-attributes.yml
@@ -0,0 +1,21 @@
+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:
+ dict:
+ attributes: {}
+ description: null
+ generic-attributes:
+ description: |
+ The generic attributes specify an attribute set.
+ spec-type: spec-attribute-value
+ required-attributes: none
+spec-name: Attribute Specification
+spec-type: spec-attributes
+type: spec
diff --git a/spec/spec/spec-bool.yml b/spec/spec/spec-bool.yml
new file mode 100644
index 00000000..12f932b6
--- /dev/null
+++ b/spec/spec/spec-bool.yml
@@ -0,0 +1,34 @@
+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:
+ dict:
+ attributes:
+ assert:
+ description: |
+ This optional attribute defines the value constraint of the specified
+ boolean value. If the value of the assert attribute is true, then
+ the value of the specified boolean value shall be true. If the value
+ of the assert attribute is false, then the value of the specified
+ boolean value shall be false. In case the assert attribute is not
+ present, then the value of the specified boolean value may be true or
+ false.
+ spec-type: bool
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ boolean value.
+ spec-type: optional-str
+ description: |
+ This attribute set specifies a boolean value.
+ required-attributes:
+ - description
+spec-name: Boolean Value Specification
+spec-type: spec-bool
+type: spec
diff --git a/spec/spec/spec-dict.yml b/spec/spec/spec-dict.yml
new file mode 100644
index 00000000..411d0370
--- /dev/null
+++ b/spec/spec/spec-dict.yml
@@ -0,0 +1,41 @@
+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:
+ dict:
+ attributes:
+ attributes:
+ description: |
+ This mandatory attribute defines the explicitly defined attributes of
+ the specified attribute set.
+ spec-type: spec-attributes
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ attribute set.
+ spec-type: optional-str
+ generic-attributes:
+ description: |
+ This optional attribute defines the generic attributes of the
+ specified attribute set.
+ spec-type: spec-generic-attributes
+ required-attributes:
+ description: |
+ This mandatory attribute defines the required attributes of the
+ specified attribute set.
+ spec-type: spec-required-attributes
+ description: |
+ This set of attributes specifies a set of attributes.
+ required-attributes:
+ - attributes
+ - description
+ - required-attributes
+spec-name: Attribute Set Specification
+spec-type: spec-dict
+type: spec
diff --git a/spec/spec/spec-float.yml b/spec/spec/spec-float.yml
new file mode 100644
index 00000000..1b0e4925
--- /dev/null
+++ b/spec/spec/spec-float.yml
@@ -0,0 +1,31 @@
+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:
+ dict:
+ attributes:
+ assert:
+ description: |
+ This optional attribute defines the value constraints of the
+ specified floating-point value. In case the assert attribute is not
+ present, then the value of the specified floating-point value may be
+ every valid floating-point number.
+ spec-type: spec-assert-float
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ floating-point value.
+ spec-type: optional-str
+ description: |
+ This attribute set specifies a floating-point value.
+ required-attributes:
+ - description
+spec-name: Floating-Point Value Specification
+spec-type: spec-float
+type: spec
diff --git a/spec/spec/spec-generic-attributes.yml b/spec/spec/spec-generic-attributes.yml
new file mode 100644
index 00000000..71fb976d
--- /dev/null
+++ b/spec/spec/spec-generic-attributes.yml
@@ -0,0 +1,30 @@
+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:
+ dict:
+ attributes:
+ description:
+ description: |
+ This mandatory attribute shall be the description of the generic
+ attributes.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ This mandatory attribute defines the specification type of the
+ generic attribute values.
+ spec-type: name
+ description: |
+ This set of attributes specifies generic attributes. Generic attributes
+ are attributes which are not explicitly defined. They are restricted to
+ a uniform attribute value type.
+ required-attributes: all
+spec-name: Generic Attributes Specification
+spec-type: spec-generic-attributes
+type: spec
diff --git a/spec/spec/spec-info.yml b/spec/spec/spec-info.yml
new file mode 100644
index 00000000..18ecf5c5
--- /dev/null
+++ b/spec/spec/spec-info.yml
@@ -0,0 +1,46 @@
+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:
+ dict:
+ attributes:
+ bool:
+ description: |
+ This attribute specifies a boolean value.
+ spec-type: spec-bool
+ dict:
+ description: |
+ This attribute specifies a set of attributes.
+ spec-type: spec-dict
+ float:
+ description: |
+ This attribute specifies a floating-point value.
+ spec-type: spec-float
+ int:
+ description: |
+ This attribute specifies an integer value.
+ spec-type: spec-int
+ list:
+ description: |
+ This attribute specifies a list of attributes or values.
+ spec-type: spec-list
+ none:
+ description: |
+ This attribute indicates that no value is required.
+ spec-type: none
+ str:
+ description: |
+ This attribute specifies a string.
+ spec-type: spec-str
+ description: |
+ This attribute set specifies attribute values.
+ required-attributes: at-least-one
+spec-name: Specification Information
+spec-type: spec-info
+type: spec
diff --git a/spec/spec/spec-int.yml b/spec/spec/spec-int.yml
new file mode 100644
index 00000000..2f7394b0
--- /dev/null
+++ b/spec/spec/spec-int.yml
@@ -0,0 +1,31 @@
+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:
+ dict:
+ attributes:
+ assert:
+ description: |
+ This optional attribute defines the value constraints of the
+ specified integer value. In case the assert attribute is not
+ present, then the value of the specified integer value may be every
+ valid integer number.
+ spec-type: spec-assert-int
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ integer value.
+ spec-type: optional-str
+ description: |
+ This attribute set specifies an integer value.
+ required-attributes:
+ - description
+spec-name: Integer Value Specification
+spec-type: spec-int
+type: spec
diff --git a/spec/spec/spec-list.yml b/spec/spec/spec-list.yml
new file mode 100644
index 00000000..2c60db37
--- /dev/null
+++ b/spec/spec/spec-list.yml
@@ -0,0 +1,28 @@
+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:
+ dict:
+ attributes:
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ list.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ This mandatory attribute defines the specification type of elements
+ of the specified list.
+ spec-type: name
+ description: |
+ This attribute set specifies a list of attributes or values.
+ required-attributes: all
+spec-name: List Specification
+spec-type: spec-list
+type: spec
diff --git a/spec/spec/spec-member.yml b/spec/spec/spec-member.yml
new file mode 100644
index 00000000..60707f97
--- /dev/null
+++ b/spec/spec/spec-member.yml
@@ -0,0 +1,22 @@
+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
+- role: spec-refinement
+ spec-key: role
+ spec-value: spec-member
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ This specification type defines the specification membership role of links.
+ required-attributes: none
+spec-name: Specification Member Link Role
+spec-type: spec-member
+type: spec
diff --git a/spec/spec/spec-refinement.yml b/spec/spec/spec-refinement.yml
new file mode 100644
index 00000000..e95467ae
--- /dev/null
+++ b/spec/spec/spec-refinement.yml
@@ -0,0 +1,33 @@
+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
+- role: spec-refinement
+ spec-key: role
+ spec-value: spec-refinement
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ spec-key:
+ description: |
+ This mandatory attribute defines the specification type refinement
+ attribute key of the specification refinement.
+ spec-type: name
+ spec-value:
+ description: |
+ This mandatory attribute defines the specification type refinement
+ attribute value of the specification refinement.
+ spec-type: name
+ description: |
+ This specification type defines the specification refinement role of
+ links.
+ required-attributes: all
+spec-name: Specification Refinement Link Role
+spec-type: spec-refinement
+type: spec
diff --git a/spec/spec/spec-required-attributes.yml b/spec/spec/spec-required-attributes.yml
new file mode 100644
index 00000000..adf6f47b
--- /dev/null
+++ b/spec/spec/spec-required-attributes.yml
@@ -0,0 +1,30 @@
+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: |
+ This attribute value defines which of the explicitly defined attributes are
+ required.
+spec-example: null
+spec-info:
+ list:
+ description: |
+ This list defines the required attributes through their keys.
+ spec-type: name
+ str:
+ assert:
+ in:
+ - all
+ - at-least-one
+ - at-most-one
+ - exactly-one
+ - none
+ description: |
+ This string defines the how many explicitly defined attributes are
+ required.
+spec-name: Required Attributes Specification
+spec-type: spec-required-attributes
+type: spec
diff --git a/spec/spec/spec-str.yml b/spec/spec/spec-str.yml
new file mode 100644
index 00000000..1ccba6f4
--- /dev/null
+++ b/spec/spec/spec-str.yml
@@ -0,0 +1,30 @@
+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:
+ dict:
+ attributes:
+ assert:
+ description: |
+ This optional attribute defines the constraints of the specified
+ string. In case the assert attribute is not present, then the
+ specified string may be every valid string.
+ spec-type: spec-assert-str
+ description:
+ description: |
+ This mandatory attribute shall be the description of the specified
+ string attribute.
+ spec-type: optional-str
+ description: |
+ This attribute set specifies a string.
+ required-attributes:
+ - description
+spec-name: String Specification
+spec-type: spec-str
+type: spec
diff --git a/spec/spec/spec.yml b/spec/spec/spec.yml
new file mode 100644
index 00000000..7f33c78a
--- /dev/null
+++ b/spec/spec/spec.yml
@@ -0,0 +1,74 @@
+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
+- role: spec-refinement
+ spec-key: type
+ spec-value: spec
+ uid: root
+spec-description: null
+spec-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)
+ enabled-by: true
+ links:
+ - role: spec-member
+ uid: root
+ - role: spec-refinement
+ spec-key: type
+ spec-value: example
+ uid: root
+ spec-description: null
+ spec-example: null
+ spec-info:
+ dict:
+ attributes:
+ an-example-attribute:
+ description: |
+ This mandatory attribute shall be an example.
+ spec-type: optional-str
+ example-number:
+ description: |
+ This mandatory attribute shall be the example number.
+ spec-type: int
+ description: |
+ This set of attributes gives an example.
+ required-attributes: all
+ spec-name: Example Item Type
+ spec-type: spec
+ type: spec
+spec-info:
+ dict:
+ attributes:
+ spec-description:
+ description: |
+ This mandatory attribute shall be the description of the
+ specification type.
+ spec-type: optional-str
+ spec-example:
+ description: |
+ This mandatory attribute shall an example of the specification type.
+ spec-type: optional-str
+ spec-info:
+ description: |
+ This mandatory attribute defines the specification type information.
+ spec-type: spec-info
+ spec-name:
+ description: |
+ This mandatory attribute shall be the human readable name of the
+ specification type.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ This mandatory attribute defines the specification type name.
+ spec-type: name
+ description: |
+ This set of attributes specifies specification types.
+ required-attributes: all
+spec-name: Specification Item Type
+spec-type: spec
+type: spec