Dim

Command Line Interface

Information

[requirement] Dim_CLI_help   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall provide a command line switch to print the command line usage.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb

[requirement] Dim_CLI_license   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall provide a command line switch to print the license.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb

[requirement] Dim_CLI_version   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall provide a command line switch to print the version.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/ver.rb

Errors

[requirement] Dim_CLI_exit   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

On any invalid or missing command line arguments, Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb

Syntax

[information] Dim_Syntax_overview   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Tags: - | Upstream Tags: -

The following chapter describes each attribute of the different file types. For a complete overview with additional information please refer to the user documentation.

Upstream References: -
Downstream References: -

[requirement] Dim_Syntax_YAML   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

All input files shall be in YAML format.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_Syntax_InvalidChars   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Invalid characters (according to YAML standard) and in addition non-breaking spaces in requirements files shall be exchanged on-the-fly during loading by a YAML compatible replacement.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_Syntax_Values   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

All literal values (not arrays or hashes) shall be interpreted as strings even if they would be integers or booleans in standard YAML syntax, e.g. 123 shall be interpreted as "123".

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/psych.rb

[requirement] Dim_Syntax_utf8   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

All files shall be compatible to UTF-8.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

Requirements Files

[requirement] Dim_ReqFiles_document   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements file shall have a "document" name attribute.
Allowed values: any non-unique, non-empty string. The same name shall be usable in different files.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_MissingDocument   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If the document name is missing in the requirements file, an error shall be raised.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ReqFiles_enclosed   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements file shall have an optional "enclosed" attribute which specifies files which are needed for the requirements, e.g. images.
Allowed values: a string or an array of strings. The strings must point to existing files and specified with relative paths without "..".
Default value: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_metadata   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements file shall have an optional "metadata" attribute which consists of any user specific string, e.g. the origin of the requirements document, history or version.
Allowed values: any string
Default value: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_id   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements file shall have zero or more requirements objects. These objects shall have strings as ID.
Allowed values for IDs: any string without the letter ","
Default value for IDs: n/a, must be specified explicitly

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

Regular Form

[requirement] Dim_ReqFiles_regularYaml   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

In the regular form, the ID shall be a key of a collection of key/values pairs of strings.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_type   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "type" attribute.
Allowed values: "requirement", "information" and "heading_0" to "heading_100"
Default: "requirement"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_text   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "text" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_verificationCriteria   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "verification_criteria" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_feature   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "feature" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_changeRequest   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "change_request" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_tags   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "tags" attribute.
Allowed values: comma separated list of strings
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_asil   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "asil" attribute.
Allowed values: "not_set", "QM", "QM(A)", ... , "ASIL_D(D)"
Default: "not_set"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: Dim_PropFiles_Property
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_calString   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "cal" attribute.
Allowed values: "QM", "CAL_1", "CAL_2", "CAL_3", "CAL_4"
Default: "not_set"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: Dim_PropFiles_Property
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_developer   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "developer" attribute.
Allowed values: any string,
Default resolution:
- originator from the config file, if
       - type is "requirement" and
       - category is neither "input" nor "unspecified"
- "" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_tester   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "tester" attribute.
Allowed values: any string
Default resolution: if
- originator from the config file if
       - type is "requirement" and
       - "process" is not in tags and
       - category is neither "input" nor "unspecified"
- "" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_testSetups   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "test_setups" attribute.
Allowed values: one or more of "none", "off_target", "on_target", "manual"
If test_setups is missing, it is resolved to:
- "none" if
       - type is not "requirement" or
       - "process" is in tags or
       - category is "input" or "unspecified"
- "off_target" if
       - category is "module" or
       - tags include "tool"
- "on_target" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_verificationMethods   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement object shall have an optional 'verification_methods' attribute.
Allowed values: one or more of "none", "off_target", "on_target", "manual"
If verification_methods is missing, it is resolved to:
- "none" if
       - type is not "requirement" or
       - "process" is in tags or
       - category is "input" or "unspecified"
- "off_target" if
       - category is "module" or
       - tags include "tool"
- "on_target" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb lib/dim/loader.rb lib/dim/consistency.rb

[requirement] Dim_ReqFiles_verificationMethods_backward   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

"verification_methods" replaces "test_setups".
For backward compatibility, the requirements file can include both "test_setups" and "verification_methods".
During loading, Dim shall merge values from both attributes.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb lib/dim/consistency.rb lib/dim/loader.rb

[requirement] Dim_ReqFiles_status   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "status" attribute.
Allowed values: one of "valid", "draft", "invalid"
If status is missing, it is resolved to:
- "draft" if type is "requirement" or "information"
- "valid" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_reviewStatus   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "review_status" attribute.
Allowed values: one of "accepted", "unclear", "rejected", "not_reviewed", "not_relevant"
If review_status is missing, it is resolved to:
- "not_reviewed" if category is "input" or "unspecified"
- "accepted" otherwise

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_ReqFiles_comment   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "comment" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_miscellaneous   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "miscellaneous" attribute.
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_sources   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "sources" attribute.
Allowed values: comma separated string list
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_refs   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional "refs" attribute.
Allowed values: a string with comma separated IDs, which must exist.
A requirement object is also allowed to have reference within
different categories and circular dependency can only occur in the
same category level.
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_language   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall have an optional language attributes for "text", "verification_criteria" and "comment".
The naming scheme of these attributes shall be "<key>_<language>", e.g. "text_german".
Allowed values: any string
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

Short Form

[requirement] Dim_ReqFiles_shortYaml   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

In the short form, the ID shall be the key of a key/value pair of strings.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_shortHeadingForm   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If a requirement object has a heading type and only text, it shall be writable in one line for convenience. The value shall include the heading level and the heading text.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

[requirement] Dim_ReqFiles_shortInfoForm   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If a requirement object has type "information" and only text, it shall be writable in one line for convenience. The value shall include the information type and the text.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb, lib/dim/loader.rb

Config Files

[requirement] Dim_ConfigFiles_Config   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config file shall have exactly one "Config" attribute which consists of an array of config entries.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_Files   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config entry shall have exactly one "files" entry.
Allowed values: a string or an array of strings of requirements files. The files must be specified with relative paths but without "..". Ruby glob pattern are allowed, e.g. "**", "*" and "?".
If a filename is specified more than once, an error shall be thrown.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_Originator   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config entry shall have exactly one "originator" entry.
Allowed values: any non-empty string

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_Category   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config entry shall have exactly one "category" entry.
Allowed values: one of "input", "software", "architecture", "module", "system"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_Property   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config file shall have an optional "Property" attribute.
Allowed values: a string which points to an existing properties file.
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_Attribute   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config file shall have an optional "Attributes" field.
Allowed values: a string which points to an existing attribute file.
Default: ""

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_disableNameCheck   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A config file shall have an optional "disable_naming_convention_check" field a config entry.
Allowed values: "yes" and "no"
Default: "no"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_ConfigFiles_SRS   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If the category for a config entry is "software" and "disable_naming_convention_check" value is not set to "yes", Dim shall check for ID naming conventions. An ID must start with "SRS_" and must be named in SRS_<feature>_<aspect> fashion including the two underscores. The document name must start with "SRS_" and must be named in SRS_<feature> fashion including the underscore. <feature> and <aspect> must be non empty strings with only alphanumeric characters along with hyphen allowed. If this naming convention is not met, Dim shall throw a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

Properties File

[requirement] Dim_PropFiles_Property   Status: valid

Asil: QM | Cal: QM | Upstream Asil: QM | Upstream Cal: QM
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: covered, tested, tool

A properties file shall define default values for attributes of requirement elements which are not explicitly set.
The values shall be structured in the properties file using the document name as a key, and the attributes with their respective default values, like this:
"document {'status': 'valid', 'asil': 'ASIL_B', 'text': 'default text'}"

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: Dim_ReqFiles_asil, Dim_ReqFiles_calString
Downstream References: -
Sources: lib/dim/loader.rb, lib/dim/consistency.rb

[requirement] Dim_AttrFiles_CmdParam   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall be able to accept the attributes file using a command line argument. If the config file includes the reference to custom attributes and another attributes file is loaded using command line argument, then Dim shall load the attributes from both files for processing requirements. In case these attribute files contains duplicate attributes, then attributes referenced from the config file shall be given priority.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_AttributeLoading_UnitTests   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

When the attributes file is referenced in Config file or passed using the command line argument, Dim shall validate the configuration for custom attributes and load them for processing the requirements.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/helpers/attributes_helper.rb

[requirement] Dim_AttrFiles_Attribute   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

An attributes file shall accept custom attributes for Dim.
The values shall be structured in the attributes file using the attribute name as a key, and the values for those attributes, like this:
"color: {type: single, default: red, allowed: [red, green]}"
type - defines the format type how the attribute is interpreted and exported to RST
default - specifies the default value
allowed - specifies list of allowed values

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_AttrFiles_SearchAttributeFile   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If a single requirements file is loaded, then Dim shall automatically search for "attributes.dim" file recursively in parent directory till root directory is reached. This does not apply if a config file is loaded instead of single requirements file.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

Loading Files

Reading Data

[requirement] Dim_loading_readGood   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall read the files specified on command line and in the config file. The data shall be made available to subcommands.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_loading_enclosedCheck   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall skip the enclosed file check when "--no-check-enclosed" flag is passed.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: /lib/dim/loader.rb

[requirement] Dim_loading_readBad   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If any error occurs during loading the config, property or requirements files, Dim shall print a meaningful error message and exit with exit code != 0. Errors can occur due to file access issues like missing files or the files have invalid syntax.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb, lib/dim/ext/psych.rb

Consistency Checks

[requirement] Dim_loading_checkCyclic   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Requirements can reference other requirements which can reference again other requirements in same category level. In case of a cyclic reference, Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/consistency.rb

[requirement] Dim_loading_checkMissing   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If a reference cannot be resolved, which means the ID does not exist, Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/consistency.rb

[requirement] Dim_loading_checkMissingDisable   Status: valid

Asil: QM | Cal: QM | Upstream Asil: QM | Upstream Cal: QM
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: covered, tested, tool

The command line interface of Dim shall provide an option to disable this unresolved-references-check, which means Dim shall neither complain about missing references nor exit Dim.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: Dim_api_existingRefs
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/consistency.rb

[requirement] Dim_loading_checkDocument   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If several files share the same document name, the originator and the category must be the same for all of these files. If not, Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_loading_document   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall support "module" as alias for "document". If "module" is specified, "document" shall be set to the value of "module". If both are specified, an error shall be raised.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/export.rb

[requirement] Dim_loading_checkMetadata   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

If several files share the same document name, "metadata" must not be defined more than once. Otherwise Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

[requirement] Dim_loading_checkID   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Requirement IDs shall be unique over all files. If the same ID is used for more than one requirement, Dim shall print a meaningful error message and exit with exit code != 0.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/psych.rb

Subcommands

check

[requirement] Dim_check_General   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The command line interface of Dim shall provide a "check" subcommand which loads the input files and executes consistency checks.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/check.rb

stats

[requirement] Dim_stats_General   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The command line interface of Dim shall provide a "stats" subcommand which prints basic metrics to the console. The metrics shall be printed for every loaded document and a summary over all documents.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/stats.rb

[requirement] Dim_stats_Details   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The metrics shall include at least:
- Number of total elements
- Number of requirements
- Number of valid requirements split by review status

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/stats.rb

format

[requirement] Dim_format_general   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The command line interface of Dim shall provide a "format" subcommand which formats the loaded requirements files. Missing references are allowed by default while formatting.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_whitespaces   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The formatter shall adapt the whitespaces in a predefined style.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_order   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The formatter shall arrange the attributes in a predefined order.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_form   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The formatter shall change requirements from regular to short form if possible.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_default   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The formatter shall not remove any attributes, even if the default value is specified.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_duplicated   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The formatter shall remove duplicate values in "tags", "verification_methods", "sources" and "refs".

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/format.rb

[requirement] Dim_format_inPlace   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

By default, the formatter shall change the files in-place.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb, lib/dim/commands/format.rb

[requirement] Dim_format_checkOnly   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to only check the formatting without changing the files. In case of incorrect formatting, an error message shall be printed and Dim shall exit with an exit code != 0. Different line endings like CRLF and LF shall be ignored.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/format.rb

[requirement] Dim_format_extra   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to write the formatted data to extra files and not overwrite the original files. This makes it easier to use third-party compare-tools.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/format.rb

[requirement] Dim_format_vim   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to read the input from STDIN and to print the formatted output to the STDOUT. This functionality supports auto-formatting in text editors like Vim.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/format.rb

[requirement] Dim_format_verificationMethods   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The Dim formatter shall remove the "test_setups" attribute from formatted file and keep only 'verification_methods'.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb lib/dim/commands/format.rb

export

[requirement] Dim_export_general   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The command line interface of Dim shall provide an "export" subcommand which exports the requirements data to other file formats. It shall be possible to specify the output folder.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/export.rb

[requirement] Dim_export_documents   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Within the output folder, a new folder for every document shall be created with a requirements file named "<document>/Requirements.<type>", e.g. "myModule/Requirements.json". The document name shall be sanitized, e.g. "/" shall be converted to "_" to avoid invalid folder names.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/export.rb

[requirement] Dim_export_enclosed   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Files specified in the enclosed attributes shall be copied to the appropriate document's output folder.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/export.rb

[requirement] Dim_export_filter   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to filter requirements for exports based on their attributes, e.g. that only input and software requirements are exported.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/commands/export.rb

[requirement] Dim_export_cleanup   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

After exporting is complete, files from exported folder which are no longer referenced in the exported folder shall be cleaned up.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/export.rb

[requirement] Dim_export_verificationMethods   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Exported requirements file shall contain "verification_methods" and not "test_setups".

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/export.rb

JSON

[requirement] Dim_export_json   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

JSON exports shall have all requirement attributes as key/value pairs plus ID, document name and originator.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/json.rb

CSV

[requirement] Dim_export_csvSep   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

CSV exports shall have "Sep=," in the first line to specify the separator character.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/csv.rb

[requirement] Dim_export_csvAttributes   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

CSV exports shall have all requirement attributes plus ID, document name and originator in the second line. The following lines shall consist of the values of the requirements according to the attribute names defined in the second line.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/csv.rb

[requirement] Dim_export_csvValues   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

All values shall be wrapped by double quotes. Double quotes in the values shall be escaped.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/csv.rb

RST

[requirement] Dim_export_rst   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

RST exports shall export the data according to the Sphinx dox_trace extension syntax.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/rst.rb

[requirement] Dim_export_rstStrings   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

In the RST export, literals like "text" or "verification_criteria" shall be exported as Sphinx raw-html elements to avoid invalid RST files. This means special characters like "<" or "\n" must be escaped or converted. It shall be possible to mark substrings explicitly to skip this conversion.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/rst.rb

[requirement] Dim_export_rstChange   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Existing RST files shall only be overwritten if data has been changed to keep the time stamp of the files.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/rst.rb

[requirement] Dim_export_rstIndex   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Additionally to the requirements files, the RST exporter shall create index files for each originator/category pair to be directly used by Sphinx.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/commands/exporter/rst.rb

[requirement] Dim_format_customAttributes   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Before formatting requirements files with custom attributes, Dim shall load the attributes file first.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/options.rb, lib/dim/loader.rb, lib/dim/commands/format.rb

Ruby API

Reading

[requirement] Dim_api_reading   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to load files by using the Dim Ruby API directly. A data structure shall be provided with resolved default values if the values are not provided explicitly in the requirements files.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

Convenience Methods for Requirements

[requirement] Dim_api_safetyRelevant   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall provide a method "safety_relevant?" which returns true if "asil" is not set to "QM" or "not_set", otherwise false.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_securityRelevant   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirements object shall provide a method "security_relevant?" which returns true if "cal" is set to "CAL_4", otherwise false.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

Additional Getters

[requirement] Dim_api_documentName   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the document name.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_originator   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the originator. The value shall be taken from the config file. If a requirements file was loaded directly without a config file, the originator shall be "".

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_category   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the category. The value shall be taken from the config file. If a requirements file was loaded directly without a config file, the category shall be "unspecified".

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_filename   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the filename.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_lineNumber   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the line number.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_backwardRefs   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the backward references which are calculated automatically by Dim.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirements.rb

[requirement] Dim_api_existingRefs   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for the existing references. When loading with disabled missing-reference-check, the list can be shorter than the original list in refs attribute.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: Dim_loading_checkMissingDisable
Sources: lib/dim/requirements.rb

[requirement] Dim_api_upstreamRefs   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for upstream references, which means a list of IDs from refs to higher category level plus backward-refs from higher or same category level IDs.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb lib/dim/loader.rb lib/dim/consistency.rb

[requirement] Dim_api_downstreamRefs   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

A requirement shall have a getter for downstream references, which means a list of IDs from refs to lower or same category level plus backward-refs from lower category level IDs.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/requirement.rb lib/dim/loader.rb lib/dim/consistency.rb

[requirement] Dim_api_metadata   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

The metadata of the documents shall be available via the API.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb

Convenience Methods for Attributes With Comma Separated Values

[requirement] Dim_api_stringCleanSplit   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "cleanSplit" method which returns an array of the elements without leading and trailing whitespaces.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringCleanArray   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "cleanArray" method which returns the same as "cleanSplit" but same as cleanSplit, but without empty elements.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringCleanUniqArray   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "cleanUniqArray" method which returns the same as "cleanArray" but also removes duplicates.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringCleanString   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "cleanString" method which returns a string without empty elements, leading and trailing whitespaces.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringCleanUniqString   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "cleanUniqString" method which returns the same as "cleanString" but also removes duplicates.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringAddEnum   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with an "addEnum" method which add an enum to the string, makes the enums unique and returns the result.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

[requirement] Dim_api_stringRemoveEnum   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

Dim shall extend the String class with a "removeEnum" method which removes all enums from the string and returns the result.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/string.rb

Writing

[requirement] Dim_api_changing   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

It shall be possible to change requirements files by using the Dim Ruby API directly. A data structure shall be provided without resolved default values to be able to work on the original data. It shall be possible to write the changed data back to the file system.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/loader.rb, lib/dim/requirements.rb, lib/dim/formatter.rb

Testing Requirements

[requirement] Dim_testing_output   Status: valid

Asil: QM | Cal: QM | Upstream Asil: - | Upstream Cal: -
Developer: Accenture | Tester: Accenture | Verification Methods: off_target
Tags: tool, covered, tested | Upstream Tags: -

To ease testing, it shall be possible to read the command line output of Dim in unit tests when calling functions directly. This means stdout and stderr need to be redirected through string streams.

Verification Criteria: -
Derived Feature: -
Derived Change Request: -

Upstream References: -
Downstream References: -
Sources: lib/dim/ext/output.rb