Skip to main content

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 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

For API users

For TRLC developers

Dependencies

Run-time

  • 3.8 <= Python3 <= 3.10

Optional dependencies (they are not installed automatically):

  • PyVCG (Linux or OSX only, required when using the --verify option)

Development tools

  • GNU Make
  • Graphviz
  • PyCodeStyle (from PyPI, for basic checking of source code style)
  • PyLint (from PyPI, for basic bug finding)
  • Coverage (from PyPI, to perform branch coverage when running the test suite)
  • Sphinx (from PyPI, for building the documentation)
  • PyVCG (from PyPI, for building verification conditions)
  • CVC5 (from PyPI, for discharging verification conditions)

You can install all Python dependencies by doing:

pip3 install -r requirements.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trlc-1.1.6.tar.gz (67.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

trlc-1.1.6-py3-none-manylinux2014_x86_64.whl (72.6 kB view details)

Uploaded Python 3

trlc-1.1.6-py3-none-any.whl (72.6 kB view details)

Uploaded Python 3

File details

Details for the file trlc-1.1.6.tar.gz.

File metadata

  • Download URL: trlc-1.1.6.tar.gz
  • Upload date:
  • Size: 67.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for trlc-1.1.6.tar.gz
Algorithm Hash digest
SHA256 628c41e447b6222071364abe3e7fc1abebb08b67de30eaa1aa9c61241291eaa7
MD5 7eccaaaf62343cede4f2ce58f490b0c2
BLAKE2b-256 c3c5a36c956af83500e22a0284755364a55376a888274b17515088bbc845cabc

See more details on using hashes here.

File details

Details for the file trlc-1.1.6-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for trlc-1.1.6-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b72afd2a4e287204d5b57678ddc756290b570f54cc572f8eb3dbecf2c564a366
MD5 d75277e7a0de3f9d90b86bc83d27ca40
BLAKE2b-256 ee60e3c076e5bc68967249a1ca24788340c6ceca6c52f7bf144ffb03c361705b

See more details on using hashes here.

File details

Details for the file trlc-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: trlc-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for trlc-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 77937c2a521cbebbcbcb4b324498355a263f139b0212e835dbd50a729805e6a4
MD5 2484814030e81e3a733fbf14e657db82
BLAKE2b-256 e3e7080fbc83dd0488db018923356d1745797b2f0654745afa65ffe2f8993a5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page