summaryrefslogtreecommitdiff
path: root/spec/spec/requirement-action.yml
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-06-08 08:45:01 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-06-08 08:59:20 +0200
commit1a58bbe76eba50160565d02e63a5c3a4d5424d8e (patch)
tree47ad7e535ebe1993186894c2e49709c0be136d75 /spec/spec/requirement-action.yml
parent49b564701d2c3309a4eee2eb85d24da55e7ff8a2 (diff)
spec: Generalize directive to action requirements
Diffstat (limited to 'spec/spec/requirement-action.yml')
-rw-r--r--spec/spec/requirement-action.yml100
1 files changed, 100 insertions, 0 deletions
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