summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-21 15:10:43 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-28 10:38:23 +0200
commitb75c6bee4152f37ef7261fb94e4b302ae02a0910 (patch)
treeed1cbb740406aae1394560c9f0597d12df928be5
parent0aba52081afaa6bfd429db902392e8f237664a72 (diff)
spec: Add specification of specification items
-rw-r--r--spec/spec/appl-config-group-member.yml22
-rw-r--r--spec/spec/appl-config-group.yml38
-rw-r--r--spec/spec/appl-config-option-constraint.yml39
-rw-r--r--spec/spec/appl-config-option-feature-enable.yml23
-rw-r--r--spec/spec/appl-config-option-feature.yml28
-rw-r--r--spec/spec/appl-config-option-name.yml18
-rw-r--r--spec/spec/appl-config-option-value.yml37
-rw-r--r--spec/spec/appl-config-option.yml54
-rw-r--r--spec/spec/build-bsp.yml47
-rw-r--r--spec/spec/build-cflag.yml18
-rw-r--r--spec/spec/build-cflags.yml16
-rw-r--r--spec/spec/build-cppflag.yml18
-rw-r--r--spec/spec/build-cppflags.yml16
-rw-r--r--spec/spec/build-cxxflag.yml18
-rw-r--r--spec/spec/build-cxxflags.yml16
-rw-r--r--spec/spec/build-dependency.yml22
-rw-r--r--spec/spec/build-include.yml25
-rw-r--r--spec/spec/build-includes.yml16
-rw-r--r--spec/spec/build-install-list.yml16
-rw-r--r--spec/spec/build-install.yml28
-rw-r--r--spec/spec/build-source-list.yml16
-rw-r--r--spec/spec/build-source.yml17
-rw-r--r--spec/spec/build.yml26
-rw-r--r--spec/spec/glossary-member.yml22
-rw-r--r--spec/spec/int-or-str.yml17
-rw-r--r--spec/spec/interface-include.yml29
-rw-r--r--spec/spec/interface-ingroup.yml22
-rw-r--r--spec/spec/interface-placement.yml24
-rw-r--r--spec/spec/interface.yml26
-rw-r--r--spec/spec/list-int-or-str.yml16
-rw-r--r--spec/spec/list-str.yml5
-rw-r--r--spec/spec/list-uid.yml16
-rw-r--r--spec/spec/requirement-functional-type.yml23
-rw-r--r--spec/spec/requirement-functional.yml26
-rw-r--r--spec/spec/requirement-non-functional-type.yml30
-rw-r--r--spec/spec/requirement-non-functional.yml27
-rw-r--r--spec/spec/requirement-refinement.yml22
-rw-r--r--spec/spec/requirement-text.yml82
-rw-r--r--spec/spec/requirement.yml30
-rw-r--r--spec/spec/spec-member.yml4
-rw-r--r--spec/spec/spec-refinement.yml3
41 files changed, 991 insertions, 7 deletions
diff --git a/spec/spec/appl-config-group-member.yml b/spec/spec/appl-config-group-member.yml
new file mode 100644
index 00000000..954bd36f
--- /dev/null
+++ b/spec/spec/appl-config-group-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: appl-config-group-member
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the application configuration group membership role of links.
+ required-attributes: all
+spec-name: Application Configuration Group Member Link Role
+spec-type: appl-config-group-member
+type: spec
diff --git a/spec/spec/appl-config-group.yml b/spec/spec/appl-config-group.yml
new file mode 100644
index 00000000..1f63d075
--- /dev/null
+++ b/spec/spec/appl-config-group.yml
@@ -0,0 +1,38 @@
+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: interface-type
+ spec-value: appl-config-group
+ uid: interface
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ appl-config-group-description:
+ description: |
+ This mandatory attribute shall be the description of the application
+ configuration group.
+ spec-type: str
+ appl-config-group-name:
+ description: |
+ This mandatory attribute defines the application configuration group
+ human readable name.
+ spec-type: str
+ text:
+ description: |
+ This mandatory attribute states the requirement for the application
+ configuration group.
+ spec-type: requirement-text
+ description: |
+ This set of attributes specifies application configuration group
+ specification items.
+ required-attributes: all
+spec-name: Application Configuration Group Item Type
+spec-type: appl-config-group
+type: spec
diff --git a/spec/spec/appl-config-option-constraint.yml b/spec/spec/appl-config-option-constraint.yml
new file mode 100644
index 00000000..262ae6d9
--- /dev/null
+++ b/spec/spec/appl-config-option-constraint.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:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ custom:
+ description: |
+ This attribute defines a list of constraints.
+ spec-type: list-str
+ links:
+ description: |
+ This attribute shall list links to constraints.
+ spec-type: list-uid
+ max:
+ description: |
+ This attribute defines the maximum value.
+ spec-type: int-or-str
+ min:
+ description: |
+ This attribute defines the minimum value.
+ spec-type: int-or-str
+ set:
+ description: |
+ This attribute defines a set of valid values.
+ spec-type: list-int-or-str
+ description: |
+ This set of attributes defines application configuration option
+ constraints.
+ required-attributes: none
+spec-name: Application Configuration Option Constraint
+spec-type: appl-config-option-constraint
+type: spec
diff --git a/spec/spec/appl-config-option-feature-enable.yml b/spec/spec/appl-config-option-feature-enable.yml
new file mode 100644
index 00000000..b93eac82
--- /dev/null
+++ b/spec/spec/appl-config-option-feature-enable.yml
@@ -0,0 +1,23 @@
+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: appl-config-option-type
+ spec-value: feature-enable
+ uid: appl-config-option
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ This set of attributes specifies application configuration feature enable
+ option specification items.
+ required-attributes: all
+spec-name: Application Configuration Feature Enable Option Item Type
+spec-type: appl-config-option-feature-enable
+type: spec
diff --git a/spec/spec/appl-config-option-feature.yml b/spec/spec/appl-config-option-feature.yml
new file mode 100644
index 00000000..3f536f4d
--- /dev/null
+++ b/spec/spec/appl-config-option-feature.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
+- role: spec-refinement
+ spec-key: appl-config-option-type
+ spec-value: feature
+ uid: appl-config-option
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ appl-config-option-default:
+ description: |
+ This mandatory attribute shall describe what happens if the
+ configuration option is undefined.
+ spec-type: str
+ description: |
+ This set of attributes specifies application configuration feature option
+ specification items.
+ required-attributes: all
+spec-name: Application Configuration Feature Option Item Type
+spec-type: appl-config-option-feature
+type: spec
diff --git a/spec/spec/appl-config-option-name.yml b/spec/spec/appl-config-option-name.yml
new file mode 100644
index 00000000..bc224b47
--- /dev/null
+++ b/spec/spec/appl-config-option-name.yml
@@ -0,0 +1,18 @@
+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: ^(CONFIGURE_|BSP_)[A-Z0-9_]+$
+ description: |
+ This attribute value defines an application configuration option name.
+spec-name: Application Configuration Option Name
+spec-type: appl-config-option-name
+type: spec
diff --git a/spec/spec/appl-config-option-value.yml b/spec/spec/appl-config-option-value.yml
new file mode 100644
index 00000000..19907e96
--- /dev/null
+++ b/spec/spec/appl-config-option-value.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
+- role: spec-refinement
+ spec-key: appl-config-option-type
+ spec-value: initializer
+ uid: appl-config-option
+- role: spec-refinement
+ spec-key: appl-config-option-type
+ spec-value: integer
+ uid: appl-config-option
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ appl-config-option-constraint:
+ description: |
+ This mandatory attribute shall list the constraints of the
+ configuration option value.
+ spec-type: appl-config-option-constraint
+ appl-config-option-default-value:
+ description: |
+ This mandatory attribute shall describe the default value of the
+ configuration option.
+ spec-type: int-or-str
+ description: |
+ This set of attributes specifies application configuration initializer or
+ integer option specification items.
+ required-attributes: all
+spec-name: Application Configuration Value Option Item Type
+spec-type: appl-config-option-value
+type: spec
diff --git a/spec/spec/appl-config-option.yml b/spec/spec/appl-config-option.yml
new file mode 100644
index 00000000..dbaa1e42
--- /dev/null
+++ b/spec/spec/appl-config-option.yml
@@ -0,0 +1,54 @@
+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: interface-type
+ spec-value: appl-config-option
+ uid: interface
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ appl-config-option-description:
+ description: |
+ This mandatory attribute shall be the description of the application
+ configuration option.
+ spec-type: str
+ appl-config-option-index:
+ description: |
+ This mandatory attribute defines additional application configuration
+ option document index entries. The application configuration option
+ name is automatically added to the document index.
+ spec-type: list-str
+ appl-config-option-name:
+ description: |
+ This mandatory attribute defines the application configuration option
+ name.
+ spec-type: appl-config-option-name
+ appl-config-option-notes:
+ description: |
+ This mandatory attribute shall be the notes to the application
+ configuration option.
+ spec-type: optional-str
+ appl-config-option-type:
+ description: |
+ This mandatory attribute shall be the application configuration
+ option type.
+ spec-type: name
+ text:
+ description: |
+ This mandatory attribute states the requirement for the application
+ configuration option.
+ spec-type: requirement-text
+ description: |
+ This set of attributes specifies application configuration option
+ specification items.
+ required-attributes: all
+spec-name: Application Configuration Option Item Type
+spec-type: appl-config-option
+type: spec
diff --git a/spec/spec/build-bsp.yml b/spec/spec/build-bsp.yml
new file mode 100644
index 00000000..bfe9604a
--- /dev/null
+++ b/spec/spec/build-bsp.yml
@@ -0,0 +1,47 @@
+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: build-type
+ spec-value: bsp
+ uid: build
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ arch:
+ description: |
+ This mandatory attribute defines the target architecture of the BSP.
+ spec-type: str
+ bsp:
+ description: |
+ This mandatory attribute defines the base BSP variant name.
+ spec-type: str
+ cflags:
+ description: null
+ spec-type: build-cflags
+ bsp:
+ description: |
+ This mandatory attribute defines the BSP family name. The name shall
+ be the last directory of the path to the BSP sources.
+ spec-type: str
+ includes:
+ description: null
+ spec-type: build-includes
+ install:
+ description: null
+ spec-type: build-install-list
+ source:
+ description: null
+ spec-type: build-source-list
+ description: |
+ This set of attributes specifies a BSP build item.
+ required-attributes: all
+spec-name: BSP Build Item Type
+spec-type: build-bsp
+type: spec
diff --git a/spec/spec/build-cflag.yml b/spec/spec/build-cflag.yml
new file mode 100644
index 00000000..470383a6
--- /dev/null
+++ b/spec/spec/build-cflag.yml
@@ -0,0 +1,18 @@
+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:
+ description: |
+ It shall be an option for the C compiler. The options are used to
+ compile the sources of this item. The options defined by this attribute
+ succeed the options presented to the item by the build item context.
+spec-name: Build C Compiler Option
+spec-type: build-cflag
+type: spec
diff --git a/spec/spec/build-cflags.yml b/spec/spec/build-cflags.yml
new file mode 100644
index 00000000..cc8b12b1
--- /dev/null
+++ b/spec/spec/build-cflags.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: build-cflag
+spec-name: Build C Compiler Option List
+spec-type: build-cflags
+type: spec
diff --git a/spec/spec/build-cppflag.yml b/spec/spec/build-cppflag.yml
new file mode 100644
index 00000000..d22c5594
--- /dev/null
+++ b/spec/spec/build-cppflag.yml
@@ -0,0 +1,18 @@
+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:
+ description: |
+ It shall be an option for the C preprocessor. The options are used to
+ compile the sources of this item. The options defined by this attribute
+ succeed the options presented to the item by the build item context.
+spec-name: Build C Preprocessor Option
+spec-type: build-cppflag
+type: spec
diff --git a/spec/spec/build-cppflags.yml b/spec/spec/build-cppflags.yml
new file mode 100644
index 00000000..fa7f4c7d
--- /dev/null
+++ b/spec/spec/build-cppflags.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: build-cppflag
+spec-name: Build C Preprocessor Option List
+spec-type: build-cppflags
+type: spec
diff --git a/spec/spec/build-cxxflag.yml b/spec/spec/build-cxxflag.yml
new file mode 100644
index 00000000..09127003
--- /dev/null
+++ b/spec/spec/build-cxxflag.yml
@@ -0,0 +1,18 @@
+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:
+ description: |
+ It shall be an option for the C++ compiler. The options are used to
+ compile the sources of this item. The options defined by this attribute
+ succeed the options presented to the item by the build item context.
+spec-name: Build C++ Compiler Option
+spec-type: build-cxxflag
+type: spec
diff --git a/spec/spec/build-cxxflags.yml b/spec/spec/build-cxxflags.yml
new file mode 100644
index 00000000..8c29aba5
--- /dev/null
+++ b/spec/spec/build-cxxflags.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: build-cxxflag
+spec-name: Build C++ Compiler Option List
+spec-type: build-cxxflags
+type: spec
diff --git a/spec/spec/build-dependency.yml b/spec/spec/build-dependency.yml
new file mode 100644
index 00000000..aecde8b0
--- /dev/null
+++ b/spec/spec/build-dependency.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: build-dependency
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the build dependency role of links.
+ required-attributes: all
+spec-name: Build Dependency Link Role
+spec-type: build-dependency
+type: spec
diff --git a/spec/spec/build-include.yml b/spec/spec/build-include.yml
new file mode 100644
index 00000000..0858454c
--- /dev/null
+++ b/spec/spec/build-include.yml
@@ -0,0 +1,25 @@
+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:
+ description: |
+ It shall be a path to header files. The path is used by the C
+ preprocessor to search for header files. It succeeds the includes
+ presented to the item by the build item context. For an
+ :ref:`SpecTypeBuildGroupItemType` item the includes are visible to all
+ items referenced by the group item. For :ref:`SpecTypeBuildBSPItemType`,
+ :ref:`SpecTypeBuildObjectsItemType`, :ref:`SpecTypeBuildLibraryItemType`,
+ :ref:`SpecTypeBuildStartFileItemType`, and
+ :ref:`SpecTypeBuildTestProgramItemType` items the includes are only
+ visible to the sources specified by the item itself and they do not
+ propagate to referenced items.
+spec-name: Build Include
+spec-type: build-include
+type: spec
diff --git a/spec/spec/build-includes.yml b/spec/spec/build-includes.yml
new file mode 100644
index 00000000..fbc969ee
--- /dev/null
+++ b/spec/spec/build-includes.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: build-include
+spec-name: Build Include List
+spec-type: build-includes
+type: spec
diff --git a/spec/spec/build-install-list.yml b/spec/spec/build-install-list.yml
new file mode 100644
index 00000000..0ae3897c
--- /dev/null
+++ b/spec/spec/build-install-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: build-install
+spec-name: Build Install Directive List
+spec-type: build-install-list
+type: spec
diff --git a/spec/spec/build-install.yml b/spec/spec/build-install.yml
new file mode 100644
index 00000000..4037c8b7
--- /dev/null
+++ b/spec/spec/build-install.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:
+ destination:
+ description: |
+ This mandatory attribute defines the install destination directory.
+ spec-type: str
+ source:
+ description: |
+ This mandatory attribute defines the source files to be installed in
+ the destination directory. The path to a source file shall be
+ relative to the directory of the :file:`wscript`.
+ spec-type: list-str
+ description: |
+ This set of attributes specifies artefacts installed by a build item.
+ required-attributes: all
+spec-name: Build Install Directive
+spec-type: build-install
+type: spec
diff --git a/spec/spec/build-source-list.yml b/spec/spec/build-source-list.yml
new file mode 100644
index 00000000..0827029d
--- /dev/null
+++ b/spec/spec/build-source-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: build-source
+spec-name: Build Source List
+spec-type: build-source-list
+type: spec
diff --git a/spec/spec/build-source.yml b/spec/spec/build-source.yml
new file mode 100644
index 00000000..6f71e4e2
--- /dev/null
+++ b/spec/spec/build-source.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: null
+spec-example: null
+spec-info:
+ str:
+ description: |
+ It shall be a source file. The path to a source file shall be relative
+ to the directory of the :file:`wscript`.
+spec-name: Build Source
+spec-type: build-source
+type: spec
diff --git a/spec/spec/build.yml b/spec/spec/build.yml
new file mode 100644
index 00000000..1bdc5639
--- /dev/null
+++ b/spec/spec/build.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
+- role: spec-refinement
+ spec-key: type
+ spec-value: build
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ build-type:
+ description: |
+ This mandatory attribute defines the build type.
+ spec-type: name
+ description: |
+ This set of attributes specifies a build item.
+ required-attributes: all
+spec-name: Build Item Type
+spec-type: build
+type: spec
diff --git a/spec/spec/glossary-member.yml b/spec/spec/glossary-member.yml
new file mode 100644
index 00000000..7c91beb4
--- /dev/null
+++ b/spec/spec/glossary-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: glossary-member
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the glossary membership role of links.
+ required-attributes: all
+spec-name: Glossary Membership Link Role
+spec-type: glossary-member
+type: spec
diff --git a/spec/spec/int-or-str.yml b/spec/spec/int-or-str.yml
new file mode 100644
index 00000000..0e724982
--- /dev/null
+++ b/spec/spec/int-or-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: null
+spec-example: null
+spec-info:
+ int:
+ description: null
+ str:
+ description: null
+spec-name: Integer or String
+spec-type: int-or-str
+type: spec
diff --git a/spec/spec/interface-include.yml b/spec/spec/interface-include.yml
new file mode 100644
index 00000000..16b68e95
--- /dev/null
+++ b/spec/spec/interface-include.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
+- role: spec-refinement
+ spec-key: role
+ spec-value: interface-include
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ enabled-by:
+ description: |
+ This mandatory attribute defines under which conditions the interface
+ container is included.
+ spec-type: enabled-by
+ description: |
+ It defines the interface include role of links and is used to indicate
+ that an interface container includes another interface container. For
+ example, one header file includes another header file.
+ required-attributes: all
+spec-name: Interface Include Link Role
+spec-type: interface-include
+type: spec
diff --git a/spec/spec/interface-ingroup.yml b/spec/spec/interface-ingroup.yml
new file mode 100644
index 00000000..98b5e09c
--- /dev/null
+++ b/spec/spec/interface-ingroup.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: interface-ingroup
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the interface group membership role of links.
+ required-attributes: all
+spec-name: Interface Group Membership Link Role
+spec-type: interface-ingroup
+type: spec
diff --git a/spec/spec/interface-placement.yml b/spec/spec/interface-placement.yml
new file mode 100644
index 00000000..f1c72fb5
--- /dev/null
+++ b/spec/spec/interface-placement.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
+- role: spec-refinement
+ spec-key: role
+ spec-value: interface-placement
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the interface placement role of links. It is used to indicate
+ that an interface definition is placed into an interface container, for
+ example a header file.
+ required-attributes: all
+spec-name: Interface Placement Link Role
+spec-type: interface-placement
+type: spec
diff --git a/spec/spec/interface.yml b/spec/spec/interface.yml
new file mode 100644
index 00000000..15acaae0
--- /dev/null
+++ b/spec/spec/interface.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
+- role: spec-refinement
+ spec-key: type
+ spec-value: interface
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ interface-type:
+ description: |
+ This mandatory attribute defines the interface type.
+ spec-type: name
+ description: |
+ This set of attributes specifies interface specification items.
+ required-attributes: all
+spec-name: Interface Item Type
+spec-type: interface
+type: spec
diff --git a/spec/spec/list-int-or-str.yml b/spec/spec/list-int-or-str.yml
new file mode 100644
index 00000000..f151bcd5
--- /dev/null
+++ b/spec/spec/list-int-or-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: int-or-str
+spec-name: Integer or String List
+spec-type: list-int-or-str
+type: spec
diff --git a/spec/spec/list-str.yml b/spec/spec/list-str.yml
index 4d1246fb..db3dd518 100644
--- a/spec/spec/list-str.yml
+++ b/spec/spec/list-str.yml
@@ -5,13 +5,12 @@ enabled-by: true
links:
- role: spec-member
uid: root
-spec-description: |
- This attribute value shall a list of strings.
+spec-description: null
spec-example: null
spec-info:
list:
description: null
spec-type: str
-spec-name: String List Type
+spec-name: String List
spec-type: list-str
type: spec
diff --git a/spec/spec/list-uid.yml b/spec/spec/list-uid.yml
new file mode 100644
index 00000000..4ff95d9b
--- /dev/null
+++ b/spec/spec/list-uid.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: uid
+spec-name: UID List
+spec-type: list-uid
+type: spec
diff --git a/spec/spec/requirement-functional-type.yml b/spec/spec/requirement-functional-type.yml
new file mode 100644
index 00000000..dd87e8e3
--- /dev/null
+++ b/spec/spec/requirement-functional-type.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ str:
+ assert:
+ in:
+ - capability
+ - dependability-function
+ - function
+ - operational
+ - safety-function
+ description: |
+ This type shall be used for functional requirement types.
+spec-name: Functional Requirement Type
+spec-type: requirement-functional-type
+type: spec
diff --git a/spec/spec/requirement-functional.yml b/spec/spec/requirement-functional.yml
new file mode 100644
index 00000000..f68aef19
--- /dev/null
+++ b/spec/spec/requirement-functional.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
+- role: spec-refinement
+ spec-key: requirement-type
+ spec-value: functional
+ uid: requirement
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ functional-type:
+ description: |
+ This mandatory attribute defines the functional type of the requirement.
+ spec-type: requirement-functional-type
+ description: |
+ This set of attributes specifies a functional requirement.
+ required-attributes: all
+spec-name: Functional Requirement Item Type
+spec-type: requirement-functional
+type: spec
diff --git a/spec/spec/requirement-non-functional-type.yml b/spec/spec/requirement-non-functional-type.yml
new file mode 100644
index 00000000..7d83daae
--- /dev/null
+++ b/spec/spec/requirement-non-functional-type.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:
+ str:
+ assert:
+ in:
+ - build-configuration
+ - constraint
+ - design
+ - interface
+ - interface-requirement
+ - maintainability
+ - performance
+ - portability
+ - quality
+ - reliability
+ - resource
+ - safety
+ description: |
+ This type shall be used for non-functional requirement types.
+spec-name: Non-Functional Requirement Type
+spec-type: requirement-non-functional-type
+type: spec
diff --git a/spec/spec/requirement-non-functional.yml b/spec/spec/requirement-non-functional.yml
new file mode 100644
index 00000000..11abaf57
--- /dev/null
+++ b/spec/spec/requirement-non-functional.yml
@@ -0,0 +1,27 @@
+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: requirement-type
+ spec-value: non-functional
+ uid: requirement
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ non-functional-type:
+ description: |
+ This mandatory attribute defines the non-functional type of the
+ requirement.
+ spec-type: requirement-non-functional-type
+ description: |
+ This set of attributes specifies a non-functional requirement.
+ required-attributes: all
+spec-name: Non-Functional Requirement Item Type
+spec-type: requirement-non-functional
+type: spec
diff --git a/spec/spec/requirement-refinement.yml b/spec/spec/requirement-refinement.yml
new file mode 100644
index 00000000..7918bc8a
--- /dev/null
+++ b/spec/spec/requirement-refinement.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: requirement-refinement
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the requirement refinement role of links.
+ required-attributes: all
+spec-name: Requirement Refinement Link Role
+spec-type: requirement-refinement
+type: spec
diff --git a/spec/spec/requirement-text.yml b/spec/spec/requirement-text.yml
new file mode 100644
index 00000000..5a18a882
--- /dev/null
+++ b/spec/spec/requirement-text.yml
@@ -0,0 +1,82 @@
+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:
+ not:
+ contains:
+ - acceptable
+ - adequate
+ - almost always
+ - and/or
+ - appropriate
+ - approximately
+ - as far as possible
+ - as much as practicable
+ - best
+ - best possible
+ - easy
+ - efficient
+ - e.g.
+ - enable
+ - enough
+ - etc.
+ - few
+ - first rate
+ - flexible
+ - generally
+ - goal
+ - graceful
+ - great
+ - greatest
+ - ideally
+ - i.e.
+ - if possible
+ - in most cases
+ - large
+ - many
+ - maximize
+ - minimize
+ - most
+ - multiple
+ - necessary
+ - numerous
+ - optimize
+ - ought to
+ - probably
+ - quick
+ - rapid
+ - reasonably
+ - relevant
+ - robust
+ - satisfactory
+ - several
+ - shall be included but not limited to
+ - simple
+ - small
+ - some
+ - state of the art
+ - state-of-the-art
+ - sufficient
+ - suitable
+ - support
+ - systematically
+ - transparent
+ - typical
+ - user friendly
+ - user-friendly
+ - usually
+ - versatile
+ - when necessary
+ description: |
+ This type shall be used for requirement statements.
+spec-name: Requirement Text
+spec-type: requirement-text
+type: spec
diff --git a/spec/spec/requirement.yml b/spec/spec/requirement.yml
new file mode 100644
index 00000000..dccc7ad5
--- /dev/null
+++ b/spec/spec/requirement.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
+- role: spec-refinement
+ spec-key: type
+ spec-value: requirement
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ text:
+ description: |
+ This mandatory attribute defines the requirement text.
+ spec-type: requirement-text
+ requirement-type:
+ description: |
+ This mandatory attribute defines the requirement type.
+ spec-type: name
+ description: |
+ This set of attributes specifies a requirement.
+ required-attributes: all
+spec-name: Requirement Item Type
+spec-type: requirement
+type: spec
diff --git a/spec/spec/spec-member.yml b/spec/spec/spec-member.yml
index 60707f97..60f68a11 100644
--- a/spec/spec/spec-member.yml
+++ b/spec/spec/spec-member.yml
@@ -15,8 +15,8 @@ spec-info:
dict:
attributes: {}
description: |
- This specification type defines the specification membership role of links.
- required-attributes: none
+ It defines the specification membership role of links.
+ required-attributes: all
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
index e95467ae..ba6bb5e1 100644
--- a/spec/spec/spec-refinement.yml
+++ b/spec/spec/spec-refinement.yml
@@ -25,8 +25,7 @@ spec-info:
attribute value of the specification refinement.
spec-type: name
description: |
- This specification type defines the specification refinement role of
- links.
+ It defines the specification refinement role of links.
required-attributes: all
spec-name: Specification Refinement Link Role
spec-type: spec-refinement