diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-08 08:45:01 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-08 08:59:20 +0200 |
commit | 1a58bbe76eba50160565d02e63a5c3a4d5424d8e (patch) | |
tree | 47ad7e535ebe1993186894c2e49709c0be136d75 /spec/spec/requirement-action.yml | |
parent | 49b564701d2c3309a4eee2eb85d24da55e7ff8a2 (diff) |
spec: Generalize directive to action requirements
Diffstat (limited to 'spec/spec/requirement-action.yml')
-rw-r--r-- | spec/spec/requirement-action.yml | 100 |
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 |