Skip to content

Commit 21f68b6

Browse files
WIP: Tool requirement updates
Also started to remove 'ASIL_D' from mentions
1 parent d973c20 commit 21f68b6

5 files changed

Lines changed: 150 additions & 25 deletions

File tree

docs/how-to-integrate/example/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ This is a rendered example of the 'examples/linking-both' folder using the `docs
3939
:id: tool_req__example__some_title
4040
:reqtype: Process
4141
:security: YES
42-
:safety: ASIL_D
42+
:safety: ASIL_B
4343
:satisfies: PROCESS_gd_req__req__attr_uid
4444
:status: invalid
4545

docs/how-to-integrate/example/testing/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ This example will help catch things and bugs when rst's are defined inside a fol
3333
:id: tool_req__testing__some_title
3434
:reqtype: Process
3535
:security: YES
36-
:safety: ASIL_D
36+
:safety: ASIL_B
3737
:satisfies: PROCESS_gd_req__req__attr_uid
3838
:status: invalid
3939

docs/product/requirements.rst

Lines changed: 146 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ This section provides an overview of current process requirements and their clar
137137
* all architecture elements defined in :need:`tool_req__docs_arch_types`.
138138

139139

140+
141+
140142
---------------------------
141143
🛡️ Safety Classification
142144
---------------------------
@@ -154,13 +156,23 @@ This section provides an overview of current process requirements and their clar
154156

155157
* QM
156158
* ASIL_B
157-
* ASIL_D
158159

159160
This rule applies to:
160161

161162
* all requirement types defined in :need:`tool_req__docs_req_types`, except process requirements.
162163
* all architecture elements defined in :need:`tool_req__docs_arch_types`.
163164

165+
166+
167+
.. tool_req:: Safety: enforce safe linking
168+
:id: tool_req__docs_common_attr_safety_link_check
169+
:tags: Common Attributes
170+
:implemented: YES
171+
:parent_covered: YES
172+
:satisfies: PROCESS_gd_req__req__linkage_safety
173+
174+
175+
164176
----------
165177
🚦 Status
166178
----------
@@ -184,15 +196,55 @@ This section provides an overview of current process requirements and their clar
184196
* all requirement types defined in :need:`tool_req__docs_req_types`, except process requirements.
185197
* all architecture elements defined in :need:`tool_req__docs_arch_types`.
186198

199+
200+
201+
202+
----------
203+
Versioning
204+
----------
205+
206+
.. tool_req:: Versioning: enforce attribute
207+
:id: tool_req__docs_common_attr_version
208+
:tags: Common Attributes
209+
:implemented: NO
210+
:parent_covered: YES
211+
:satisfies: PROCESS_gd_req__req__attr_version
212+
:status: valid
213+
214+
Docs-As-Code shall enable and enforce a verssioning attribute for requirements of type :need:`tool_req__docs_req_types`.
215+
This versioning shall change if any of the following attributes changes:
216+
217+
* Description
218+
* Rationale
219+
* Safety
220+
* Security
221+
* ID
222+
* Status
223+
* Reqtype
224+
* Title
225+
226+
227+
.. tool_req:: Suspicious: Enforce attribute
228+
:id: tool_req__docs_common_attr_suspicous
229+
:tags: Common Attributes
230+
:implemented: NO
231+
:parent_covered: YES
232+
:satisfies: PROCESS_gd_req__req__attr_suspicious
233+
234+
Docs-as-Code shall check if linked parent requirements have differentiation versions, compared to the
235+
versioning it was originaly linked too
236+
237+
238+
239+
187240
📚 Documents
188241
#############
189242

190243
.. tool_req:: Document Types
191244
:id: tool_req__docs_doc_types
192245
:tags: Documents
193246
:implemented: YES
194-
195-
.. :satisfies: PROCESS_gd_req__doc_types (next process release)
247+
:satisfies: PROCESS_gd_req__doc__types
196248

197249
Docs-as-Code shall support the following document types:
198250

@@ -203,18 +255,17 @@ This section provides an overview of current process requirements and their clar
203255
:id: tool_req__docs_doc_attr
204256
:tags: Documents
205257
:implemented: NO
206-
:satisfies:
207-
PROCESS_gd_req__doc_author,
208-
PROCESS_gd_req__doc_approver,
209-
PROCESS_gd_req__doc_reviewer,
258+
:satisfies: gd_req__doc__attributes_manual
210259
:parent_covered: NO
211260

212261
Docs-as-Code shall enforce that each :need:`tool_req__docs_doc_types` has the
213262
following attributes:
214263

215-
* author
216-
* approver
217-
* reviewer
264+
* id
265+
* status
266+
* safety
267+
* realizes
268+
* security
218269

219270

220271
.. tool_req:: Document author is autofilled
@@ -427,7 +478,7 @@ Architecture Attributes
427478
:id: tool_req__docs_arch_attr_mandatory
428479
:tags: Architecture
429480
:satisfies: PROCESS_gd_req__arch__attr_mandatory
430-
:implemented: Partial
481+
:implemented: PARTIAL
431482
:parent_covered: YES
432483
:parent_has_problem: YES: Metamodel & Process aren't the same. Some definitions are not consistent in Process
433484

@@ -471,6 +522,7 @@ Architecture Attributes
471522
PROCESS_gd_req__arch__linkage_requirement_type,
472523
PROCESS_gd_req__arch__attr_fulfils,
473524
PROCESS_gd_req__arch__traceability,
525+
PROCESS_gd_req__req__linkage_fulfill
474526
:parent_covered: YES
475527

476528
Docs-as-Code shall enforce that linking via the ``fulfils`` attribute follows defined rules.
@@ -501,16 +553,17 @@ Architecture Attributes
501553
type :need:`tool_req__docs_req_types` that are also safety relevant (``safety !=
502554
QM``).
503555

556+
504557
.. tool_req:: Restrict links for safety requirements
505558
:id: tool_req__docs_req_arch_link_safety_to_arch
506559
:tags: Architecture
507560
:implemented: PARTIAL
508-
:satisfies: PROCESS_gd_req__arch__linkage_safety_trace
561+
:satisfies: PROCESS_gd_req__arch__linkage_safety_trace, PROCESS_gd_req__req__linkage_safety
509562
:parent_covered: NO
510563

511-
Docs-as-Code shall enforce that architecture model elements of type
564+
Docs-as-Code shall enforce that `valid` architecture model elements of type
512565
:need:`tool_req__docs_arch_types` with ``safety != QM`` can only be linked to other
513-
architecture model elements with ``safety != QM``.
566+
`valid` architecture model elements with ``safety != QM``.
514567

515568
.. tool_req:: Security: Restrict linkage
516569
:id: tool_req__docs_arch_link_security
@@ -553,31 +606,96 @@ Architecture Attributes
553606
.. tool_req:: Supports linking to source code
554607
:tags: Detailed Design & Code
555608
:id: tool_req__docs_dd_link_source_code_link
556-
:implemented: PARTIAL
609+
:implemented: YES
557610
:parent_covered: YES
558-
:satisfies: PROCESS_gd_req__req__attr_impl
611+
:satisfies: PROCESS_gd_req__req__attr_impl, PROCESS_gd_req__impl__design_code_link
559612

560-
Docs-as-Code shall allow source code to link to requirements.
613+
Docs-as-Code shall allow source code to link to :need:`tool_req__docs_req_types` and :need:`tool_req__docs_doc_types`
561614

562615
A backlink to the corresponding source code location in GitHub shall be generated in
563616
the output as an attribute of the linked requirement.
564617

618+
619+
620+
621+
.. tool_req:: Feature Flags
622+
:id: tool_req__docs_dd_feature_flag
623+
:tags: Detailed Design & Code
624+
:implemented: NO
625+
:parent_covered: YES
626+
:satisfies: PROCESS_gd_req__req__linkage_architecture_switch
627+
628+
Docs-as-Code shall allow for singular or multiple checks to be disabled for non release builds
629+
630+
631+
.. Unsure if this is 'detailed design'
632+
.. tool_req:: Enable Creation of Dependcy Graphs
633+
:id: tool_req__docs__dd_dependency_graph
634+
:tags: Detailed Design & Code
635+
:implemented: NO
636+
:parent_covered: YES
637+
:satisfies: PROCESS_gd_req__impl__dependency_analysis
638+
:status: invalid
639+
640+
Docs-As-Code shall provide a way to create dependency graphs. It shall show the whole dependencies, from the libraries
641+
used, to the leaves of the dependency tree.
642+
643+
.. warning::
644+
Unclear what output format to use, and if it needs to be rendered in documentation, or just is extra asset.
645+
646+
647+
Testing
648+
#######
649+
650+
565651
.. tool_req:: Supports linking to test cases
566-
:id: tool_req__docs_dd_link_testcase
567-
:tags: Detailed Design & Code
652+
:id: tool_req__docs_test_link_testcase
653+
:tags: Testing
568654
:implemented: NO
655+
:parent_covered: YES
569656
:satisfies: PROCESS_gd_req__req__attr_testlink
570657

571658
Docs-as-Code shall allow requirements of type :need:`tool_req__docs_req_types` to
572659
include a ``testlink`` attribute.
573660

574661
This attribute shall support linking test cases to requirements.
575662

663+
664+
.. tool_req:: Extract Metadata from Tests
665+
:id: tool_req__docs_test_metadata_extraction
666+
:tags: Testing
667+
:implemented: NO
668+
:parent_covered: NO
669+
:satisfies: PROCESS_gd_req__verification__checks
670+
671+
Docs-as-Code shall be able to extract information from tests.
672+
Information to extract:
673+
674+
.. warning::
675+
Not yet thought through what the best way for this is.
676+
Tool req => incomplete
677+
678+
576679
🧪 Tool Verification Reports
577680
############################
578681

579682
.. they are so different, that they need their own section
580683
684+
.. tool_req:: Tool Verification Report Mandatory Attributes
685+
:id: tool_req__docs_tvr_attr_mandatory
686+
:tags: Tool Verification Reports
687+
:implemented: NO
688+
:parent_covered: YES
689+
:satisfies: PROCESS_gd_req__tool__check_mandatory
690+
691+
Docs-as-Code shall enforce that the following attributes are set on `tool_verification_reports`
692+
693+
* Safety Affected
694+
* Security Affected
695+
* status
696+
* UID
697+
698+
581699
.. tool_req:: Tool Verification Report
582700
:id: tool_req__docs_tvr_uid
583701
:tags: Tool Verification Reports
@@ -609,7 +727,7 @@ Architecture Attributes
609727
:satisfies: PROCESS_gd_req__tool_attr_security_affected
610728

611729
Docs-as-Code shall enforce that every Tool Verification Report includes a
612-
``security_affected`` attribute with one of the following values:
730+
`security_affected` attribute with one of the following values:
613731

614732
* YES
615733
* NO
@@ -621,7 +739,7 @@ Architecture Attributes
621739
:satisfies: PROCESS_gd_req__tool__attr_status
622740
:parent_covered: YES
623741

624-
Docs-as-Code shall enforce that every Tool Verification Report includes a ``status``
742+
Docs-as-Code shall enforce that every Tool Verification Report includes a `status`
625743
attribute with one of the following values:
626744

627745
* draft
@@ -630,6 +748,11 @@ Architecture Attributes
630748
* released
631749
* rejected
632750

751+
752+
----------------
753+
Testing & Tests
754+
----------------
755+
633756
⚙️ Process / Other
634757
###################
635758

@@ -660,6 +783,8 @@ Architecture Attributes
660783
requirements.
661784

662785

786+
787+
663788
..
664789
.. ------------------------------------------------------------------------
665790
..

examples/linking-both/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ This is a simple example of a documentation page using the `docs` tool.
4242
:id: tool_req__index__some_title
4343
:reqtype: Process
4444
:security: YES
45-
:safety: ASIL_D
45+
:safety: ASIL_B
4646
:satisfies: PROCESS_gd_req__req__attr_uid
4747
:status: invalid
4848

examples/linking-both/testing/test.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ This example will help catch things and bugs when rst's are defined inside a fol
3333
:id: tool_req__testing__some_title
3434
:reqtype: Process
3535
:security: YES
36-
:safety: ASIL_D
36+
:safety: ASIL_B
3737
:satisfies: PROCESS_gd_req__req__attr_uid
3838
:status: invalid
3939

0 commit comments

Comments
 (0)