diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-09-02 07:40:52 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-09-02 10:50:11 +0200 |
commit | 51a30258f70d9cfe4780c45815962a9debf945b5 (patch) | |
tree | 87cfcd84d43a27350bf44b4e9fa2a4ffaad66100 | |
parent | spec: Add C interfaces to a group (diff) | |
download | rtems-central-51a30258f70d9cfe4780c45815962a9debf945b5.tar.bz2 |
spec: Add external interfaces to a group
Remove interface container item type.
57 files changed, 202 insertions, 139 deletions
@@ -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 |