Skip to content

Latest commit

 

History

History
154 lines (123 loc) · 5.19 KB

File metadata and controls

154 lines (123 loc) · 5.19 KB

LOBSTER

The Lightweight Open BMW Software Traceability Evidence Report allows you to demonstrate software traceability and requirements coverage, which is essential for meeting standards such as ISO 26262.

This package contains a tool to interface with the proprietary requirements management tool Codebeamer.

Tools

  • lobster-codebeamer: Extract requirements from codebeamer.

Configuration

This tool works with an optional config file. It allows to configure the following features:

References

Codebeamer items can reference other items through Reference Fields. This piece of information can be extracted by the tool, and serialized into the LOBSTER output file. It only needs to know which fields to take into account. Following the LOBSTER JSON schema, the item references will be added to the refs property of the LOBSTER item. Accordingly, the configuration parameter to specify the codebeamer field names is called refs, too. It can contain a single field name, or a list of field names. Field IDs cannot be used, only the field names.

Examples:

{
  "refs" : "cb-fieldname"
}

or

{
  "refs" : ["cb-fieldname"]
}

or

{
  "refs" : ["cb-fieldname1", "cb-fieldname2"]
}

Bearer Authentication Token

It is also possible to define the Bearer authentication token in the configuration file:

{
  "token" : "your-codebeamer-Bearer-token"
}

Note:

  • The Bearer authentication token can also be provided as a command line argument (use --cb-token=your-codebeamer-Bearer-token).
  • If the token is provided in the configuration file and as command line argument, then the configuration file takes precedence.
  • If --cb-user or --cb-pass is given together with a Bearer token (either as a command line argument or through the configuration file), then the Bearer authentication method is used, and the username and/or password are ignored.
  • If neither a token nor a username or password are given, then the tool tries to read the username and password from the .netrc file in the user's home directory.

Example Configuration

Here is an example configuration file:

{
  "refs" : ["derived from", "satisfied by"],
  "token" : "SomeTokenStringABC123"
}

Is it also possible to define the codebeamer token in this file:

{
"refs" : "cb-fieldname",
"token" : "your cb-token"
}

Schema

You can also specify the type of schema for the resulting output file. The supported values for the schema field are:

  • Activity: Sets the schema to lobster-act-trace.
  • Implementation: Sets the schema to lobster-imp-trace.
  • Requirement: Sets the schema to lobster-req-trace.

If the schema is not specified, the tool will default to Requirement, and the schema lobster-req-trace will be used.

Here is an example configuration file:

{
  "schema": "Activity",  // Specifies schema
  "refs": ["cb-fieldname1", "cb-fieldname2"]  // Specifies references
}

If an invalid schema is provided, the tool will raise an exception. Supported schema values are Activity, Implementation, and Requirement.

Command-Line Arguments and Configuration

When running the tool, you can specify the --schema flag via the command line or set the schema value in the configuration file. The configuration file will always take precedence over the command-line argument.

  • --schema: The schema to be used (optional, overrides the config file if provided).
  • Configuration file: If schema is defined in the configuration file, it will be used, and the command-line --schema argument will be ignored.

Usage

There are two ways you can use this tool:

  1. Download all requirements mentioned by another lobster trace (this way you do not get a completeness check) (using --import-tagged)

  2. Download all requirements generated by a saved codebeamer query (using --import-query)

  • Configure the 'refs' upstream reference (this argument is optional) (using --config)

  • Additionally, you can specify the schema and references:

    1. Specify the schema of trace to be generated (optional, defaults to Requirement) using the --schema argument, or configure it in the config file.
    2. Configure the 'refs' upstream reference (optional) using --config or specify directly via command line.
    • For example: codepython lobster_codebeamer.py --config lobster-codebeamer-config.json --schema "Activity" --references "custom_ref_1

      This command will extract activity traces (lobster-act-trace) with specified references.

Limitations

The key limitation is item text, which is currently not imported. However, we do plan to also import item text eventually.

Copyright & License information

The copyright holder of LOBSTER is the Bayerische Motoren Werke Aktiengesellschaft (BMW AG), and LOBSTER is published under the GNU Affero General Public License, Version 3.

This tool has no actual dependency on, or with, Codebeamer. It just talks the API as described here: https://codebeamer.com/cb/wiki/117612