Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions How-to: S-Core process step-by-step.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# How-to: S-Core process step-by-step

## 1. Feature & Feature requirements in main score repository

### a. What to do

1. Define Feature
2. Define Feature Requirements and map them to the stakeholder requirements

### b. How to check

1. Automated checks for requirements in docs-as-code.
2. Checklist for things, that can not be automated -> automated check, that checklist is up to date.
546 changes: 540 additions & 6 deletions docs.bzl

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions docs/internals/requirements/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ This section provides an overview of current process requirements and their clar
Req, 'tool_req__docs' in id and implemented == "YES" and "Requirements" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Requirements" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Requirements" in tags and status == "valid", 'tool_req__docs' in id and "Requirements" in tags and status != "valid"
Arch, 'tool_req__docs' in id and implemented == "YES" and "Architecture" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Architecture" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Architecture" in tags and status == "valid", 'tool_req__docs' in id and "Architecture" in tags and status != "valid"
DDesign, 'tool_req__docs' in id and implemented == "YES" and "Detailed Design & Code" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Detailed Design & Code" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Detailed Design & Code" in tags and status == "valid", 'tool_req__docs' in id and "Detailed Design & Code" in tags and status != "valid"
Verif, 'tool_req__docs' in id and implemented == "YES" and "Verification Evidence" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Verification Evidence" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Verification Evidence" in tags and status == "valid", 'tool_req__docs' in id and "Verification Evidence" in tags and status != "valid"
TVR, 'tool_req__docs' in id and implemented == "YES" and "Tool Verification Reports" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Tool Verification Reports" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Tool Verification Reports" in tags and status == "valid", 'tool_req__docs' in id and "Tool Verification Reports" in tags and status != "valid"
Other, 'tool_req__docs' in id and implemented == "YES" and "Process / Other" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Process / Other" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Process / Other" in tags and status == "valid", 'tool_req__docs' in id and "Process / Other" in tags and status != "valid"
SftyAn, 'tool_req__docs' in id and implemented == "YES" and "Safety Analysis" in tags and status == "valid", 'tool_req__docs' in id and implemented == "PARTIAL" and "Safety Analysis" in tags and status == "valid", 'tool_req__docs' in id and implemented == "NO" and "Safety Analysis" in tags and status == "valid", 'tool_req__docs' in id and "Safety Analysis" in tags and status != "valid"
Expand Down Expand Up @@ -864,6 +865,49 @@ Testing
Docs-AS-Code shall provide a way to gather statistics on linkages to implementation(source_code_links) & tests(testlink) for all needs.
It shall also be possible to filter these by type and use the provided statistics in the documentation (via diagrams drawn from it etc.)

🔎 Verification Evidence
########################

.. tool_req:: Support machine-readable module verification reports
:id: tool_req__docs_verification_report_need
:tags: Verification Evidence
:implemented: YES
:version: 1
:satisfies: gd_req__verification_reporting
:parent_covered: NO: process wording is broader than the currently modeled report artifact.

Docs-as-Code shall support a machine-readable module verification report need type.

The need type shall:

* use ``mod_ver_report`` as directive type
* classify the report by ``safety``, ``security``, ``status`` and ``verification_method``
* link the report to the verified module via ``belongs_to``
* allow links to contained verification evidence via ``contains``
* allow links to covered artifacts via ``covers``
* allow links to backing documents or work products via ``evidence`` and ``realizes``

.. tool_req:: Support machine-readable inspection records
:id: tool_req__docs_inspection_record_need
:tags: Verification Evidence
:implemented: YES
:version: 1
:satisfies: gd_req__verification_checks
:parent_covered: NO: process wording defines verification checks, while the tool models a first-class inspection record artifact.

Docs-as-Code shall support a machine-readable inspection record need type.

The need type shall:

* use ``mod_insp`` as directive type
* classify the inspection by ``inspection_type`` and ``inspection_state``
* record the checklist template reference via ``checklist_template``
* record the reviewer list via ``reviewers``
* link the inspection to the verified module via ``belongs_to``
* link the filled checklist document via ``checklist``
* link the inspected artifacts via ``inspects``
* allow links to backing evidence via ``evidence``

🧪 Tool Verification Reports
############################

Expand Down
34 changes: 33 additions & 1 deletion scripts_bazel/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ py_binary(
py_binary(
name = "merge_sourcelinks",
srcs = ["merge_sourcelinks.py"],
deps= [ "//src/extensions/score_source_code_linker"],
main = "merge_sourcelinks.py",
visibility = ["//visibility:public"],
deps = ["//src/extensions/score_source_code_linker"],
)

py_binary(
Expand All @@ -45,3 +45,35 @@ py_binary(
visibility = ["//visibility:public"],
deps = [],
)

py_binary(
name = "filter_needs_json",
srcs = ["filter_needs_json.py"],
main = "filter_needs_json.py",
visibility = ["//visibility:public"],
deps = [],
)

py_binary(
name = "sphinx_needs_to_md",
srcs = ["sphinx_needs_to_md.py"],
main = "sphinx_needs_to_md.py",
visibility = ["//visibility:public"],
deps = [],
)

py_binary(
name = "sphinx_needs_to_trlc",
srcs = ["sphinx_needs_to_trlc.py"],
main = "sphinx_needs_to_trlc.py",
visibility = ["//visibility:public"],
deps = [],
)

py_binary(
name = "validate_checklist",
srcs = ["validate_checklist.py"],
main = "validate_checklist.py",
visibility = ["//visibility:public"],
deps = [],
)
Loading
Loading