Treat Requirements Like Code
Project description
Treat Requirements Like Code (TRLC)
TRLC is a domain-specific language developed at BMW for writing (and linking) requirements with meta-data.
The repository contains:
-
The language reference manual for TRLC. Previous versions are also available.
-
A pure Python reference implementation of TRLC.
The implementation is not very fast, but designed to be pedantically correct in following the language definition. The tools also include a powerful static analysis tool to find issues with types and user-defined check rules.
The Python implementation can be used for several purposes:
-
It can be used to validate other TRLC implementations.
-
It can be used to validate a body of requirements (e.g. a CI check that all requirements are well formed)
-
The API can be used to write other tools based on TRLC (for example a tool to render the requirements in HTML, a tool to diff requirements or perform an impact analysis, or a tool to perform software traceability, etc.)
Documentation
For normal users
- Tutorial (read this as a first introduction)
- User manual: TRLC linter (the user manual for the TRLC static analysis and linter)
- Release Notes (read this to find out whats new)
- License
For advanced users
- Language Reference Manual (for language lawyers)
- Python API Documentation (API reference for end-users)
- AST Hierarchy (overview over all classes in the AST)
For TRLC developers
- Set up development environment
- Lexer/Parser Hierarchy (overview over all classes releated to the lexing and parsing of TRLC)
- Tool Architecture Overview
- TRLC Static Checker Slides (Kinda incomplete, designed to go along with a code walkthrough)
- Requirements Coverage Report
- Code Coverage Report
Dependencies
Run-time
Optional dependency (not installed automatically):
- Binary CVC5
(An alternative to PyPI CVC5, make sure to rename the binary to
cvc5and put it on your PATH).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file trlc-2.0.3-py3-none-any.whl.
File metadata
- Download URL: trlc-2.0.3-py3-none-any.whl
- Upload date:
- Size: 83.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86b4c8690239f7b993259b316b8d6079633e32dff8f8ddbae5ad61503ac9362d
|
|
| MD5 |
2bf6ca41e72d96dcb1fb679bb3bf10c8
|
|
| BLAKE2b-256 |
fdda389c1b7f2459aa7bded06c4d26b8b1737d9b60f1332787b5eb57a80998aa
|
Provenance
The following attestation bundles were made for trlc-2.0.3-py3-none-any.whl:
Publisher:
package.yml on bmw-software-engineering/trlc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
trlc-2.0.3-py3-none-any.whl -
Subject digest:
86b4c8690239f7b993259b316b8d6079633e32dff8f8ddbae5ad61503ac9362d - Sigstore transparency entry: 724651571
- Sigstore integration time:
-
Permalink:
bmw-software-engineering/trlc@a4f7e95210d8093ba208b91cbc5b681eae8d502b -
Branch / Tag:
refs/tags/trlc-2.0.3 - Owner: https://github.com/bmw-software-engineering
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
package.yml@a4f7e95210d8093ba208b91cbc5b681eae8d502b -
Trigger Event:
release
-
Statement type: