diff options
Diffstat (limited to 'spec-spec')
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 |