_images/NewTec_Logo_Slogan.png

SW Requirements

This file contains the software requirements for the pyTRLCConverter tool.

The tool supports the following output formats:

Format

Subcommand

GFM Support

Markdown

markdown

yes

reStructuredText

rst

yes

docx

docx

yes

ReqIF

reqif

yes

The following picture shows the overall tool flow:

pyTRLCConverter 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_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 (`![](plantuml_<hash>.svg)`). 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_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_table_options

Attribute Name

Attribute Value

Description

The software shall apply optional table rendering options from the render configuration when converting Markdown (CommonMark or GFM) to ReqIF XHTML. Supported options are `border` (a CSS style value applied to the `<table>` element’s `style` attribute) and `headingStyle` (a CSS style value applied to each `<th>` cell’s `style` attribute).

Valid Status

VALID_STATUS.valid

Note

N/A

Derived

N/A

Verification Criteria

Verify that a GFM attribute configured with `tableOptions` containing `border` and `headingStyle` generates a ReqIF XHTML `<table>` with the specified `style` and `<th>` cells with the specified `style`.

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