From 1a58bbe76eba50160565d02e63a5c3a4d5424d8e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 8 Jun 2020 08:45:01 +0200 Subject: spec: Generalize directive to action requirements --- spec/spec/interface-function-role.yml | 2 +- spec/spec/requirement-action-condition-list.yml | 16 ++++ spec/spec/requirement-action-condition.yml | 40 +++++++++ spec/spec/requirement-action-name.yml | 23 +++++ spec/spec/requirement-action-state-list.yml | 16 ++++ spec/spec/requirement-action-state.yml | 32 +++++++ spec/spec/requirement-action-test-context-list.yml | 16 ++++ spec/spec/requirement-action-test-context.yml | 32 +++++++ spec/spec/requirement-action-test-fixture.yml | 33 +++++++ spec/spec/requirement-action-transition-list.yml | 16 ++++ spec/spec/requirement-action-transition-post.yml | 27 ++++++ .../requirement-action-transition-pre-states.yml | 23 +++++ spec/spec/requirement-action-transition-pre.yml | 27 ++++++ spec/spec/requirement-action-transition.yml | 33 +++++++ spec/spec/requirement-action.yml | 100 +++++++++++++++++++++ spec/spec/requirement-directive-condition-list.yml | 16 ---- spec/spec/requirement-directive-condition.yml | 37 -------- spec/spec/requirement-directive-name.yml | 23 ----- spec/spec/requirement-directive-state-list.yml | 16 ---- spec/spec/requirement-directive-state.yml | 31 ------- .../requirement-directive-test-context-list.yml | 16 ---- spec/spec/requirement-directive-test-context.yml | 33 ------- spec/spec/requirement-directive-test-fixture.yml | 34 ------- .../spec/requirement-directive-transition-list.yml | 16 ---- .../spec/requirement-directive-transition-post.yml | 27 ------ ...requirement-directive-transition-pre-states.yml | 23 ----- spec/spec/requirement-directive-transition-pre.yml | 27 ------ spec/spec/requirement-directive-transition.yml | 33 ------- spec/spec/requirement-directive.yml | 93 ------------------- 29 files changed, 435 insertions(+), 426 deletions(-) create mode 100644 spec/spec/requirement-action-condition-list.yml create mode 100644 spec/spec/requirement-action-condition.yml create mode 100644 spec/spec/requirement-action-name.yml create mode 100644 spec/spec/requirement-action-state-list.yml create mode 100644 spec/spec/requirement-action-state.yml create mode 100644 spec/spec/requirement-action-test-context-list.yml create mode 100644 spec/spec/requirement-action-test-context.yml create mode 100644 spec/spec/requirement-action-test-fixture.yml create mode 100644 spec/spec/requirement-action-transition-list.yml create mode 100644 spec/spec/requirement-action-transition-post.yml create mode 100644 spec/spec/requirement-action-transition-pre-states.yml create mode 100644 spec/spec/requirement-action-transition-pre.yml create mode 100644 spec/spec/requirement-action-transition.yml create mode 100644 spec/spec/requirement-action.yml delete mode 100644 spec/spec/requirement-directive-condition-list.yml delete mode 100644 spec/spec/requirement-directive-condition.yml delete mode 100644 spec/spec/requirement-directive-name.yml delete mode 100644 spec/spec/requirement-directive-state-list.yml delete mode 100644 spec/spec/requirement-directive-state.yml delete mode 100644 spec/spec/requirement-directive-test-context-list.yml delete mode 100644 spec/spec/requirement-directive-test-context.yml delete mode 100644 spec/spec/requirement-directive-test-fixture.yml delete mode 100644 spec/spec/requirement-directive-transition-list.yml delete mode 100644 spec/spec/requirement-directive-transition-post.yml delete mode 100644 spec/spec/requirement-directive-transition-pre-states.yml delete mode 100644 spec/spec/requirement-directive-transition-pre.yml delete mode 100644 spec/spec/requirement-directive-transition.yml delete mode 100644 spec/spec/requirement-directive.yml (limited to 'spec/spec') diff --git a/spec/spec/interface-function-role.yml b/spec/spec/interface-function-role.yml index 052a898a..bff51fad 100644 --- a/spec/spec/interface-function-role.yml +++ b/spec/spec/interface-function-role.yml @@ -16,7 +16,7 @@ spec-info: attributes: {} description: | It defines the interface function role of links. It is used to indicate - that a ${requirement-directive:/spec-name} item specifies functional + that a ${requirement-action:/spec-name} item specifies functional requirements of an ${interface-function:/spec-name} or a ${interface-macro:/spec-name} item. mandatory-attributes: all diff --git a/spec/spec/requirement-action-condition-list.yml b/spec/spec/requirement-action-condition-list.yml new file mode 100644 index 00000000..4d0ba479 --- /dev/null +++ b/spec/spec/requirement-action-condition-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: requirement-action-condition +spec-name: Action Requirement Condition List +spec-type: requirement-action-condition-list +type: spec diff --git a/spec/spec/requirement-action-condition.yml b/spec/spec/requirement-action-condition.yml new file mode 100644 index 00000000..36fc34cb --- /dev/null +++ b/spec/spec/requirement-action-condition.yml @@ -0,0 +1,40 @@ +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: + name: + description: null + spec-type: requirement-action-name + states: + description: null + spec-type: requirement-action-state-list + test-epilogue: + description: | + If the value is present, then it shall be the test epilogue code. + The epilogue code is placed in the test condition preparation or + check before the state-specific code. The code may use a local + variable ``ctx`` which points to the test context, see + ${requirement-action-test-context:/spec-name}. + spec-type: optional-str + test-prologue: + description: | + If the value is present, then it shall be the test prologue code. + The prologue code is placed in the test condition preparation or + check after the state-specific code. The code may use a local + variable ``ctx`` which points to the test context, see + ${requirement-action-test-context:/spec-name}. + spec-type: optional-str + description: | + This set of attributes defines an action pre-condition or post-condition. + mandatory-attributes: all +spec-name: Action Requirement Condition +spec-type: requirement-action-condition +type: spec diff --git a/spec/spec/requirement-action-name.yml b/spec/spec/requirement-action-name.yml new file mode 100644 index 00000000..62ce8b3a --- /dev/null +++ b/spec/spec/requirement-action-name.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: + - re: ^[A-Z][a-zA-Z0-9]+$ + description: | + It shall be the name of a condition or a state of a condition used to + define pre-conditions and post-conditions of an action requirement. It + shall be formatted in CamelCase. It should be brief and abbreviated. + The rationale for this is that the names are used in tables and the + horizontal space is limited by the page width. The more conditions you + have in an action requirement, the shorter the names should be. +spec-name: Action Requirement Name +spec-type: requirement-action-name +type: spec diff --git a/spec/spec/requirement-action-state-list.yml b/spec/spec/requirement-action-state-list.yml new file mode 100644 index 00000000..7ce67fac --- /dev/null +++ b/spec/spec/requirement-action-state-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: requirement-action-state +spec-name: Action Requirement State List +spec-type: requirement-action-state-list +type: spec diff --git a/spec/spec/requirement-action-state.yml b/spec/spec/requirement-action-state.yml new file mode 100644 index 00000000..8b1e55ba --- /dev/null +++ b/spec/spec/requirement-action-state.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: spec-member + uid: root +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + name: + description: null + spec-type: requirement-action-name + test-code: + description: | + It shall be the test code to prepare or check the state of the + condition. The code may use a local variable ``ctx`` which points to + the test context, see ${requirement-action-test-context:/spec-name}. + spec-type: str + text: + description: | + It shall define the state of the condition. + spec-type: requirement-text + description: | + This set of attributes defines an action pre-condition or post-condition + state. + mandatory-attributes: all +spec-name: Action Requirement State +spec-type: requirement-action-state +type: spec diff --git a/spec/spec/requirement-action-test-context-list.yml b/spec/spec/requirement-action-test-context-list.yml new file mode 100644 index 00000000..ae9e0866 --- /dev/null +++ b/spec/spec/requirement-action-test-context-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: requirement-action-test-context +spec-name: Action Requirement Test Context List +spec-type: requirement-action-test-context-list +type: spec diff --git a/spec/spec/requirement-action-test-context.yml b/spec/spec/requirement-action-test-context.yml new file mode 100644 index 00000000..b5ef3838 --- /dev/null +++ b/spec/spec/requirement-action-test-context.yml @@ -0,0 +1,32 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: spec-member + uid: root +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + brief: + description: | + It shall be the test context member brief description. + spec-type: optional-str + description: + description: | + It shall be the test context member description. + spec-type: optional-str + member: + description: | + It shall be the test context member definition. It shall be a valid + C structure member definition without a trailing ``;``. + spec-type: str + description: | + This set of attributes defines an action requirement test context member. + mandatory-attributes: all + none: null +spec-name: Action Requirement Test Context Member +spec-type: requirement-action-test-context +type: spec diff --git a/spec/spec/requirement-action-test-fixture.yml b/spec/spec/requirement-action-test-fixture.yml new file mode 100644 index 00000000..15b7c5dc --- /dev/null +++ b/spec/spec/requirement-action-test-fixture.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: spec-member + uid: root +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + brief: + description: | + It shall be the test fixture method brief description. + spec-type: optional-str + code: + description: | + It shall be the test fixture method code. The code may use a local + variable ``ctx`` which points to the test context, see + ${requirement-action-test-context:/spec-name}. + spec-type: str + description: + description: | + It shall be the test fixture method description. + spec-type: optional-str + description: | + This set of attributes defines an action requirement test fixture method. + mandatory-attributes: all + none: null +spec-name: Action Requirement Test Fixture Method +spec-type: requirement-action-test-fixture +type: spec diff --git a/spec/spec/requirement-action-transition-list.yml b/spec/spec/requirement-action-transition-list.yml new file mode 100644 index 00000000..c44a98f1 --- /dev/null +++ b/spec/spec/requirement-action-transition-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: requirement-action-transition +spec-name: Action Requirement Transition List +spec-type: requirement-action-transition-list +type: spec diff --git a/spec/spec/requirement-action-transition-post.yml b/spec/spec/requirement-action-transition-post.yml new file mode 100644 index 00000000..7fca2f11 --- /dev/null +++ b/spec/spec/requirement-action-transition-post.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 +spec-description: null +spec-example: null +spec-info: + dict: + attributes: {} + description: | + This set of attributes defines for each post-condition the state after + the action for a transition in an action requirement. + generic-attributes: + description: | + There shall be exactly one generic attribute key for each + post-condition. The key name shall be the post-condition name. The + value of each generic attribute shall be the state of the + post-condition. + key-spec-type: requirement-action-name + value-spec-type: requirement-action-name + mandatory-attributes: all +spec-name: Action Requirement Transition Post-Conditions +spec-type: requirement-action-transition-post +type: spec diff --git a/spec/spec/requirement-action-transition-pre-states.yml b/spec/spec/requirement-action-transition-pre-states.yml new file mode 100644 index 00000000..4c55c872 --- /dev/null +++ b/spec/spec/requirement-action-transition-pre-states.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: + list: + description: | + The list defines the set of states of the pre-condition in the + transition. + spec-type: requirement-action-name + str: + assert: + eq: all + description: | + The value represents all states of the pre-condition in the transition. +spec-name: Action Requirement Transition Pre-Condition State Set +spec-type: requirement-action-transition-pre-states +type: spec diff --git a/spec/spec/requirement-action-transition-pre.yml b/spec/spec/requirement-action-transition-pre.yml new file mode 100644 index 00000000..0da85c42 --- /dev/null +++ b/spec/spec/requirement-action-transition-pre.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 +spec-description: null +spec-example: null +spec-info: + dict: + attributes: {} + description: | + This set of attributes defines for each pre-condition the set of states + before the action for a transition in an actin requirement. + generic-attributes: + description: | + There shall be exactly one generic attribute key for each + pre-condition. The key name shall be the pre-condition name. The + value of each generic attribute shall be a set of states of the + pre-condition. + key-spec-type: requirement-action-name + value-spec-type: requirement-action-transition-pre-states + mandatory-attributes: all +spec-name: Action Requirement Transition Pre-Conditions +spec-type: requirement-action-transition-pre +type: spec diff --git a/spec/spec/requirement-action-transition.yml b/spec/spec/requirement-action-transition.yml new file mode 100644 index 00000000..45484566 --- /dev/null +++ b/spec/spec/requirement-action-transition.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: spec-member + uid: root +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + enabled-by: + description: | + The transition map may be customized to support configuration + variants through this attribute. The default transitions + (``enabled-by: true``) shall be specified before the customized + variants in the list. + spec-type: enabled-by + post-conditions: + description: null + spec-type: requirement-action-transition-post + pre-conditions: + description: null + spec-type: requirement-action-transition-pre + description: | + This set of attributes defines the transition from all state variations + of the set of pre-conditions to states of post-conditions through an + action in an action requirement. + mandatory-attributes: all +spec-name: Action Requirement Transition +spec-type: requirement-action-transition +type: spec diff --git a/spec/spec/requirement-action.yml b/spec/spec/requirement-action.yml new file mode 100644 index 00000000..85d027d0 --- /dev/null +++ b/spec/spec/requirement-action.yml @@ -0,0 +1,100 @@ +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: functional-type + spec-value: action + uid: requirement-functional +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + post-conditions: + description: null + spec-type: requirement-action-condition-list + pre-conditions: + description: null + spec-type: requirement-action-condition-list + test-action: + description: | + It shall be the test action code. + spec-type: str + test-brief: + description: | + If the value is present, then it shall be the test case brief + description. + spec-type: optional-str + test-context: + description: null + spec-type: requirement-action-test-context-list + test-description: + description: | + If the value is present, then it shall be the test case description. + spec-type: optional-str + test-includes: + description: | + It shall be a list of header files included via ``#include <...>``. + spec-type: list-str + test-local-includes: + description: | + It shall be a list of header files included via ``#include "..."``. + spec-type: list-str + test-name: + description: null + spec-type: test-name + test-setup: + description: null + spec-type: requirement-action-test-fixture + test-stop: + description: null + spec-type: requirement-action-test-fixture + test-support: + description: | + If the value is present, then it shall be the test case support code. + The support code is placed at file scope before the test case code. + spec-type: optional-str + test-target: + description: | + It shall be the path to the generated target test case source file. + spec-type: str + test-teardown: + description: null + spec-type: requirement-action-test-fixture + transition-map: + description: null + spec-type: requirement-action-transition-list + description: | + This set of attributes specifies functional requirements and + corresponding validation test code. The functional requirements of an + action are specified. An action performs a step in a finite state + machine. An action is implemented through a function or a macro. The + action is performed through a call of the function or an execution of the + code of an macro expansion by an actor. The actor is for example a task + or an interrupt service routine. + + There shall be exactly one link with the + ${interface-function-role:/spec-name} to the interface of the action. + + The action requirements are specified by + + * a list of pre-conditions, each with a set of states, + + * a list of post-conditions, each with a set of states, + + * the transition of pre-condition states to post-condition states through + the action. + + Along with the requirements, the test code to generate a validation test + is specified. For an action requirement it is verified that all + variations of pre-condition states have a set of post-condition states + specified in the transition map. All transitions are covered by the + generated test code. + mandatory-attributes: all +spec-name: Action Requirement Item Type +spec-type: requirement-action +type: spec diff --git a/spec/spec/requirement-directive-condition-list.yml b/spec/spec/requirement-directive-condition-list.yml deleted file mode 100644 index b9672337..00000000 --- a/spec/spec/requirement-directive-condition-list.yml +++ /dev/null @@ -1,16 +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 -spec-description: null -spec-example: null -spec-info: - list: - description: null - spec-type: requirement-directive-condition -spec-name: Directive Requirement Condition List -spec-type: requirement-directive-condition-list -type: spec diff --git a/spec/spec/requirement-directive-condition.yml b/spec/spec/requirement-directive-condition.yml deleted file mode 100644 index 10a35b2e..00000000 --- a/spec/spec/requirement-directive-condition.yml +++ /dev/null @@ -1,37 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - name: - description: null - spec-type: requirement-directive-name - states: - description: null - spec-type: requirement-directive-state-list - test-epilogue: - description: | - If the value is present, then it shall be the test epilogue code. - The epilogue code is placed in the test condition preparation or - check before the state-specific code. - spec-type: optional-str - test-prologue: - description: | - If the value is present, then it shall be the test prologue code. - The prologue code is placed in the test condition preparation or - check after the state-specific code. - spec-type: optional-str - description: | - This set of attributes defines a directive pre-condition or - post-condition. - mandatory-attributes: all -spec-name: Directive Requirement Condition -spec-type: requirement-directive-condition -type: spec diff --git a/spec/spec/requirement-directive-name.yml b/spec/spec/requirement-directive-name.yml deleted file mode 100644 index a09f184b..00000000 --- a/spec/spec/requirement-directive-name.yml +++ /dev/null @@ -1,23 +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 -spec-description: null -spec-example: null -spec-info: - str: - assert: - - re: ^[A-Z][a-zA-Z0-9]+$ - description: | - It shall be the name of a condition or a state of a condition used to - define pre-conditions and post-conditions of a directive requirement. It - shall be formatted in CamelCase. It should be brief and abbreviated. - The rationale for this is that the names are used in tables and the - horizontal space is limited by the page width. The more conditions you - have in a directive requirement, the shorter the names should be. -spec-name: Directive Requirement Name -spec-type: requirement-directive-name -type: spec diff --git a/spec/spec/requirement-directive-state-list.yml b/spec/spec/requirement-directive-state-list.yml deleted file mode 100644 index 516833e0..00000000 --- a/spec/spec/requirement-directive-state-list.yml +++ /dev/null @@ -1,16 +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 -spec-description: null -spec-example: null -spec-info: - list: - description: null - spec-type: requirement-directive-state -spec-name: Directive Requirement State List -spec-type: requirement-directive-state-list -type: spec diff --git a/spec/spec/requirement-directive-state.yml b/spec/spec/requirement-directive-state.yml deleted file mode 100644 index 3cc00a67..00000000 --- a/spec/spec/requirement-directive-state.yml +++ /dev/null @@ -1,31 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - name: - description: null - spec-type: requirement-directive-name - test-code: - description: | - It shall be the test code to prepare or check the state of the - condition. - spec-type: str - text: - description: | - It shall define the state of the condition. - spec-type: requirement-text - description: | - This set of attributes defines a directive pre-condition or - post-condition state. - mandatory-attributes: all -spec-name: Directive Requirement State -spec-type: requirement-directive-state -type: spec diff --git a/spec/spec/requirement-directive-test-context-list.yml b/spec/spec/requirement-directive-test-context-list.yml deleted file mode 100644 index afada65e..00000000 --- a/spec/spec/requirement-directive-test-context-list.yml +++ /dev/null @@ -1,16 +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 -spec-description: null -spec-example: null -spec-info: - list: - description: null - spec-type: requirement-directive-test-context -spec-name: Directive Requirement Test Context List -spec-type: requirement-directive-test-context-list -type: spec diff --git a/spec/spec/requirement-directive-test-context.yml b/spec/spec/requirement-directive-test-context.yml deleted file mode 100644 index ae408ae7..00000000 --- a/spec/spec/requirement-directive-test-context.yml +++ /dev/null @@ -1,33 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - brief: - description: | - It shall be the test context member brief description. - spec-type: optional-str - description: - description: | - It shall be the test context member description. - spec-type: optional-str - member: - description: | - It shall be the test context member definition. It shall be a valid - C structure member definition without a trailing ``;``. - spec-type: str - description: | - This set of attributes defines a directive requirement test context - member. - mandatory-attributes: all - none: null -spec-name: Directive Requirement Test Context Member -spec-type: requirement-directive-test-context -type: spec diff --git a/spec/spec/requirement-directive-test-fixture.yml b/spec/spec/requirement-directive-test-fixture.yml deleted file mode 100644 index 84338e2b..00000000 --- a/spec/spec/requirement-directive-test-fixture.yml +++ /dev/null @@ -1,34 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - brief: - description: | - It shall be the test fixture method brief description. - spec-type: optional-str - code: - description: | - It shall be the test fixture method code. The code may use a local - variable ``ctx`` which points to the test context, see - ${requirement-directive-test-context:/spec-name}. - spec-type: str - description: - description: | - It shall be the test fixture method description. - spec-type: optional-str - description: | - This set of attributes defines a directive requirement test fixture - method. - mandatory-attributes: all - none: null -spec-name: Directive Requirement Test Fixture Method -spec-type: requirement-directive-test-fixture -type: spec diff --git a/spec/spec/requirement-directive-transition-list.yml b/spec/spec/requirement-directive-transition-list.yml deleted file mode 100644 index 5f62bc19..00000000 --- a/spec/spec/requirement-directive-transition-list.yml +++ /dev/null @@ -1,16 +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 -spec-description: null -spec-example: null -spec-info: - list: - description: null - spec-type: requirement-directive-transition -spec-name: Directive Requirement Transition List -spec-type: requirement-directive-transition-list -type: spec diff --git a/spec/spec/requirement-directive-transition-post.yml b/spec/spec/requirement-directive-transition-post.yml deleted file mode 100644 index 1f56b74e..00000000 --- a/spec/spec/requirement-directive-transition-post.yml +++ /dev/null @@ -1,27 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: {} - description: | - This set of attributes defines for each post-condition the state after - the directive call for a transition in a directive requirement. - generic-attributes: - description: | - There shall be exactly one generic attribute key for each - post-condition. The key name shall be the post-condition name. The - value of each generic attribute shall be the state of the - post-condition. - key-spec-type: requirement-directive-name - value-spec-type: requirement-directive-name - mandatory-attributes: all -spec-name: Directive Requirement Transition Post-Conditions -spec-type: requirement-directive-transition-post -type: spec diff --git a/spec/spec/requirement-directive-transition-pre-states.yml b/spec/spec/requirement-directive-transition-pre-states.yml deleted file mode 100644 index 32766365..00000000 --- a/spec/spec/requirement-directive-transition-pre-states.yml +++ /dev/null @@ -1,23 +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 -spec-description: null -spec-example: null -spec-info: - list: - description: | - The list defines the set of states of the pre-condition in the - transition. - spec-type: requirement-directive-name - str: - assert: - eq: all - description: | - The value represents all states of the pre-condition in the transition. -spec-name: Directive Requirement Transition Pre-Condition State Set -spec-type: requirement-directive-transition-pre-states -type: spec diff --git a/spec/spec/requirement-directive-transition-pre.yml b/spec/spec/requirement-directive-transition-pre.yml deleted file mode 100644 index 187a89c7..00000000 --- a/spec/spec/requirement-directive-transition-pre.yml +++ /dev/null @@ -1,27 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: {} - description: | - This set of attributes defines for each pre-condition the set of states - before the directive call for a transition in a directive requirement. - generic-attributes: - description: | - There shall be exactly one generic attribute key for each - pre-condition. The key name shall be the pre-condition name. The - value of each generic attribute shall be a set of states of the - pre-condition. - key-spec-type: requirement-directive-name - value-spec-type: requirement-directive-transition-pre-states - mandatory-attributes: all -spec-name: Directive Requirement Transition Pre-Conditions -spec-type: requirement-directive-transition-pre -type: spec diff --git a/spec/spec/requirement-directive-transition.yml b/spec/spec/requirement-directive-transition.yml deleted file mode 100644 index aa5ac6e9..00000000 --- a/spec/spec/requirement-directive-transition.yml +++ /dev/null @@ -1,33 +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 -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - enabled-by: - description: | - The transition map may be customized to support configuration - variants through this attribute. The default transitions - (``enabled-by: true``) shall be specified before the customized - variants in the list. - spec-type: enabled-by - post-conditions: - description: null - spec-type: requirement-directive-transition-post - pre-conditions: - description: null - spec-type: requirement-directive-transition-pre - description: | - This set of attributes defines the transition from a set of - pre-conditions to post-conditions through a directive call in a directive - requirement. - mandatory-attributes: all -spec-name: Directive Requirement Transition -spec-type: requirement-directive-transition -type: spec diff --git a/spec/spec/requirement-directive.yml b/spec/spec/requirement-directive.yml deleted file mode 100644 index 1c1abcc2..00000000 --- a/spec/spec/requirement-directive.yml +++ /dev/null @@ -1,93 +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: functional-type - spec-value: directive - uid: requirement-functional -spec-description: null -spec-example: null -spec-info: - dict: - attributes: - post-conditions: - description: null - spec-type: requirement-directive-condition-list - pre-conditions: - description: null - spec-type: requirement-directive-condition-list - test-action: - description: | - It shall be the test action code. - spec-type: str - test-brief: - description: | - If the value is present, then it shall be the test case brief - description. - spec-type: optional-str - test-context: - description: null - spec-type: requirement-directive-test-context-list - test-description: - description: | - If the value is present, then it shall be the test case description. - spec-type: optional-str - test-includes: - description: | - It shall be a list of header files included via ``#include <...>``. - spec-type: list-str - test-local-includes: - description: | - It shall be a list of header files included via ``#include "..."``. - spec-type: list-str - test-name: - description: null - spec-type: test-name - test-setup: - description: null - spec-type: requirement-directive-test-fixture - test-stop: - description: null - spec-type: requirement-directive-test-fixture - test-support: - description: | - If the value is present, then it shall be the test case support code. - The support code is placed at file scope before the test case code. - spec-type: optional-str - test-target: - description: | - It shall be the path to the generated target test case source file. - spec-type: str - test-teardown: - description: null - spec-type: requirement-directive-test-fixture - transition-map: - description: null - spec-type: requirement-directive-transition-list - description: | - This set of attributes specifies functional requirements and - corresponding validation tests for a directive. A directive is a - function or a macro. There shall be exactly one link with the - ${interface-function-role:/spec-name} to the interface of the directive. - The directive requirement specifies - - * a list of pre-conditions, each with a set of states, - - * a list of post-conditions, each with a set of states, - - * the transition of pre-condition states to post-condition states through - a call of the directive, and - - * the test code to generate a validation test. - - For a directive requirement it is verified that all variations of - pre-condition states have a set of post-condition states specified in the - transition map. - mandatory-attributes: all -spec-name: Directive Requirement Item Type -spec-type: requirement-directive -type: spec -- cgit v1.2.3