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
- 3.8 <= Python3 <= 3.11
- PyVCG
Optional dependencies (they are not installed automatically):
- PyPI CVC5 (Linux or OSX only,
required when using the
--verify
option) - Binary CVC5
(An alternative to PyPI CVC5, make sure to rename the binary to
cvc5
and 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
File details
Details for the file trlc-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: trlc-2.0.0-py3-none-any.whl
- Upload date:
- Size: 81.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67d5053d41e978f186316f0cb08ea7fa8615446e716b23b65a6b9a5a282c9c55 |
|
MD5 | 3c7aad790fd96b9b562413f3aa27a9e1 |
|
BLAKE2b-256 | b1e07da0d815115452aba5a111b195f0110db67b8ead4f6b7d3470924773a544 |