summaryrefslogtreecommitdiffstats
path: root/spec-spec/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec-spec/spec')
-rw-r--r--spec-spec/spec/copyright.yml21
-rw-r--r--spec-spec/spec/copyrights.yml16
-rw-r--r--spec-spec/spec/enabled-by-list.yml16
-rw-r--r--spec-spec/spec/enabled-by.yml53
-rw-r--r--spec-spec/spec/link.yml28
-rw-r--r--spec-spec/spec/links.yml16
-rw-r--r--spec-spec/spec/list-str.yml16
-rw-r--r--spec-spec/spec/optional-str.yml16
-rw-r--r--spec-spec/spec/root.yml51
-rw-r--r--spec-spec/spec/spdx-license-identifier.yml21
-rw-r--r--spec-spec/spec/spec-assert-float-list.yml16
-rw-r--r--spec-spec/spec/spec-assert-float.yml71
-rw-r--r--spec-spec/spec/spec-assert-int-list.yml16
-rw-r--r--spec-spec/spec/spec-assert-int.yml70
-rw-r--r--spec-spec/spec/spec-assert-str-list.yml16
-rw-r--r--spec-spec/spec/spec-assert-str.yml94
-rw-r--r--spec-spec/spec/spec-attribute-value.yml26
-rw-r--r--spec-spec/spec/spec-attributes.yml24
-rw-r--r--spec-spec/spec/spec-bool.yml33
-rw-r--r--spec-spec/spec/spec-dict.yml37
-rw-r--r--spec-spec/spec/spec-float.yml30
-rw-r--r--spec-spec/spec/spec-generic-attributes.yml33
-rw-r--r--spec-spec/spec/spec-info.yml46
-rw-r--r--spec-spec/spec/spec-int.yml30
-rw-r--r--spec-spec/spec/spec-list.yml26
-rw-r--r--spec-spec/spec/spec-mandatory-attributes.yml30
-rw-r--r--spec-spec/spec/spec-member.yml22
-rw-r--r--spec-spec/spec/spec-refinement.yml32
-rw-r--r--spec-spec/spec/spec-str.yml29
-rw-r--r--spec-spec/spec/spec.yml72
30 files changed, 1007 insertions, 0 deletions
diff --git a/spec-spec/spec/copyright.yml b/spec-spec/spec/copyright.yml
new file mode 100644
index 00000000..f5e0ffab
--- /dev/null
+++ b/spec-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: |
+ It 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/spec/copyrights.yml b/spec-spec/spec/copyrights.yml
new file mode 100644
index 00000000..522e4f43
--- /dev/null
+++ b/spec-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/spec/enabled-by-list.yml b/spec-spec/spec/enabled-by-list.yml
new file mode 100644
index 00000000..f84fff28
--- /dev/null
+++ b/spec-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/spec/enabled-by.yml b/spec-spec/spec/enabled-by.yml
new file mode 100644
index 00000000..c88d74e4
--- /dev/null
+++ b/spec-spec/spec/enabled-by.yml
@@ -0,0 +1,53 @@
+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: |
+ enabled-by:
+ and:
+ - RTEMS_NETWORKING
+ - not: RTEMS_SMP
+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.
+ mandatory-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/spec/link.yml b/spec-spec/spec/link.yml
new file mode 100644
index 00000000..3c7fb5de
--- /dev/null
+++ b/spec-spec/spec/link.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:
+ role:
+ description: |
+ It shall be the role of the link.
+ spec-type: name
+ uid:
+ description: |
+ It shall be the absolute or relative UID of the link target item.
+ spec-type: uid
+ description: |
+ This set of attributes specifies a link from one specification item to
+ another specification item. The links in a list are ordered. The first
+ link in the list is processed first.
+ mandatory-attributes: all
+spec-name: Link
+spec-type: link
+type: spec
diff --git a/spec-spec/spec/links.yml b/spec-spec/spec/links.yml
new file mode 100644
index 00000000..665f9135
--- /dev/null
+++ b/spec-spec/spec/links.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: link
+spec-name: Link List
+spec-type: links
+type: spec
diff --git a/spec-spec/spec/list-str.yml b/spec-spec/spec/list-str.yml
new file mode 100644
index 00000000..db3dd518
--- /dev/null
+++ b/spec-spec/spec/list-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:
+ list:
+ description: null
+ spec-type: str
+spec-name: String List
+spec-type: list-str
+type: spec
diff --git a/spec-spec/spec/optional-str.yml b/spec-spec/spec/optional-str.yml
new file mode 100644
index 00000000..3f409247
--- /dev/null
+++ b/spec-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/spec/root.yml b/spec-spec/spec/root.yml
new file mode 100644
index 00000000..58d65280
--- /dev/null
+++ b/spec-spec/spec/root.yml
@@ -0,0 +1,51 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2019, 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: |
+ It shall be the license of the item.
+ spec-type: spdx-license-identifier
+ copyrights:
+ description: |
+ It shall be the list of copyright statements of the item.
+ spec-type: copyrights
+ enabled-by:
+ description: |
+ It shall define the conditions under which the item is enabled.
+ spec-type: enabled-by
+ links:
+ description: null
+ spec-type: links
+ type:
+ description: |
+ It shall be the item type. The selection of types and the level of
+ detail depends on a particular standard and product model. We need
+ enough flexibility to be in line with ECSS-E-ST-10-06 and possible
+ future applications of other standards. The item type may be refined
+ further with additional type-specific subtypes.
+ spec-type: name
+ description: |
+ The technical specification of RTEMS will contain for example
+ requirements, specializations of requirements, interface specifications,
+ test suites, test cases, and requirement validations. These things will
+ be called *specification items* or just *items* if it is clear from the
+ context.
+
+ The specification items are stored in files in ${/glossary/yaml:/term}
+ format with a defined set of key-value pairs called attributes. Each
+ attribute key name shall be a :ref:`SpecTypeName`. In particular, key
+ names which begin with an underscore (``_``) are reserved for internal
+ use in tools.
+
+ This is the root specification item type.
+ mandatory-attributes: all
+spec-name: Root Item Type
+spec-type: root
+type: spec
diff --git a/spec-spec/spec/spdx-license-identifier.yml b/spec-spec/spec/spdx-license-identifier.yml
new file mode 100644
index 00000000..874cb7a0
--- /dev/null
+++ b/spec-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: null
+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: |
+ It defines the license of the item expressed though an SPDX License
+ Identifier.
+spec-name: SPDX License Identifier
+spec-type: spdx-license-identifier
+type: spec
diff --git a/spec-spec/spec/spec-assert-float-list.yml b/spec-spec/spec/spec-assert-float-list.yml
new file mode 100644
index 00000000..30addf5c
--- /dev/null
+++ b/spec-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: Specification Floating-Point Assert List
+spec-type: spec-assert-float-list
+type: spec
diff --git a/spec-spec/spec/spec-assert-float.yml b/spec-spec/spec/spec-assert-float.yml
new file mode 100644
index 00000000..fd6f2564
--- /dev/null
+++ b/spec-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.
+ mandatory-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: Specification Floating-Point Assert
+spec-type: spec-assert-float
+type: spec
diff --git a/spec-spec/spec/spec-assert-int-list.yml b/spec-spec/spec/spec-assert-int-list.yml
new file mode 100644
index 00000000..98f20673
--- /dev/null
+++ b/spec-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: Specification Integer Assert List
+spec-type: spec-assert-int-list
+type: spec
diff --git a/spec-spec/spec/spec-assert-int.yml b/spec-spec/spec/spec-assert-int.yml
new file mode 100644
index 00000000..ec903b80
--- /dev/null
+++ b/spec-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.
+ mandatory-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: Specification Integer Assert
+spec-type: spec-assert-int
+type: spec
diff --git a/spec-spec/spec/spec-assert-str-list.yml b/spec-spec/spec/spec-assert-str-list.yml
new file mode 100644
index 00000000..290c0bd9
--- /dev/null
+++ b/spec-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: Specification String Assert List
+spec-type: spec-assert-str-list
+type: spec
diff --git a/spec-spec/spec/spec-assert-str.yml b/spec-spec/spec/spec-assert-str.yml
new file mode 100644
index 00000000..915da6ed
--- /dev/null
+++ b/spec-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.
+ mandatory-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: Specification String Assert
+spec-type: spec-assert-str
+type: spec
diff --git a/spec-spec/spec/spec-attribute-value.yml b/spec-spec/spec/spec-attribute-value.yml
new file mode 100644
index 00000000..d44e2256
--- /dev/null
+++ b/spec-spec/spec/spec-attribute-value.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:
+ description:
+ description: |
+ It shall be the description of the attribute value.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ It shall be the specification type of the attribute value.
+ spec-type: name
+ description: |
+ This set of attributes specifies an attribute value.
+ mandatory-attributes: all
+spec-name: Specification Attribute Value
+spec-type: spec-attribute-value
+type: spec
diff --git a/spec-spec/spec/spec-attributes.yml b/spec-spec/spec/spec-attributes.yml
new file mode 100644
index 00000000..eb489783
--- /dev/null
+++ b/spec-spec/spec/spec-attributes.yml
@@ -0,0 +1,24 @@
+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: |
+ Each generic attribute specifies an explicit attribute of the attribute
+ set. The key of the each generic attribute defines the attribute key
+ of the explicit attribute.
+ key-spec-type: name
+ value-spec-type: spec-attribute-value
+ mandatory-attributes: none
+spec-name: Specification Explicit Attributes
+spec-type: spec-attributes
+type: spec
diff --git a/spec-spec/spec/spec-bool.yml b/spec-spec/spec/spec-bool.yml
new file mode 100644
index 00000000..e23f3b1f
--- /dev/null
+++ b/spec-spec/spec/spec-bool.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
+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: |
+ It shall be the description of the specified boolean value.
+ spec-type: optional-str
+ description: |
+ This attribute set specifies a boolean value.
+ mandatory-attributes:
+ - description
+spec-name: Specification Boolean Value
+spec-type: spec-bool
+type: spec
diff --git a/spec-spec/spec/spec-dict.yml b/spec-spec/spec/spec-dict.yml
new file mode 100644
index 00000000..1fae4d15
--- /dev/null
+++ b/spec-spec/spec/spec-dict.yml
@@ -0,0 +1,37 @@
+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: |
+ It shall specify the explicit attributes of the attribute set.
+ spec-type: spec-attributes
+ description:
+ description: |
+ It shall be the description of the attribute set.
+ spec-type: optional-str
+ generic-attributes:
+ description: |
+ It shall specify the generic attributes of the attribute set.
+ spec-type: spec-generic-attributes
+ mandatory-attributes:
+ description: |
+ It shall specify the mandatory attributes of the attribute set.
+ spec-type: spec-mandatory-attributes
+ description: |
+ This set of attributes specifies a set of attributes.
+ mandatory-attributes:
+ - attributes
+ - description
+ - mandatory-attributes
+spec-name: Specification Attribute Set
+spec-type: spec-dict
+type: spec
diff --git a/spec-spec/spec/spec-float.yml b/spec-spec/spec/spec-float.yml
new file mode 100644
index 00000000..1f831eb8
--- /dev/null
+++ b/spec-spec/spec/spec-float.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 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: |
+ It shall be the description of the specified floating-point value.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a floating-point value.
+ mandatory-attributes:
+ - description
+spec-name: Specification Floating-Point Value
+spec-type: spec-float
+type: spec
diff --git a/spec-spec/spec/spec-generic-attributes.yml b/spec-spec/spec/spec-generic-attributes.yml
new file mode 100644
index 00000000..8f9b4180
--- /dev/null
+++ b/spec-spec/spec/spec-generic-attributes.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
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ description:
+ description: |
+ It shall be the description of the generic attributes.
+ spec-type: optional-str
+ key-spec-type:
+ description: |
+ It shall be the specification type of the generic attribute keys.
+ spec-type: name
+ value-spec-type:
+ description: |
+ It shall be 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 specified by
+ ${spec-attributes:/spec-name}. They are restricted to uniform attribute
+ key and value types.
+ mandatory-attributes: all
+spec-name: Specification Generic Attributes
+spec-type: spec-generic-attributes
+type: spec
diff --git a/spec-spec/spec/spec-info.yml b/spec-spec/spec/spec-info.yml
new file mode 100644
index 00000000..5bdbeee0
--- /dev/null
+++ b/spec-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: |
+ It shall specify a boolean value.
+ spec-type: spec-bool
+ dict:
+ description: |
+ It shall specify a set of attributes.
+ spec-type: spec-dict
+ float:
+ description: |
+ It shall specify a floating-point value.
+ spec-type: spec-float
+ int:
+ description: |
+ It shall specify an integer value.
+ spec-type: spec-int
+ list:
+ description: |
+ It shall specify a list of attributes or values.
+ spec-type: spec-list
+ none:
+ description: |
+ It specifies that no value is required.
+ spec-type: none
+ str:
+ description: |
+ It shall specify a string.
+ spec-type: spec-str
+ description: |
+ This set of attributes specifies attribute values.
+ mandatory-attributes: at-least-one
+spec-name: Specification Information
+spec-type: spec-info
+type: spec
diff --git a/spec-spec/spec/spec-int.yml b/spec-spec/spec/spec-int.yml
new file mode 100644
index 00000000..080a3a9d
--- /dev/null
+++ b/spec-spec/spec/spec-int.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 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: |
+ It shall be the description of the specified integer value.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies an integer value.
+ mandatory-attributes:
+ - description
+spec-name: Specification Integer Value
+spec-type: spec-int
+type: spec
diff --git a/spec-spec/spec/spec-list.yml b/spec-spec/spec/spec-list.yml
new file mode 100644
index 00000000..b8f87807
--- /dev/null
+++ b/spec-spec/spec/spec-list.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:
+ description:
+ description: |
+ It shall be the description of the list.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ It shall be the specification type of elements of the list.
+ spec-type: name
+ description: |
+ This set of attributes specifies a list of attributes or values.
+ mandatory-attributes: all
+spec-name: Specification List
+spec-type: spec-list
+type: spec
diff --git a/spec-spec/spec/spec-mandatory-attributes.yml b/spec-spec/spec/spec-mandatory-attributes.yml
new file mode 100644
index 00000000..700de958
--- /dev/null
+++ b/spec-spec/spec/spec-mandatory-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: |
+ It defines which explicit attributes are mandatory.
+spec-example: null
+spec-info:
+ list:
+ description: |
+ The list defines the mandatory attributes through their key names.
+ spec-type: name
+ str:
+ assert:
+ in:
+ - all
+ - at-least-one
+ - at-most-one
+ - exactly-one
+ - none
+ description: |
+ It defines how many explicit attributes are mandatory. If `none` is
+ used, then none of the explicit attributes is mandatory, they are all
+ optional.
+spec-name: Specification Mandatory Attributes
+spec-type: spec-mandatory-attributes
+type: spec
diff --git a/spec-spec/spec/spec-member.yml b/spec-spec/spec/spec-member.yml
new file mode 100644
index 00000000..790500ef
--- /dev/null
+++ b/spec-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: |
+ It defines the specification membership role of links.
+ mandatory-attributes: all
+spec-name: Specification Member Link Role
+spec-type: spec-member
+type: spec
diff --git a/spec-spec/spec/spec-refinement.yml b/spec-spec/spec/spec-refinement.yml
new file mode 100644
index 00000000..8fd16da1
--- /dev/null
+++ b/spec-spec/spec/spec-refinement.yml
@@ -0,0 +1,32 @@
+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: |
+ It shall be the specification type refinement attribute key of the
+ specification refinement.
+ spec-type: name
+ spec-value:
+ description: |
+ It shall be the specification type refinement attribute value of the
+ specification refinement.
+ spec-type: name
+ description: |
+ It defines the specification refinement role of links.
+ mandatory-attributes: all
+spec-name: Specification Refinement Link Role
+spec-type: spec-refinement
+type: spec
diff --git a/spec-spec/spec/spec-str.yml b/spec-spec/spec/spec-str.yml
new file mode 100644
index 00000000..f83dae5e
--- /dev/null
+++ b/spec-spec/spec/spec-str.yml
@@ -0,0 +1,29 @@
+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: |
+ It shall be the description of the specified string attribute.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a string.
+ mandatory-attributes:
+ - description
+spec-name: Specification String Value
+spec-type: spec-str
+type: spec
diff --git a/spec-spec/spec/spec.yml b/spec-spec/spec/spec.yml
new file mode 100644
index 00000000..e67e920e
--- /dev/null
+++ b/spec-spec/spec/spec.yml
@@ -0,0 +1,72 @@
+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: |
+ It shall be an example.
+ spec-type: optional-str
+ example-number:
+ description: |
+ It shall be the example number.
+ spec-type: int
+ description: |
+ This set of attributes specifies an example.
+ mandatory-attributes: all
+ spec-name: Example Item Type
+ spec-type: spec
+ type: spec
+spec-info:
+ dict:
+ attributes:
+ spec-description:
+ description: |
+ It shall be the description of the specification type.
+ spec-type: optional-str
+ spec-example:
+ description: |
+ If the value is present, then it shall be an example of the
+ specification type.
+ spec-type: optional-str
+ spec-info:
+ description: null
+ spec-type: spec-info
+ spec-name:
+ description: |
+ It shall be the human readable name of the specification type.
+ spec-type: optional-str
+ spec-type:
+ description: |
+ It shall the specification type.
+ spec-type: name
+ description: |
+ This set of attributes specifies specification types.
+ mandatory-attributes: all
+spec-name: Specification Item Type
+spec-type: spec
+type: spec