SW Requirements
This file contains the software requirements for the pyTRLCConverter tool.
The tool supports the following output formats:
Format |
Subcommand |
GFM Support |
|---|---|---|
Markdown |
|
yes |
reStructuredText |
|
yes |
docx |
|
yes |
ReqIF |
|
yes |
The following picture shows the overall tool flow:
pyTRLCConverter Tool Flow
Functional Requirements
General
sw_req_cli
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall be a command-line interface (CLI) application. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Every feature shall be accessible via the command line. Therefore its verified by the CLI tests. |
sw_req_translation
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the requirement type attribute name translation via a translation file in JSON format. |
Valid Status |
VALID_STATUS.valid |
Note |
Some attribute names may contain underscores or other special characters. These shall be translated to a human readable names. |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files with a translation file. |
sw_req_render_configuration
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall allow the format of string attributes to be declared per `(package, type, attribute)` pattern via a JSON render configuration file. Supported formats are: `md` (CommonMark), `gfm` (GitHub Flavored Markdown), `rst` (reStructuredText), `xhtml`, and `path` (file-system path to an external image). |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that each supported format token is correctly recognized and applied when a render configuration file is provided. |
sw_req_prj_spec
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support project specific adaptions for the conversion. |
Valid Status |
VALID_STATUS.valid |
Note |
Every project might have different requirements how the converted output should look like. |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files with a project specific conversion file. |
sw_req_version
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall provide a version information in the format ‘<program-name> <major>.<minor>.<patch>’. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by requesting the version information and use the format ‘<program-name> <major>.<minor>.<patch>’. |
sw_req_process_trlc_symbols
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall process all TRLC symbols from the TRLC files. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify DumpConverter output against a known good reference. |
sw_req_destination_format
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert the TRLC files to the required destination format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting to one or more destination formats. Depended on the available formats. |
sw_req_verbose_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall show additional conversion information in verbose mode. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files with the verbose mode enabled. |
sw_req_error
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall log any error message on stderr. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with no or invalid arguments. |
Project Specific Conversion
sw_req_prj_spec_file
Attribute Name |
Attribute Value |
|---|---|
Description |
The project specific conversion file shall be a Python file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting one or more TRLC files with a project specific conversion file. |
sw_req_prj_spec_interface
Attribute Name |
Attribute Value |
|---|---|
Description |
The project specific conversion interface shall be realized by an abstract interface. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files with a project specific conversion file. |
Command Line Arguments
The following requirements describe the general command line arguments supported by the software. They are independent of the destination format.
sw_req_cli_help
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-h’ and --help’ to show the help information. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--help’ and check if the help information is shown. |
sw_req_cli_verbose
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-v’ and ‘--verbose’ to enable verbose mode. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by calling the software with the argument ‘--verbose’ and check if the verbose output is shown. |
sw_req_cli_version
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘--version’ to show the version information. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by calling the software with the argument ‘--version’ and check if the version information is shown. |
sw_req_cli_source
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-s’ and ‘--source’ multiple times to specify the source file(s) (*.rsl and *.trlc). |
Valid Status |
VALID_STATUS.valid |
Note |
Source files will be given to TRLC for conversion. |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--source’ and check if the source file(s) are used for conversion. |
sw_req_cli_include
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-i’ and ‘--include’ multiple times to specify the file(s) for automatic inclusion. |
Valid Status |
VALID_STATUS.valid |
Note |
Its equal to TRLC --include program argument. |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--include’ and check if the file(s) are included. |
sw_req_cli_exclude
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-ex’ and ‘--exclude’ multiple times to specify the file(s) for automatic exclusion. |
Valid Status |
VALID_STATUS.valid |
Note |
This is necessary in case an defined architecture element traces to a requirement, but the requirement should not be included in the output. |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--exclude’ and check if the file(s) are excluded. |
sw_req_no_prj_spec
Attribute Name |
Attribute Value |
|---|---|
Description |
If no project specific conversion file is provided, the software shall use a default conversion. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files without a project specific conversion file. |
sw_req_cli_out
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-o’ and ‘--out’ to specify the output directory. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--out’ and check if the output is written to the specified directory. |
sw_req_cli_translation
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-tr’ and ‘--translation’ to specify the translation JSON file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--translation’ and check if the output is written to the specified directory. |
sw_req_cli_render_cfg
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the command line argument ‘-rc’ and ‘--renderCfg’ to specify the render configuration JSON file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by calling the software with the argument ‘--renderCfg’ and check if e.g. Markdown is rendered correctly for string literals. |
sw_req_cli_render_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown subcommand shall support the command line argument ‘--render-plantuml’ to opt in to rendering plantuml fenced code blocks as SVG image references. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by calling the Markdown converter with ‘--render-plantuml’ and check that plantuml blocks are replaced by SVG image references. |
Markdown
The following requirements describe the Markdown destination format supported by the software.
sw_req_markdown
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the conversion into Markdown format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Markdown format. |
sw_req_markdown_section
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall convert a TRLC section into a Markdown heading by considering the depth level. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a TRLC section into a Markdown heading. |
sw_req_markdown_record
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall convert the attributes of a TRLC record into a Markdown table. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting consecutive TRLC records into a Markdown table. |
sw_req_markdown_escape
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall escape strings according the Markdown format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings with characters, which needs escaping. |
sw_req_markdown_string_format
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall not escape strings that are already in Markdown format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format, which needs no escaping. |
sw_req_markdown_heading
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to create a Markdown heading. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a Markdown heading. |
sw_req_markdown_table
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide the functionality to create a Markdown table. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a Markdown table. |
sw_req_markdown_list
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to create a Markdown list, as well as a HTML list. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a Markdown list. |
sw_req_markdown_link
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to create a Markdown link. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a Markdown link. |
sw_req_markdown_image
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to create a Markdown image to embed images. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a Markdown image. |
sw_req_markdown_text_color
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to create colored text in Markdown format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating colored text in Markdown format. |
sw_req_markdown_soft_return
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall provide a function to convert a line feed to Markdown soft return. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a text with one and more line feeds. |
sw_req_markdown_out_folder
Attribute Name |
Attribute Value |
|---|---|
Description |
The Markdown converter shall create the converted files in the specified output folder. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by specifying an output folder, that doesn’t exist. It must exist after the conversion. |
Multiple Documents Mode
sw_req_markdown_multiple_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a Markdown file for each TRLC file by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Markdown format and check if a Markdown file is created for each TRLC file. |
sw_req_markdown_md_top_level
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall add a top level heading to the Markdown file if there is no top level section. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the Markdown file in multiple doc mode. |
Single Document Mode
sw_req_markdown_single_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a single Markdown file which combines all TRLC files if requested by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Markdown format and check if a single Markdown file is created. |
sw_req_markdown_out_file_name_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be ‘output.md’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Markdown format and check if the output file name is ‘output.md’. |
sw_req_markdown_out_file_name_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Markdown format and check if the output file name is customizable. |
sw_req_markdown_sd_top_level
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall add a top level heading to the Markdown file in single doc mode. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the Markdown file in single doc mode. |
sw_req_markdown_top_level_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be ‘Specification’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the Markdown file in single doc mode. |
sw_req_markdown_top_level_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by specifying a custom top level heading in the Markdown file in single doc mode. |
Markdown Render Configuration
sw_req_markdown_render_md
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall render strings in [CommonMark’s spec v0.31.2](https://spec.commonmark.org/0.31.2/) Markdown format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to CommonMark’s spec, which needs no escaping. |
sw_req_markdown_render_gfm
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall render strings in [GitHub Flavored Markdown spec v0.29-gfm](https://github.github.com/gfm) Markdown format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to GitHub Flavored Markdown spec, which needs no escaping. |
sw_req_markdown_render_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
When the `--render-plantuml` option is given, the software shall replace fenced code blocks tagged `plantuml` in the Markdown output with SVG image references (``). The generated SVG file shall be copied to the output folder. If PlantUML is not available, the block shall be replaced by a `[PlantUML error: ...]` paragraph instead of failing the conversion. Without the option, plantuml fenced code blocks shall be passed through unchanged. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that with `--render-plantuml`, a plantuml fenced code block is replaced by an SVG image reference and the SVG file is present in the output folder. Verify that without the option the block is passed through unchanged. Verify that an unavailable PlantUML yields a `[PlantUML error: ...]` paragraph. |
reStructuredText
The following requirements describe the reStructuredText destination format supported by the software.
sw_req_rst
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the conversion into reStructuredText format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into reStructuredText format. |
sw_req_rst_section
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall convert a TRLC section into a reStructuredText heading by considering the depth level. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a TRLC section into a reStructuredText heading. |
sw_req_rst_record
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall convert the attributes of a TRLC record into a reStructuredText admonition with a table. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting consecutive TRLC records into a reStructuredText admonition with a table. |
sw_req_rst_escape
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall escape all strings according the reStructuredText format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings with characters, which needs escaping. |
sw_req_rst_string_format
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall not escape strings that are already in reStructuredText format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in reStructuredText format, which needs no escaping. |
sw_req_rst_string_format_md
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in Markdown format to reStructuredText format without escaping. |
Valid Status |
VALID_STATUS.rejected |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format, which are converted and needs no escaping. |
sw_req_rst_heading
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText heading. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText heading. |
sw_req_rst_admonition
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText admonition. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText admonition. |
sw_req_rst_table
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText table. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText table. |
sw_req_rst_list
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText list. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText list. |
sw_req_rst_link
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText link. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText link. |
sw_req_rst_image
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create a reStructuredText image to embed images. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating a reStructuredText image. |
sw_req_rst_role
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall provide a function to create role text in reStructuredText format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by creating role text in reStructuredText format. |
sw_req_rst_out_folder
Attribute Name |
Attribute Value |
|---|---|
Description |
The reStructuredText converter shall create the converted files in the specified output folder. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by specifying an output folder, that doesn’t exist. It must exist after the conversion. |
ReStructuredText Multiple Documents Mode
sw_req_rst_multiple_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a reStructuredText file for each TRLC file by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into reStructuredText format and check if a reStructuredText file is created for each TRLC file. |
ReStructuredText Single Document Mode
sw_req_rst_single_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a single reStructuredText file which combines all TRLC files if requested by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into reStructuredText format and check if a single reStructuredText file is created. |
sw_req_rst_out_file_name_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be ‘output.rst’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into reStructuredText format and check if the output file name is ‘output.rst’. |
sw_req_rst_out_file_name_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into reStructuredText format and check if the output file name is customizable. |
sw_req_rst_sd_top_level
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall add a top level heading to the reStructuredText file in single doc mode. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the reStructuredText file in single doc mode. |
sw_req_rst_sd_top_level_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be ‘Specification’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the reStructuredText file in single doc mode. |
sw_req_rst_sd_top_level_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by specifying a custom top level heading in the reStructuredText file in single doc mode. |
ReStructuredText Render Configuration
sw_req_rst_render_md
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [CommonMark’s spec v0.31.2](https://spec.commonmark.org/0.31.2/) Markdown format to reStructuredText format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to CommonMark’s spec, that are converted. |
sw_req_rst_render_gfm
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [GitHub Flavored Markdown spec v0.29-gfm](https://github.github.com/gfm) Markdown format to reStructuredText format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to GitHub Flavored Markdown spec, that are converted. |
sw_req_rst_render_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall render fenced code blocks tagged `plantuml` inside Markdown (CommonMark or GFM) requirement attributes as SVG images in the reStructuredText output. The generated SVG file shall be copied to the output folder and referenced via a `.. image::` directive. If PlantUML is not available, the block shall be replaced by a `[PlantUML error: ...]` paragraph instead of failing the conversion. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that a Markdown requirement attribute containing a fenced ```plantuml``` code block produces a reStructuredText `.. image::` directive referencing an SVG file present in the output folder, and that omitting the PlantUML configuration yields a `[PlantUML error: ...]` paragraph. |
ReqIF
The following requirements describe the ReqIF destination format supported by the software.
sw_req_reqif
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the conversion into ReqIF format v1.2. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into ReqIF format. |
sw_req_reqif_section
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall convert a TRLC section into a SPEC-HIERARCHY node (no SPEC-OBJECT created) by reusing the last preceding TRLC record’s SPEC-OBJECT as the mandatory SPEC-OBJECT-REF. If no preceding record exists, a warning shall be emitted and the section shall be omitted from the hierarchy. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting TRLC sections into ReqIF and checking that section names appear only as hierarchy LONG-NAMEs, not in SPEC-OBJECTS, and that the SPEC-OBJECT-REF points to the preceding record. |
sw_req_reqif_record
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall convert the attributes of a TRLC record into ReqIF SpecObject attributes. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC records and checking generated ReqIF SpecObjects. |
ReqIF Multiple Documents Mode
sw_req_reqif_multiple_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a ReqIF file for each TRLC file by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into ReqIF and checking one ReqIF file is created for each TRLC file. |
ReqIF Single Document Mode
sw_req_reqif_single_doc_mode
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a single ReqIF file which combines all TRLC files if requested by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into ReqIF and checking a single ReqIF file is created. |
sw_req_reqif_out_file_name_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be ‘output.reqif’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into ReqIF and check if the output file name is ‘output.reqif’. |
sw_req_reqif_out_file_name_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The output file name shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into ReqIF and check if the output file name is customizable. |
sw_req_reqif_top_level_default
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be ‘Specification’ by default. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify the top level heading in the ReqIF file in single doc mode. |
sw_req_reqif_top_level_custom
Attribute Name |
Attribute Value |
|---|---|
Description |
The top level heading shall be customizable by command line arguments. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by specifying a custom top level heading in the ReqIF file in single doc mode. |
ReqIF Spec Relations
sw_req_reqif_relation
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall convert a TRLC record reference attribute into a ReqIF SPEC-RELATION between the source and target spec-objects. Array record reference attributes shall produce one SPEC-RELATION per element. The field name shall be used as the relation type long-name. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting TRLC records with record reference fields and checking that the generated ReqIF document contains SPEC-RELATION entries linking source and target spec-objects with the correct relation type. |
ReqIF Archive
sw_req_reqif_reqifz
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall optionally archive the generated .reqif output when --reqifz is given. For each document a subfolder named after the document shall be created inside the output folder, the .reqif file shall be written there, and all files inside that subfolder shall be bundled into a .reqifz ZIP archive placed in the output folder. Each document produces one .reqifz file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting TRLC files with --reqifz, checking that each document yields one .reqifz archive in the output folder whose contents include the generated .reqif file and any other files in the document subfolder. |
ReqIF Identifier Persistence
sw_req_reqif_identifier_immutable
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall keep the identifier of every generated ReqIF Identifiable element (SPEC-OBJECT, SPEC-HIERARCHY, SPEC-RELATION and the ReqIF header) immutable across consecutive exports and imports, as required by the ReqIF standard, when an identifier store file is provided via the --id-store command line argument. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting the same TRLC files twice with --id-store pointing to the same JSON file and checking that the identifiers of the generated ReqIF Identifiable elements are unchanged between both exports. |
sw_req_reqif_identifier_store_init
Attribute Name |
Attribute Value |
|---|---|
Description |
On the initial conversion, when the identifier store file does not yet exist, the ReqIF converter shall generate the identifiers, store them keyed by a stable logical key in the JSON identifier store file, and create that file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting TRLC files with --id-store pointing to a non-existing JSON file and checking that the file is created and contains the generated identifiers. |
sw_req_reqif_identifier_store_reuse
Attribute Name |
Attribute Value |
|---|---|
Description |
On subsequent conversions the ReqIF converter shall load the identifier store file and reuse the stored identifiers for already known elements. Newly added elements shall receive new identifiers which are added to the identifier store file. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting a TRLC file set with --id-store, then converting an extended file set with the same --id-store and checking that the known elements keep their identifiers while new elements get new identifiers that are written back to the file. |
ReqIF Enumeration
sw_req_reqif_enum
Attribute Name |
Attribute Value |
|---|---|
Description |
The ReqIF converter shall convert a TRLC enumeration type attribute into a DATATYPE-DEFINITION-ENUMERATION and emit ATTRIBUTE-VALUE-ENUMERATION for the corresponding spec-object attribute. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a TRLC record with an enumeration field and checking that the generated ReqIF document contains a DATATYPE-DEFINITION-ENUMERATION and the spec-object contains an ATTRIBUTE-VALUE-ENUMERATION with the correct enum value reference. |
sw_req_reqif_enum_key_order
Attribute Name |
Attribute Value |
|---|---|
Description |
The ENUM-VALUE keys inside a DATATYPE-DEFINITION-ENUMERATION shall start at 0 and be consecutive integers following the declaration order of the literals in the RSL enumeration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify that ENUM-VALUE KEY attributes in the generated ReqIF file are 0-based consecutive integers ordered as declared in the RSL model. |
sw_req_reqif_enum_null
Attribute Name |
Attribute Value |
|---|---|
Description |
An optional TRLC enumeration attribute whose value is null shall be omitted from the generated ReqIF spec-object. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
|
Verification Criteria |
Verify by converting a TRLC record with a null optional enumeration field and checking that the spec-object contains no ATTRIBUTE-VALUE-ENUMERATION for that field. |
ReqIF Render Configuration
sw_req_reqif_render_md
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [CommonMark’s spec v0.31.2](https://spec.commonmark.org/0.31.2/) Markdown format to ReqIF XHTML if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to CommonMark’s spec, that are converted to ReqIF XHTML. |
sw_req_reqif_render_gfm
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [GitHub Flavored Markdown spec v0.29-gfm](https://github.github.com/gfm) Markdown format to ReqIF XHTML if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to GitHub Flavored Markdown spec, that are converted to ReqIF XHTML. |
sw_req_reqif_render_xhtml
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall pass XHTML content through to the ReqIF XHTML attribute value without modification when the render configuration specifies the `xhtml` format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that XHTML content in a requirement attribute is included unchanged (inside the ReqIF XHTML wrapper) in the generated ReqIF output. |
sw_req_reqif_render_path
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert a file path string attribute to a ReqIF XHTML `<object>` element with the MIME type derived from the file extension and a local reference to the file basename when the render configuration specifies the `path` format. The referenced file shall be copied to the output folder so that it is bundled into the .reqifz archive when the `--reqifz` option is used. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that a requirement attribute configured with the `path` format generates a ReqIF XHTML attribute containing an `<object>` element with a correct `type` (MIME type) and `data` (local file basename) attributes, and that the referenced file is present in the output folder. |
sw_req_reqif_render_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall render fenced code blocks tagged `plantuml` inside Markdown (CommonMark or GFM) requirement attributes as embedded SVG images in the ReqIF XHTML output. The generated SVG file shall be copied to the output folder (or bundled into the .reqifz archive) and referenced from the XHTML via an `<object>` element with `type=”image/svg+xml”` and `data` set to the SVG file’s local name. If PlantUML is not available, the block shall be replaced by a `[PlantUML error: ...]` paragraph instead of failing the conversion. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that a Markdown requirement attribute containing a fenced ```plantuml``` code block produces a ReqIF XHTML `<object type=”image/svg+xml”>` element, that the referenced SVG file is present in the output folder, and that omitting the PlantUML configuration yields a `[PlantUML error: ...]` paragraph. |
Docx
The following requirements describe the docx destination format supported by the software.
sw_req_docx
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the conversion into docx format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into Docx format. |
sw_req_docx_template
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support loading a docx template to append docx content to. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that the generated docx file format starts with the content of the given template. |
sw_req_docx_file
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall create a combined docx file for each TRLC file in file read order as provided by TRLC. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files into docx format and check if a merged docx file is generated as expected. |
sw_req_docx_section
Attribute Name |
Attribute Value |
|---|---|
Description |
If no project specific conversion file is available, a TRLC section shall be converted into a Docx heading by considering the depth level. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a TRLC section into a docx heading. |
sw_req_docx_record
Attribute Name |
Attribute Value |
|---|---|
Description |
If no project specific conversion file is available, consecutive TRLC records shall be converted into a docx heading with depth+1, a bookmark and a table listing the attributes. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting consecutive TRLC records into a docx file. |
sw_req_docx_reference
Attribute Name |
Attribute Value |
|---|---|
Description |
If a record attribute of the type ‘Record_Reference’ is processed, the attribute shall be converted into a hyperlink to the corresponding reference bookmark. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a TRLC record containing a reference to another TRLC record into a docx file. |
Docx Render Configuration
sw_req_docx_render_md
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [CommonMark’s spec v0.31.2](https://spec.commonmark.org/0.31.2/) Markdown format to docx format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to CommonMark’s spec, that are converted. |
sw_req_docx_render_gfm
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall convert strings in [GitHub Flavored Markdown spec v0.29-gfm](https://github.github.com/gfm) Markdown format to docx format if specified in the render configuration. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by using strings in Markdown format according to GitHub Flavored Markdown spec, that are converted. |
sw_req_docx_render_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall render fenced code blocks tagged `plantuml` inside Markdown (CommonMark or GFM) requirement attributes as embedded PNG images in the docx output. If PlantUML is not available, the block shall be replaced by a `[PlantUML error: ...]` paragraph instead of failing the conversion. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify that a Markdown requirement attribute containing a fenced ```plantuml``` code block produces an embedded image in the docx output, and that omitting the PlantUML configuration yields a `[PlantUML error: ...]` paragraph. |
Dump
The following requirements describe the dump destination format supported by the software.
sw_req_ascii_conversion
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support a simple conversion into text format to console out. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting one or more TRLC files using the dump converter. |
PlantUML
The following requirements describe the PlantUML destination format supported by the software.
sw_req_plantuml
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the conversion of a PlantUML diagram to an appropriate image format. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
Verification Criteria |
Verify by converting a PlantUML diagram into an appropriate image format. |
Constraints
sw_constraint_os_win
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the Windows operating system. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
sw_constraint_os_linux
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall support the Linux operating system. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |
sw_constraint_prg_lang
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall be implemented in the Python programming language >= v3.10. |
Valid Status |
VALID_STATUS.valid |
Note |
TRLC as 3rd party library may imply additional restrictions on supported versions. |
Derived |
N/A |
sw_constraint_pep8
Attribute Name |
Attribute Value |
|---|---|
Description |
The software shall comply with the PEP8 coding standard. |
Valid Status |
VALID_STATUS.valid |
Note |
N/A |
Derived |
N/A |