summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2022-09-02 07:40:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-09-02 10:50:11 +0200
commit51a30258f70d9cfe4780c45815962a9debf945b5 (patch)
tree87cfcd84d43a27350bf44b4e9fa2a4ffaad66100
parentspec: Add C interfaces to a group (diff)
downloadrtems-central-51a30258f70d9cfe4780c45815962a9debf945b5.tar.bz2
spec: Add external interfaces to a group
Remove interface container item type.
-rw-r--r--config.yml6
-rw-r--r--rtemsspec/interface.py10
-rw-r--r--rtemsspec/tests/spec-interface/asm.yml4
-rw-r--r--rtemsspec/tests/spec-interface/command-line-other.yml17
-rw-r--r--rtemsspec/tests/spec-interface/command-line.yml2
-rw-r--r--rtemsspec/tests/spec-interface/smp.yml4
-rw-r--r--rtemsspec/tests/spec/interface-more.yml4
-rw-r--r--spec/build-options/if/ada.yml6
-rw-r--r--spec/build-options/if/container.yml10
-rw-r--r--spec/build-options/if/cpuopts.yml2
-rw-r--r--spec/build-options/if/debug.yml6
-rw-r--r--spec/build-options/if/drvmgr.yml6
-rw-r--r--spec/build-options/if/group.yml15
-rw-r--r--spec/build-options/if/multiprocessing.yml6
-rw-r--r--spec/build-options/if/networking.yml6
-rw-r--r--spec/build-options/if/paravirt.yml6
-rw-r--r--spec/build-options/if/posix.yml6
-rw-r--r--spec/build-options/if/profiling.yml6
-rw-r--r--spec/build-options/if/smp.yml6
-rw-r--r--spec/compiler/if/asm.yml4
-rw-r--r--spec/compiler/if/builtin-choose-expr.yml4
-rw-r--r--spec/compiler/if/builtin-expect.yml4
-rw-r--r--spec/compiler/if/builtin-return-address.yml4
-rw-r--r--spec/compiler/if/builtin-types-compatible-p.yml4
-rw-r--r--spec/compiler/if/builtin-unreachable.yml4
-rw-r--r--spec/compiler/if/container.yml10
-rw-r--r--spec/compiler/if/coverity.yml6
-rw-r--r--spec/compiler/if/cplusplus.yml6
-rw-r--r--spec/compiler/if/gnuc.yml6
-rw-r--r--spec/compiler/if/group.yml15
-rw-r--r--spec/compiler/if/stdc-version.yml4
-rw-r--r--spec/compiler/if/typeof.yml4
-rw-r--r--spec/compiler/if/user-label-prefix.yml6
-rw-r--r--spec/doc/if/config-scheduler-clustered.yml2
-rw-r--r--spec/doc/if/config-scheduler-table.yml2
-rw-r--r--spec/doc/if/config-unlimited-objects.yml2
-rw-r--r--spec/doc/if/group.yml15
-rw-r--r--spec/doc/if/mp-proxies.yml2
-rw-r--r--spec/doc/if/mrsp.yml2
-rw-r--r--spec/doc/if/scheduler-cbs.yml2
-rw-r--r--spec/doc/if/scheduler-concepts.yml2
-rw-r--r--spec/doc/if/scheduler-edf.yml2
-rw-r--r--spec/doc/if/scheduler-priority-simple.yml2
-rw-r--r--spec/doc/if/scheduler-priority.yml2
-rw-r--r--spec/doc/if/scheduler-smp-edf.yml2
-rw-r--r--spec/doc/if/scheduler-smp-priority-affinity.yml2
-rw-r--r--spec/doc/if/scheduler-smp-priority-simple.yml2
-rw-r--r--spec/doc/if/scheduler-smp-priority.yml2
-rw-r--r--spec/doc/if/terminate.yml2
-rw-r--r--spec/req/external-interface.yml14
-rw-r--r--spec/spec/interface-container.yml25
-rw-r--r--spec/spec/interface-domain.yml5
-rw-r--r--spec/user/if/asm.yml6
-rw-r--r--spec/user/if/container.yml10
-rw-r--r--spec/user/if/false.yml6
-rw-r--r--spec/user/if/group.yml15
-rw-r--r--spec/user/if/true.yml6
57 files changed, 202 insertions, 139 deletions
diff --git a/config.yml b/config.yml
index 8c55f09f..bbf8c316 100644
--- a/config.yml
+++ b/config.yml
@@ -114,9 +114,9 @@ interface:
enabled:
- RTEMS_QUAL
item-level-interfaces:
- - /build-options/if/container
- - /compiler/if/container
- - /user/if/container
+ - /build-options/if/group
+ - /compiler/if/group
+ - /user/if/group
domains:
/if/domain: modules/rtems
/dev/if/domain: modules/rtems
diff --git a/rtemsspec/interface.py b/rtemsspec/interface.py
index 882c442a..949c51f6 100644
--- a/rtemsspec/interface.py
+++ b/rtemsspec/interface.py
@@ -723,8 +723,7 @@ class _HeaderFile:
def add_includes(self, item: Item) -> None:
""" Adds the includes of the item to the header file includes. """
for parent in item.parents("interface-placement"):
- if parent.type == "interface/header-file":
- self._includes.append(parent)
+ self._includes.append(parent)
def _add_child(self, item: Item) -> None:
self._nodes[item.uid] = Node(self, item)
@@ -836,9 +835,10 @@ def _gather_enabled_by_defined(item_level_interfaces: List[str],
item_cache: ItemCache) -> Dict[str, str]:
enabled_by_defined = {} # type: Dict[str, str]
for uid in item_level_interfaces:
- for child in item_cache[uid].children("interface-placement"):
- define = f"defined(${{{child.uid}:/name}})"
- enabled_by_defined[child["name"]] = define
+ for child in item_cache[uid].children("interface-ingroup"):
+ if child.type == "interface/unspecified-define":
+ define = f"defined(${{{child.uid}:/name}})"
+ enabled_by_defined[child["name"]] = define
return enabled_by_defined
diff --git a/rtemsspec/tests/spec-interface/asm.yml b/rtemsspec/tests/spec-interface/asm.yml
index 2e56eab5..ec45b32a 100644
--- a/rtemsspec/tests/spec-interface/asm.yml
+++ b/rtemsspec/tests/spec-interface/asm.yml
@@ -8,9 +8,9 @@ definition:
description: null
enabled-by: true
index-entries: []
-interface-type: define
+interface-type: unspecified-define
links:
-- role: interface-placement
+- role: interface-ingroup
uid: command-line
- role: other
uid: command-line
diff --git a/rtemsspec/tests/spec-interface/command-line-other.yml b/rtemsspec/tests/spec-interface/command-line-other.yml
new file mode 100644
index 00000000..7b317f9f
--- /dev/null
+++ b/rtemsspec/tests/spec-interface/command-line-other.yml
@@ -0,0 +1,17 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: null
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+definition:
+ defaults: null
+ variants: []
+description: null
+enabled-by: true
+index-entries: []
+interface-type: unspecified-function
+links:
+- role: interface-ingroup
+ uid: command-line
+name: func
+notes: null
+type: interface
diff --git a/rtemsspec/tests/spec-interface/command-line.yml b/rtemsspec/tests/spec-interface/command-line.yml
index 1e343f08..4f5144e2 100644
--- a/rtemsspec/tests/spec-interface/command-line.yml
+++ b/rtemsspec/tests/spec-interface/command-line.yml
@@ -3,7 +3,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: container
+interface-type: group
links:
- role: interface-placement
uid: domain-command-line
diff --git a/rtemsspec/tests/spec-interface/smp.yml b/rtemsspec/tests/spec-interface/smp.yml
index a3765196..82ab5c37 100644
--- a/rtemsspec/tests/spec-interface/smp.yml
+++ b/rtemsspec/tests/spec-interface/smp.yml
@@ -3,9 +3,9 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: define
+interface-type: unspecified-define
links:
-- role: interface-placement
+- role: interface-ingroup
uid: command-line
name: RTEMS_SMP
type: interface
diff --git a/rtemsspec/tests/spec/interface-more.yml b/rtemsspec/tests/spec/interface-more.yml
index aff1b49a..9719d9b9 100644
--- a/rtemsspec/tests/spec/interface-more.yml
+++ b/rtemsspec/tests/spec/interface-more.yml
@@ -19,10 +19,6 @@ links:
uid: interface
- role: spec-refinement
spec-key: interface-type
- spec-value: container
- uid: interface
-- role: spec-refinement
- spec-key: interface-type
spec-value: define
uid: interface
- role: spec-refinement
diff --git a/spec/build-options/if/ada.yml b/spec/build-options/if/ada.yml
index 5922d0a9..7bdfd63c 100644
--- a/spec/build-options/if/ada.yml
+++ b/spec/build-options/if/ada.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __RTEMS_ADA__
references: []
type: interface
diff --git a/spec/build-options/if/container.yml b/spec/build-options/if/container.yml
deleted file mode 100644
index 6a02d235..00000000
--- a/spec/build-options/if/container.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-index-entries: []
-interface-type: container
-links:
-- role: interface-placement
- uid: domain
-type: interface
diff --git a/spec/build-options/if/cpuopts.yml b/spec/build-options/if/cpuopts.yml
index 2d2b4d46..c011329c 100644
--- a/spec/build-options/if/cpuopts.yml
+++ b/spec/build-options/if/cpuopts.yml
@@ -8,6 +8,8 @@ interface-type: header-file
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
path: rtems/score/cpuopts.h
prefix: ''
type: interface
diff --git a/spec/build-options/if/debug.yml b/spec/build-options/if/debug.yml
index 6f1b9227..0d787a52 100644
--- a/spec/build-options/if/debug.yml
+++ b/spec/build-options/if/debug.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_DEBUG
references: []
type: interface
diff --git a/spec/build-options/if/drvmgr.yml b/spec/build-options/if/drvmgr.yml
index 226790f5..ddb96579 100644
--- a/spec/build-options/if/drvmgr.yml
+++ b/spec/build-options/if/drvmgr.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_DRVMGR_STARTUP
references: []
type: interface
diff --git a/spec/build-options/if/group.yml b/spec/build-options/if/group.yml
new file mode 100644
index 00000000..e12994f6
--- /dev/null
+++ b/spec/build-options/if/group.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+identifier: BuildOptions
+links:
+- role: requirement-refinement
+ uid: /req/external-interface
+non-functional-type: design-group
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The used build options shall be specified.
+type: requirement
diff --git a/spec/build-options/if/multiprocessing.yml b/spec/build-options/if/multiprocessing.yml
index 828d5f3a..198bc242 100644
--- a/spec/build-options/if/multiprocessing.yml
+++ b/spec/build-options/if/multiprocessing.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_MULTIPROCESSING
references: []
type: interface
diff --git a/spec/build-options/if/networking.yml b/spec/build-options/if/networking.yml
index 4a99a195..4935cccb 100644
--- a/spec/build-options/if/networking.yml
+++ b/spec/build-options/if/networking.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_NETWORKING
references: []
type: interface
diff --git a/spec/build-options/if/paravirt.yml b/spec/build-options/if/paravirt.yml
index a467e74b..1236091b 100644
--- a/spec/build-options/if/paravirt.yml
+++ b/spec/build-options/if/paravirt.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_PARAVIRT
references: []
type: interface
diff --git a/spec/build-options/if/posix.yml b/spec/build-options/if/posix.yml
index 8054e020..2f573263 100644
--- a/spec/build-options/if/posix.yml
+++ b/spec/build-options/if/posix.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_POSIX_API
references: []
type: interface
diff --git a/spec/build-options/if/profiling.yml b/spec/build-options/if/profiling.yml
index 809987bf..95e4d005 100644
--- a/spec/build-options/if/profiling.yml
+++ b/spec/build-options/if/profiling.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_PROFILING
references: []
type: interface
diff --git a/spec/build-options/if/smp.yml b/spec/build-options/if/smp.yml
index 9ec1fb9b..0639ffea 100644
--- a/spec/build-options/if/smp.yml
+++ b/spec/build-options/if/smp.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: RTEMS_SMP
references: []
type: interface
diff --git a/spec/compiler/if/asm.yml b/spec/compiler/if/asm.yml
index 3ac1086b..293da75c 100644
--- a/spec/compiler/if/asm.yml
+++ b/spec/compiler/if/asm.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __asm__
references: []
type: interface
diff --git a/spec/compiler/if/builtin-choose-expr.yml b/spec/compiler/if/builtin-choose-expr.yml
index 5a8413c3..394730f4 100644
--- a/spec/compiler/if/builtin-choose-expr.yml
+++ b/spec/compiler/if/builtin-choose-expr.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __builtin_choose_expr
references: []
type: interface
diff --git a/spec/compiler/if/builtin-expect.yml b/spec/compiler/if/builtin-expect.yml
index ae1e0503..e195a27d 100644
--- a/spec/compiler/if/builtin-expect.yml
+++ b/spec/compiler/if/builtin-expect.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __builtin_expect
references: []
type: interface
diff --git a/spec/compiler/if/builtin-return-address.yml b/spec/compiler/if/builtin-return-address.yml
index b68d28e0..b5ff188d 100644
--- a/spec/compiler/if/builtin-return-address.yml
+++ b/spec/compiler/if/builtin-return-address.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __builtin_return_address
references: []
type: interface
diff --git a/spec/compiler/if/builtin-types-compatible-p.yml b/spec/compiler/if/builtin-types-compatible-p.yml
index 988221f0..ca3565f3 100644
--- a/spec/compiler/if/builtin-types-compatible-p.yml
+++ b/spec/compiler/if/builtin-types-compatible-p.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __builtin_types_compatible_p
references: []
type: interface
diff --git a/spec/compiler/if/builtin-unreachable.yml b/spec/compiler/if/builtin-unreachable.yml
index 8e37900a..e2c4b937 100644
--- a/spec/compiler/if/builtin-unreachable.yml
+++ b/spec/compiler/if/builtin-unreachable.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __builtin_unreachable
references: []
type: interface
diff --git a/spec/compiler/if/container.yml b/spec/compiler/if/container.yml
deleted file mode 100644
index 6a02d235..00000000
--- a/spec/compiler/if/container.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-index-entries: []
-interface-type: container
-links:
-- role: interface-placement
- uid: domain
-type: interface
diff --git a/spec/compiler/if/coverity.yml b/spec/compiler/if/coverity.yml
index 2fe4d0dd..05104ffa 100644
--- a/spec/compiler/if/coverity.yml
+++ b/spec/compiler/if/coverity.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __COVERITY__
references: []
type: interface
diff --git a/spec/compiler/if/cplusplus.yml b/spec/compiler/if/cplusplus.yml
index 390cdeff..7deb19e4 100644
--- a/spec/compiler/if/cplusplus.yml
+++ b/spec/compiler/if/cplusplus.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __cplusplus
references: []
type: interface
diff --git a/spec/compiler/if/gnuc.yml b/spec/compiler/if/gnuc.yml
index f232b5e7..c9082f6b 100644
--- a/spec/compiler/if/gnuc.yml
+++ b/spec/compiler/if/gnuc.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __GNUC__
references: []
type: interface
diff --git a/spec/compiler/if/group.yml b/spec/compiler/if/group.yml
new file mode 100644
index 00000000..94f10e98
--- /dev/null
+++ b/spec/compiler/if/group.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+identifier: Compiler
+links:
+- role: requirement-refinement
+ uid: /req/external-interface
+non-functional-type: design-group
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The used compiler interfaces shall be specified.
+type: requirement
diff --git a/spec/compiler/if/stdc-version.yml b/spec/compiler/if/stdc-version.yml
index 0654b742..1a6d0f32 100644
--- a/spec/compiler/if/stdc-version.yml
+++ b/spec/compiler/if/stdc-version.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __STDC_VERSION__
references:
- identifier: https://en.cppreference.com/w/c/preprocessor/replace
diff --git a/spec/compiler/if/typeof.yml b/spec/compiler/if/typeof.yml
index 752b112b..340e0b05 100644
--- a/spec/compiler/if/typeof.yml
+++ b/spec/compiler/if/typeof.yml
@@ -5,8 +5,8 @@ enabled-by: true
index-entries: []
interface-type: unspecified
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __typeof__
references: []
type: interface
diff --git a/spec/compiler/if/user-label-prefix.yml b/spec/compiler/if/user-label-prefix.yml
index 5420ede5..a5af7267 100644
--- a/spec/compiler/if/user-label-prefix.yml
+++ b/spec/compiler/if/user-label-prefix.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: __USER_LABEL_PREFIX__
references: []
type: interface
diff --git a/spec/doc/if/config-scheduler-clustered.yml b/spec/doc/if/config-scheduler-clustered.yml
index 3a3a3dce..2e46575d 100644
--- a/spec/doc/if/config-scheduler-clustered.yml
+++ b/spec/doc/if/config-scheduler-clustered.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Clustered Scheduler Configuration
references:
- identifier: ConfigurationSchedulersClustered
diff --git a/spec/doc/if/config-scheduler-table.yml b/spec/doc/if/config-scheduler-table.yml
index c7dcb078..117171bb 100644
--- a/spec/doc/if/config-scheduler-table.yml
+++ b/spec/doc/if/config-scheduler-table.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Configuration Step 3 - Scheduler Table
references:
- identifier: ConfigurationSchedulerTable
diff --git a/spec/doc/if/config-unlimited-objects.yml b/spec/doc/if/config-unlimited-objects.yml
index 0a8d2e44..49008b6c 100644
--- a/spec/doc/if/config-unlimited-objects.yml
+++ b/spec/doc/if/config-unlimited-objects.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Unlimited Objects
references:
- identifier: ConfigUnlimitedObjects
diff --git a/spec/doc/if/group.yml b/spec/doc/if/group.yml
new file mode 100644
index 00000000..c7ae3fe8
--- /dev/null
+++ b/spec/doc/if/group.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+identifier: Compiler
+links:
+- role: requirement-refinement
+ uid: /req/external-interface
+non-functional-type: design-group
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The used documentation interfaces shall be specified.
+type: requirement
diff --git a/spec/doc/if/mp-proxies.yml b/spec/doc/if/mp-proxies.yml
index 8c74cc8d..44aa1857 100644
--- a/spec/doc/if/mp-proxies.yml
+++ b/spec/doc/if/mp-proxies.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Proxies
references:
- identifier: MPCIProxies
diff --git a/spec/doc/if/mrsp.yml b/spec/doc/if/mrsp.yml
index 16168704..938235b5 100644
--- a/spec/doc/if/mrsp.yml
+++ b/spec/doc/if/mrsp.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Multiprocessor Resource Sharing Protocol (MrsP)
references:
- identifier: MrsP
diff --git a/spec/doc/if/scheduler-cbs.yml b/spec/doc/if/scheduler-cbs.yml
index bdf910e9..e3919944 100644
--- a/spec/doc/if/scheduler-cbs.yml
+++ b/spec/doc/if/scheduler-cbs.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Constant Bandwidth Server Scheduling (CBS)
references:
- identifier: SchedulerCBS
diff --git a/spec/doc/if/scheduler-concepts.yml b/spec/doc/if/scheduler-concepts.yml
index b2e50168..713a27c3 100644
--- a/spec/doc/if/scheduler-concepts.yml
+++ b/spec/doc/if/scheduler-concepts.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Scheduling Concepts
references:
- identifier: RTEMSAPIClassicScheduler
diff --git a/spec/doc/if/scheduler-edf.yml b/spec/doc/if/scheduler-edf.yml
index 01d6e5f3..21480e46 100644
--- a/spec/doc/if/scheduler-edf.yml
+++ b/spec/doc/if/scheduler-edf.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Earliest Deadline First Scheduler
references:
- identifier: SchedulerEDF
diff --git a/spec/doc/if/scheduler-priority-simple.yml b/spec/doc/if/scheduler-priority-simple.yml
index 2e46d58d..aa1f7718 100644
--- a/spec/doc/if/scheduler-priority-simple.yml
+++ b/spec/doc/if/scheduler-priority-simple.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Simple Priority Scheduler
references:
- identifier: SchedulerPrioritySimple
diff --git a/spec/doc/if/scheduler-priority.yml b/spec/doc/if/scheduler-priority.yml
index 82a44168..9ded6a11 100644
--- a/spec/doc/if/scheduler-priority.yml
+++ b/spec/doc/if/scheduler-priority.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Deterministic Priority Scheduler
references:
- identifier: SchedulerPriority
diff --git a/spec/doc/if/scheduler-smp-edf.yml b/spec/doc/if/scheduler-smp-edf.yml
index 86ddee27..ef431f9d 100644
--- a/spec/doc/if/scheduler-smp-edf.yml
+++ b/spec/doc/if/scheduler-smp-edf.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Earliest Deadline First SMP Scheduler
references:
- identifier: SchedulerSMPEDF
diff --git a/spec/doc/if/scheduler-smp-priority-affinity.yml b/spec/doc/if/scheduler-smp-priority-affinity.yml
index eeb44bc2..b65e0271 100644
--- a/spec/doc/if/scheduler-smp-priority-affinity.yml
+++ b/spec/doc/if/scheduler-smp-priority-affinity.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Arbitrary Processor Affinity Priority SMP Scheduler
references:
- identifier: SchedulerSMPPriorityAffinity
diff --git a/spec/doc/if/scheduler-smp-priority-simple.yml b/spec/doc/if/scheduler-smp-priority-simple.yml
index ac236592..af6648ee 100644
--- a/spec/doc/if/scheduler-smp-priority-simple.yml
+++ b/spec/doc/if/scheduler-smp-priority-simple.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Simple Priority SMP Scheduler
references:
- identifier: SchedulerSMPPrioritySimple
diff --git a/spec/doc/if/scheduler-smp-priority.yml b/spec/doc/if/scheduler-smp-priority.yml
index 9fd29adc..2beb15f4 100644
--- a/spec/doc/if/scheduler-smp-priority.yml
+++ b/spec/doc/if/scheduler-smp-priority.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Deterministic Priority SMP Scheduler
references:
- identifier: SchedulerSMPPriority
diff --git a/spec/doc/if/terminate.yml b/spec/doc/if/terminate.yml
index d0dbca67..63736f4f 100644
--- a/spec/doc/if/terminate.yml
+++ b/spec/doc/if/terminate.yml
@@ -7,6 +7,8 @@ interface-type: unspecified-group
links:
- role: interface-placement
uid: domain
+- role: interface-ingroup
+ uid: group
name: Announcing a Fatal Error
references:
- identifier: Terminate
diff --git a/spec/req/external-interface.yml b/spec/req/external-interface.yml
new file mode 100644
index 00000000..fd478cdc
--- /dev/null
+++ b/spec/req/external-interface.yml
@@ -0,0 +1,14 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de
+enabled-by: true
+links:
+- role: requirement-refinement
+ uid: root
+non-functional-type: interface-requirement
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The software product shall specify used external interfaces.
+type: requirement
diff --git a/spec/spec/interface-container.yml b/spec/spec/interface-container.yml
deleted file mode 100644
index be98c68e..00000000
--- a/spec/spec/interface-container.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links:
-- role: spec-member
- uid: root
-- role: spec-refinement
- spec-key: interface-type
- spec-value: container
- uid: interface
-spec-description: null
-spec-example: null
-spec-info:
- dict:
- attributes: {}
- description: |
- Items of this type specify an interface container. The item shall have
- exactly one link with the ${interface-placement:/spec-name} to an
- ${interface-domain:/spec-name} item. This link defines the interface
- domain of the container.
- mandatory-attributes: all
-spec-name: Interface Container Item Type
-spec-type: interface-container
-type: spec
diff --git a/spec/spec/interface-domain.yml b/spec/spec/interface-domain.yml
index 143e0b8c..4653c80d 100644
--- a/spec/spec/interface-domain.yml
+++ b/spec/spec/interface-domain.yml
@@ -24,9 +24,8 @@ spec-info:
spec-type: str
description: |
This set of attributes specifies an interface domain. Items of the types
- ${interface-container:/spec-name} and ${interface-header-file:/spec-name}
- are placed into domains through links with the
- ${interface-placement:/spec-name}.
+ ${interface-header-file:/spec-name} are placed into domains through links
+ with the ${interface-placement:/spec-name}.
mandatory-attributes: all
spec-name: Interface Domain Item Type
spec-type: interface-domain
diff --git a/spec/user/if/asm.yml b/spec/user/if/asm.yml
index d3c60327..367c87c8 100644
--- a/spec/user/if/asm.yml
+++ b/spec/user/if/asm.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: ASM
references: []
type: interface
diff --git a/spec/user/if/container.yml b/spec/user/if/container.yml
deleted file mode 100644
index 6a02d235..00000000
--- a/spec/user/if/container.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-index-entries: []
-interface-type: container
-links:
-- role: interface-placement
- uid: domain
-type: interface
diff --git a/spec/user/if/false.yml b/spec/user/if/false.yml
index 0b9c2ee2..77dda8f0 100644
--- a/spec/user/if/false.yml
+++ b/spec/user/if/false.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: 'FALSE'
references: []
type: interface
diff --git a/spec/user/if/group.yml b/spec/user/if/group.yml
new file mode 100644
index 00000000..3ca40f72
--- /dev/null
+++ b/spec/user/if/group.yml
@@ -0,0 +1,15 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+identifier: Compiler
+links:
+- role: requirement-refinement
+ uid: /req/external-interface
+non-functional-type: design-group
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ The used user-provided interfaces shall be specified.
+type: requirement
diff --git a/spec/user/if/true.yml b/spec/user/if/true.yml
index 7ed93623..a37059be 100644
--- a/spec/user/if/true.yml
+++ b/spec/user/if/true.yml
@@ -3,10 +3,10 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
index-entries: []
-interface-type: unspecified
+interface-type: unspecified-define
links:
-- role: interface-placement
- uid: container
+- role: interface-ingroup
+ uid: group
name: 'TRUE'
references: []
type: interface