From 8051f35256828b94d8178fd2c98b77c7dd312fb0 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:41:03 -0700 Subject: [PATCH 01/31] Choose System Eng process and tools Signed-off-by: Gregory Shue --- conformance/example1/README.md | 50 +++++++++++++++++++ conformance/example1/content/src/index.sdoc | 3 ++ .../example1/content/src/requirements.txt | 1 + .../example1/content/src/strictdoc.toml | 28 +++++++++++ 4 files changed, 82 insertions(+) create mode 100644 conformance/example1/content/src/index.sdoc create mode 100644 conformance/example1/content/src/requirements.txt create mode 100644 conformance/example1/content/src/strictdoc.toml diff --git a/conformance/example1/README.md b/conformance/example1/README.md index 078df55f0..1b85aa180 100644 --- a/conformance/example1/README.md +++ b/conformance/example1/README.md @@ -24,6 +24,56 @@ data (digital and physical identifiers) and packaging the product: - Model - Serial Number +## Demonstrated System Engineering Process and Tools + +### System Engineering Body of Knowledge (SEBoK) + +This example is attempting to follow the best practices described in the +[Guide to the Systems Engineering Body of Knowledge (SEBoK)](https://sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledge_(SEBoK)). + +The SEBoK Wiki Glossary quotes the following definition for the +[Vee (V) Model](https://sebokwiki.org/wiki/Vee_(V)_Model_(glossary)): + +> The technical aspect of the project cycle is envisioned as a "Vee", starting with User needs on the upper left and ending with a User-validated system on the upper right. (Forsberg and Mooz 1991) + +The SEBoK considers Users to be a subset of the set of Stakeholders. +This results in approximately the following Vee Model: + +``` + Stakeholder Needs + ^ + \ Stakeholder Requirements <-- proven met by -- System Validations + \ (solution constraints) ^ + \ / + +--> System Requirements <--- verified by ---- System Verifications + | repeat ^ ^ + | until \ System Architecture / + | directly \ decomposes System into / + | implement \ / + +--------- SysElement Requirements <------ sysElement Verification +``` + +Each resulting SysElement then is treated as a new System-of-interest (SOI) +and is further decomposed until it is small enough to be directly implemented +and verified. + + +### International Council on System Engineering (INCOSE) + +This example also attempts to write requirements following the +[International Council on Systems Engineering](https://www.incose.org/) recommendations. +A soft copy of their [Guide to Writing Requirements Summary Sheet](https://portal.incose.org/commerce/store?productId=commerce-merchandise%23INCOSE-GUIDEWRITINGREQSUM) +may be purchased from the INCOSE store by non-members for $0.00 (zero). + +The example content is initially being captured using the open-source +tool [StrictDoc](https://github.com/strictdoc-project/strictdoc), +which is a FOSS software tool for technical documentation and requirements management. +StrictDoc has been successfully used for technical documentation certified by +the European Space Agency. It supports the following features key to this example: +- document creators can specify their own document node types, +- node relationship directions and trace analysis, +- support for generating graphs from editable textual graph descriptions (Mermaid UML) + ## Comments diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc new file mode 100644 index 000000000..38b673667 --- /dev/null +++ b/conformance/example1/content/src/index.sdoc @@ -0,0 +1,3 @@ +[DOCUMENT] +TITLE: SEBoK Product as System - Commodity Consumer Electronics + diff --git a/conformance/example1/content/src/requirements.txt b/conformance/example1/content/src/requirements.txt new file mode 100644 index 000000000..2bd412c76 --- /dev/null +++ b/conformance/example1/content/src/requirements.txt @@ -0,0 +1 @@ +strictdoc>=0.9.1 diff --git a/conformance/example1/content/src/strictdoc.toml b/conformance/example1/content/src/strictdoc.toml new file mode 100644 index 000000000..3cfdac608 --- /dev/null +++ b/conformance/example1/content/src/strictdoc.toml @@ -0,0 +1,28 @@ +[project] +title = "SPDX Regulation Conformance Example 1: SEBoK Product as System : Commodity Consumer Electronics" + +include_doc_paths = [ + "*", + "*/sdoc/**" +] + +features = [ + # Stable features. + "DEEP_TRACEABILITY_SCREEN", + # "MATHJAX", - not used by this project + "SEARCH", + "TABLE_SCREEN", + "TRACEABILITY_SCREEN", + + # Experimental features + "DIFF", + "HTML2PDF", + "MERMAID", + "NESTOR", + "PROJECT_STATISTICS_SCREEN", + # "REQIF", + # "REQUIREMENT_TO_SOURCE_TRACEABILITY", + # "SOURCE_FILE_LANGUAGE_PARSERS", + # "STANDALONE_DOCUMENT_SCREEN", + "TRACEABILITY_MATRIX_SCREEN", +] From 9b2ea94541b9196bea15cee5ce5f8431471d3c6f Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 6 Jan 2026 21:48:11 -0800 Subject: [PATCH 02/31] Update strictdoc to 0.16.1 Config via strictdoc_config.py instead of strictdoc.toml Signed-off-by: Gregory Shue --- conformance/example1/content/src/.gitignore | 1 + .../example1/content/src/requirements.txt | 2 +- .../example1/content/src/strictdoc.toml | 28 --------- .../example1/content/src/strictdoc_config.py | 62 +++++++++++++++++++ 4 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 conformance/example1/content/src/.gitignore delete mode 100644 conformance/example1/content/src/strictdoc.toml create mode 100644 conformance/example1/content/src/strictdoc_config.py diff --git a/conformance/example1/content/src/.gitignore b/conformance/example1/content/src/.gitignore new file mode 100644 index 000000000..bee8a64b7 --- /dev/null +++ b/conformance/example1/content/src/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/conformance/example1/content/src/requirements.txt b/conformance/example1/content/src/requirements.txt index 2bd412c76..7db7220bb 100644 --- a/conformance/example1/content/src/requirements.txt +++ b/conformance/example1/content/src/requirements.txt @@ -1 +1 @@ -strictdoc>=0.9.1 +strictdoc>=0.16.1 diff --git a/conformance/example1/content/src/strictdoc.toml b/conformance/example1/content/src/strictdoc.toml deleted file mode 100644 index 3cfdac608..000000000 --- a/conformance/example1/content/src/strictdoc.toml +++ /dev/null @@ -1,28 +0,0 @@ -[project] -title = "SPDX Regulation Conformance Example 1: SEBoK Product as System : Commodity Consumer Electronics" - -include_doc_paths = [ - "*", - "*/sdoc/**" -] - -features = [ - # Stable features. - "DEEP_TRACEABILITY_SCREEN", - # "MATHJAX", - not used by this project - "SEARCH", - "TABLE_SCREEN", - "TRACEABILITY_SCREEN", - - # Experimental features - "DIFF", - "HTML2PDF", - "MERMAID", - "NESTOR", - "PROJECT_STATISTICS_SCREEN", - # "REQIF", - # "REQUIREMENT_TO_SOURCE_TRACEABILITY", - # "SOURCE_FILE_LANGUAGE_PARSERS", - # "STANDALONE_DOCUMENT_SCREEN", - "TRACEABILITY_MATRIX_SCREEN", -] diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py new file mode 100644 index 000000000..54f55904a --- /dev/null +++ b/conformance/example1/content/src/strictdoc_config.py @@ -0,0 +1,62 @@ +from strictdoc.core.project_config import ProjectConfig + + +def create_config() -> ProjectConfig: + config = ProjectConfig( + project_title="SPDX Regulation Conformance Example 1: SEBoK Product as System : Commodity Consumer Electronics", + dir_for_sdoc_assets="assets", + dir_for_sdoc_cache="output/_cache", + + project_features=[ + # Stable features. + "DEEP_TRACEABILITY_SCREEN", + # "MATHJAX", - not used by this project + "SEARCH", + "TABLE_SCREEN", + "TRACEABILITY_SCREEN", + + # Experimental features + "DIFF", + "HTML2PDF", + "MERMAID", + "PROJECT_STATISTICS_SCREEN", + # "REQIF", + # "REQUIREMENT_TO_SOURCE_TRACEABILITY", + # "SOURCE_FILE_LANGUAGE_PARSERS", + # "STANDALONE_DOCUMENT_SCREEN", + "TRACEABILITY_MATRIX_SCREEN", + ], + + include_doc_paths=[ + "/*", + "/*/sdoc/**", + ], + + exclude_doc_paths=[ + "/.*/", + "/output", + ], + + include_source_paths=[ + ], + + exclude_source_paths=[ + ], + + grammars={ + }, + + # test_report_root_dict={ + # "reports/tests_integration.lit.junit.xml": "tests/integration", + # "reports/tests_integration_html2pdf.lit.junit.xml": "tests/integration", + # }, + + # Waiting for a fix to be released soon. + html2pdf_strict=False, + reqif_multiline_is_xhtml=True, + reqif_enable_mid=True, + section_behavior="[[SECTION]]", + statistics_generator="docs.sdoc_project_statistics.SDocStatisticsGenerator", + ) + return config + From 5b8ba7ef4ccde7c2dce912181461a2d6b32acc93 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:49:53 -0800 Subject: [PATCH 03/31] Add shared sdoc grammar for stakeholders Signed-off-by: Gregory Shue --- .../sdoc/grammars/sample_stakeholders.sgra | 50 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 51 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholders.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholders.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholders.sgra new file mode 100644 index 000000000..f97286e4e --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholders.sgra @@ -0,0 +1,50 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: STAKEHOLDER + PROPERTIES: + PREFIX: STKHLDR- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: DESCRIPTION + TYPE: String + REQUIRED: False + - TITLE: COMMENT + TYPE: String + REQUIRED: False diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 54f55904a..6ac039862 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -44,6 +44,7 @@ def create_config() -> ProjectConfig: ], grammars={ + "@sample_stakeholders_grammar": "shared/sdoc/grammars/sample_stakeholders.sgra", }, # test_report_root_dict={ From e2175214ec819fce82c5030cf6f9422253933af8 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 11 Feb 2026 10:53:07 -0800 Subject: [PATCH 04/31] Add shared sdoc grammar for personas Signed-off-by: Gregory Shue --- .../shared/sdoc/grammars/sample_personas.sgra | 74 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 75 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_personas.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_personas.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_personas.sgra new file mode 100644 index 000000000..1c6f19638 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_personas.sgra @@ -0,0 +1,74 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: PERSONA + PROPERTIES: + PREFIX: PERSONA- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: NAME + TYPE: String + REQUIRED: True + - TITLE: AGE + TYPE: String + REQUIRED: True + - TITLE: EDUCATION + TYPE: String + REQUIRED: False + - TITLE: BEHAVIOR_PATTERNS + TYPE: String + REQUIRED: False + - TITLE: GOALS + TYPE: String + REQUIRED: False + - TITLE: SKILLS + TYPE: String + REQUIRED: False + - TITLE: ATTITUDES + TYPE: String + REQUIRED: False + - TITLE: ENVIRONMENT + TYPE: String + REQUIRED: False + - TITLE: COMMENT + TYPE: String + REQUIRED: False + RELATIONS: + - TYPE: Parent + ROLE: Personifies diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 6ac039862..7c412a794 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -45,6 +45,7 @@ def create_config() -> ProjectConfig: grammars={ "@sample_stakeholders_grammar": "shared/sdoc/grammars/sample_stakeholders.sgra", + "@sample_personas_grammar": "shared/sdoc/grammars/sample_personas.sgra", }, # test_report_root_dict={ From 72c74d0f4fdf86e1a9f01ac4290f495a88df6d48 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:50:53 -0800 Subject: [PATCH 05/31] Add shared sdoc grammar for stakeholder_needs Signed-off-by: Gregory Shue --- .../grammars/sample_stakeholder_needs.sgra | 59 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 60 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_needs.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_needs.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_needs.sgra new file mode 100644 index 000000000..ab2bb9f1b --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_needs.sgra @@ -0,0 +1,59 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: NEED + PROPERTIES: + PREFIX: STKNEED- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: SOURCE + TYPE: String + REQUIRED: True + - TITLE: PRIORITY + TYPE: SingleChoice(Must, HighWant, Want) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: False + RELATIONS: + - TYPE: Parent + ROLE: Refines diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 7c412a794..cbaf53568 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -46,6 +46,7 @@ def create_config() -> ProjectConfig: grammars={ "@sample_stakeholders_grammar": "shared/sdoc/grammars/sample_stakeholders.sgra", "@sample_personas_grammar": "shared/sdoc/grammars/sample_personas.sgra", + "@sample_stakeholder_needs_grammar": "shared/sdoc/grammars/sample_stakeholder_needs.sgra", }, # test_report_root_dict={ From 1b2ce9e5562fb46f24f1f5682ec5e2fe71242237 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:51:43 -0800 Subject: [PATCH 06/31] Add shared sdoc grammar for stakeholder_requirements Signed-off-by: Gregory Shue --- .../sample_stakeholder_requirements.sgra | 57 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 58 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_requirements.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_requirements.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_requirements.sgra new file mode 100644 index 000000000..1bce3a031 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_stakeholder_requirements.sgra @@ -0,0 +1,57 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: REQUIREMENT + PROPERTIES: + PREFIX: STKREQ- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: VERIFICATION + TYPE: MultipleChoice(Review, Analysis, Inspection, Test) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Refines + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index cbaf53568..f114c85f0 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -47,6 +47,7 @@ def create_config() -> ProjectConfig: "@sample_stakeholders_grammar": "shared/sdoc/grammars/sample_stakeholders.sgra", "@sample_personas_grammar": "shared/sdoc/grammars/sample_personas.sgra", "@sample_stakeholder_needs_grammar": "shared/sdoc/grammars/sample_stakeholder_needs.sgra", + "@sample_stakeholder_requirements_grammar": "shared/sdoc/grammars/sample_stakeholder_requirements.sgra", }, # test_report_root_dict={ From db41eb3359b555004bcb0f46dd72d7b8fb34aa23 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 3 Feb 2026 11:30:52 -0800 Subject: [PATCH 07/31] add shared sdoc grammer for system_concept_of_operations Signed-off-by: Gregory Shue --- .../sample_system_concept_of_operations.sgra | 50 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 51 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_concept_of_operations.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_concept_of_operations.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_concept_of_operations.sgra new file mode 100644 index 000000000..02bba27d6 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_concept_of_operations.sgra @@ -0,0 +1,50 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: CONOPS + PROPERTIES: + PREFIX: SYSCONOPS- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Refines diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index f114c85f0..e7a590d13 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -48,6 +48,7 @@ def create_config() -> ProjectConfig: "@sample_personas_grammar": "shared/sdoc/grammars/sample_personas.sgra", "@sample_stakeholder_needs_grammar": "shared/sdoc/grammars/sample_stakeholder_needs.sgra", "@sample_stakeholder_requirements_grammar": "shared/sdoc/grammars/sample_stakeholder_requirements.sgra", + "@sample_system_concept_of_operations_grammar": "shared/sdoc/grammars/sample_system_concept_of_operations.sgra", }, # test_report_root_dict={ From 1186a94c9f58182ef975c8535b9cc56636dd0fd6 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:53:13 -0800 Subject: [PATCH 08/31] Add shared sdoc grammar for system_validations Signed-off-by: Gregory Shue --- .../grammars/sample_system_validations.sgra | 50 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 51 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_validations.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_validations.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_validations.sgra new file mode 100644 index 000000000..beb351f95 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_validations.sgra @@ -0,0 +1,50 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: VALIDATION + PROPERTIES: + PREFIX: SYSVALID- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Validates diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index e7a590d13..7672460b5 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -49,6 +49,7 @@ def create_config() -> ProjectConfig: "@sample_stakeholder_needs_grammar": "shared/sdoc/grammars/sample_stakeholder_needs.sgra", "@sample_stakeholder_requirements_grammar": "shared/sdoc/grammars/sample_stakeholder_requirements.sgra", "@sample_system_concept_of_operations_grammar": "shared/sdoc/grammars/sample_system_concept_of_operations.sgra", + "@sample_system_validations_grammar": "shared/sdoc/grammars/sample_system_validations.sgra", }, # test_report_root_dict={ From 72052e2a20153f8c62ea0518c7d60ebce7aeb9c9 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:55:51 -0800 Subject: [PATCH 09/31] Add shared sdoc grammar for interface_specifications Signed-off-by: Gregory Shue --- .../sample_interface_specifications.sgra | 54 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 55 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_interface_specifications.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_specifications.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_specifications.sgra new file mode 100644 index 000000000..ad0a5b2da --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_specifications.sgra @@ -0,0 +1,54 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: SPECIFICATION + PROPERTIES: + PREFIX: IFCSPEC- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: False + RELATIONS: + - TYPE: Parent + ROLE: Specifies + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 7672460b5..071a61922 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -50,6 +50,7 @@ def create_config() -> ProjectConfig: "@sample_stakeholder_requirements_grammar": "shared/sdoc/grammars/sample_stakeholder_requirements.sgra", "@sample_system_concept_of_operations_grammar": "shared/sdoc/grammars/sample_system_concept_of_operations.sgra", "@sample_system_validations_grammar": "shared/sdoc/grammars/sample_system_validations.sgra", + "@sample_interface_specifications_grammar": "shared/sdoc/grammars/sample_interface_specifications.sgra", }, # test_report_root_dict={ From f342fe39fc62b188e0497b581b66c9f80f88ff56 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:52:34 -0800 Subject: [PATCH 10/31] Add shared sdoc grammar for system_requirements Signed-off-by: Gregory Shue --- .../grammars/sample_system_requirements.sgra | 57 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 58 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_requirements.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_requirements.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_requirements.sgra new file mode 100644 index 000000000..42c0700de --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_requirements.sgra @@ -0,0 +1,57 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: REQUIREMENT + PROPERTIES: + PREFIX: SYSREQ- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: VERIFICATION + TYPE: MultipleChoice(Review, Analysis, Inspection, Test) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Refines + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 071a61922..1b5c49e5a 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -51,6 +51,7 @@ def create_config() -> ProjectConfig: "@sample_system_concept_of_operations_grammar": "shared/sdoc/grammars/sample_system_concept_of_operations.sgra", "@sample_system_validations_grammar": "shared/sdoc/grammars/sample_system_validations.sgra", "@sample_interface_specifications_grammar": "shared/sdoc/grammars/sample_interface_specifications.sgra", + "@sample_system_requirements_grammar": "shared/sdoc/grammars/sample_system_requirements.sgra", }, # test_report_root_dict={ From 4708efc29bfbc8cf25663ef617ee3776a3a8b92c Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:53:56 -0800 Subject: [PATCH 11/31] Add shared sdoc grammar for system_verifications Signed-off-by: Gregory Shue --- .../grammars/sample_system_verifications.sgra | 50 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 51 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_verifications.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_verifications.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_verifications.sgra new file mode 100644 index 000000000..d77ec9fc1 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_verifications.sgra @@ -0,0 +1,50 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: VERIFICATION + PROPERTIES: + PREFIX: SYSVRFY- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Verifies diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 1b5c49e5a..1ca0a4d95 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -52,6 +52,7 @@ def create_config() -> ProjectConfig: "@sample_system_validations_grammar": "shared/sdoc/grammars/sample_system_validations.sgra", "@sample_interface_specifications_grammar": "shared/sdoc/grammars/sample_interface_specifications.sgra", "@sample_system_requirements_grammar": "shared/sdoc/grammars/sample_system_requirements.sgra", + "@sample_system_verifications_grammar": "shared/sdoc/grammars/sample_system_verifications.sgra", }, # test_report_root_dict={ From 8448946fb2da1d0a296ccafe3ecb448995e95063 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:54:32 -0800 Subject: [PATCH 12/31] Add shared sdoc grammar for system_architectures Signed-off-by: Gregory Shue --- .../grammars/sample_system_architectures.sgra | 53 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 54 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_architectures.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_architectures.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_architectures.sgra new file mode 100644 index 000000000..bfd6ba9e8 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_architectures.sgra @@ -0,0 +1,53 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: ARCH_DECISION + PROPERTIES: + PREFIX: SYSARCH- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: DECISION + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 1ca0a4d95..b121d3ce4 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -53,6 +53,7 @@ def create_config() -> ProjectConfig: "@sample_interface_specifications_grammar": "shared/sdoc/grammars/sample_interface_specifications.sgra", "@sample_system_requirements_grammar": "shared/sdoc/grammars/sample_system_requirements.sgra", "@sample_system_verifications_grammar": "shared/sdoc/grammars/sample_system_verifications.sgra", + "@sample_system_architectures_grammar": "shared/sdoc/grammars/sample_system_architectures.sgra", }, # test_report_root_dict={ From 2ddcfcefc669fc2b73278ba7af641947e492e34c Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:55:21 -0800 Subject: [PATCH 13/31] Add shared sdoc grammar for interface_requirements Signed-off-by: Gregory Shue --- .../sample_interface_requirements.sgra | 57 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 58 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_interface_requirements.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_requirements.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_requirements.sgra new file mode 100644 index 000000000..0782a851d --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_interface_requirements.sgra @@ -0,0 +1,57 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: REQUIREMENT + PROPERTIES: + PREFIX: IFCREQ- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: VERIFICATION + TYPE: MultipleChoice(Review, Analysis, Inspection, Test) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Refines + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index b121d3ce4..2b7691454 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -54,6 +54,7 @@ def create_config() -> ProjectConfig: "@sample_system_requirements_grammar": "shared/sdoc/grammars/sample_system_requirements.sgra", "@sample_system_verifications_grammar": "shared/sdoc/grammars/sample_system_verifications.sgra", "@sample_system_architectures_grammar": "shared/sdoc/grammars/sample_system_architectures.sgra", + "@sample_interface_requirements_grammar": "shared/sdoc/grammars/sample_interface_requirements.sgra", }, # test_report_root_dict={ From ab4ca1ae1b2283b775a495e36751f8811d345110 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:56:53 -0800 Subject: [PATCH 14/31] Add shared sdoc grammar for system_element_requirements Signed-off-by: Gregory Shue --- .../sample_system_element_requirements.sgra | 59 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 60 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_requirements.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_requirements.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_requirements.sgra new file mode 100644 index 000000000..38b01b937 --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_requirements.sgra @@ -0,0 +1,59 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: REQUIREMENT + PROPERTIES: + PREFIX: ELEMREQ- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: VERIFICATION + TYPE: MultipleChoice(Review, Analysis, Inspection, Test) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + - TITLE: RATIONALE + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Refines + - TYPE: File + ROLE: Implements + diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 2b7691454..4f9a8bc79 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -55,6 +55,7 @@ def create_config() -> ProjectConfig: "@sample_system_verifications_grammar": "shared/sdoc/grammars/sample_system_verifications.sgra", "@sample_system_architectures_grammar": "shared/sdoc/grammars/sample_system_architectures.sgra", "@sample_interface_requirements_grammar": "shared/sdoc/grammars/sample_interface_requirements.sgra", + "@sample_system_element_requirements_grammar": "shared/sdoc/grammars/sample_system_element_requirements.sgra", }, # test_report_root_dict={ From d02713911f925f5a759dd2087bff13cb05a6ee02 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 7 Jan 2026 19:57:26 -0800 Subject: [PATCH 15/31] Add shared sdoc grammar for system_element_verifications Signed-off-by: Gregory Shue --- .../sample_system_element_verifications.sgra | 50 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 2 files changed, 51 insertions(+) create mode 100644 conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_verifications.sgra diff --git a/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_verifications.sgra b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_verifications.sgra new file mode 100644 index 000000000..0cbb266dc --- /dev/null +++ b/conformance/example1/content/src/shared/sdoc/grammars/sample_system_element_verifications.sgra @@ -0,0 +1,50 @@ +[GRAMMAR] +ELEMENTS: +- TAG: TEXT + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATEMENT + TYPE: String + REQUIRED: True +- TAG: SECTION + PROPERTIES: + IS_COMPOSITE: True + PREFIX: None + VIEW_STYLE: Narrative + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: TITLE + TYPE: String + REQUIRED: True +- TAG: VERIFICATION + PROPERTIES: + PREFIX: ELEMVRFY- + FIELDS: + - TITLE: MID + TYPE: String + REQUIRED: True + - TITLE: UID + TYPE: String + REQUIRED: False + - TITLE: STATUS + TYPE: SingleChoice(Draft, Active, Deleted) + REQUIRED: True + - TITLE: TITLE + TYPE: String + REQUIRED: True + - TITLE: STATEMENT + TYPE: String + REQUIRED: True + RELATIONS: + - TYPE: Parent + ROLE: Verifies diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 4f9a8bc79..c3844d0d7 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -56,6 +56,7 @@ def create_config() -> ProjectConfig: "@sample_system_architectures_grammar": "shared/sdoc/grammars/sample_system_architectures.sgra", "@sample_interface_requirements_grammar": "shared/sdoc/grammars/sample_interface_requirements.sgra", "@sample_system_element_requirements_grammar": "shared/sdoc/grammars/sample_system_element_requirements.sgra", + "@sample_system_element_verifications_grammar": "shared/sdoc/grammars/sample_system_element_verifications.sgra", }, # test_report_root_dict={ From 22974fe1fa80e76ffe6b2e3bc0682fc07d23ba2a Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 8 Jan 2026 14:54:56 -0800 Subject: [PATCH 16/31] Add empty Problem Space Catalog doc Signed-off-by: Gregory Shue --- conformance/example1/content/src/index.sdoc | 2 ++ .../content/src/problem_space/sdoc/index.sdoc | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 conformance/example1/content/src/problem_space/sdoc/index.sdoc diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc index 38b673667..7ebc8bd11 100644 --- a/conformance/example1/content/src/index.sdoc +++ b/conformance/example1/content/src/index.sdoc @@ -1,3 +1,5 @@ [DOCUMENT] TITLE: SEBoK Product as System - Commodity Consumer Electronics +[DOCUMENT_FROM_FILE] +FILE: problem_space/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/sdoc/index.sdoc new file mode 100644 index 000000000..946c93673 --- /dev/null +++ b/conformance/example1/content/src/problem_space/sdoc/index.sdoc @@ -0,0 +1,16 @@ +[DOCUMENT] +TITLE: Problem Space Catalog + +[TEXT] +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +STATEMENT: >>> +The Problem Space Catalog contains Stakeholder-level content +(i.e., characteristics, needs and requirements) +that describes the potential problem space under consideration for a solution. +This problem space is likely larger than what will be addressed by a specific solution +(e.g., product, product-line, or business). +<<< From 30858dd521958747738e57890fc43bdbba9ea0f8 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:41:36 -0700 Subject: [PATCH 17/31] prob: Add empty stakeholders docs [stakeholders:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values for existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/problem_space/sdoc/index.sdoc | 3 ++ .../stakeholders/sdoc/index.sdoc | 28 +++++++++++++++++++ .../example1/content/src/strictdoc_config.py | 1 + 3 files changed, 32 insertions(+) create mode 100644 conformance/example1/content/src/problem_space/stakeholders/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/sdoc/index.sdoc index 946c93673..b3ef277e8 100644 --- a/conformance/example1/content/src/problem_space/sdoc/index.sdoc +++ b/conformance/example1/content/src/problem_space/sdoc/index.sdoc @@ -14,3 +14,6 @@ that describes the potential problem space under consideration for a solution. This problem space is likely larger than what will be addressed by a specific solution (e.g., product, product-line, or business). <<< + +[DOCUMENT_FROM_FILE] +FILE: ../stakeholders/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/stakeholders/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/stakeholders/sdoc/index.sdoc new file mode 100644 index 000000000..e018e3a31 --- /dev/null +++ b/conformance/example1/content/src/problem_space/stakeholders/sdoc/index.sdoc @@ -0,0 +1,28 @@ +[DOCUMENT] +MID: 90d096aedd3f4da2bad360c4a22baca9 +TITLE: Stakeholders +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_stakeholders_grammar + +[TEXT] +MID: 35a45c0a0c5b44dab052f074184f1ac6 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: afff7b00985542258da8885cfbc9e452 +STATEMENT: >>> +From `SEBoK Wiki Glossary - stakeholder `_: + +- Individual or organization having a right, share, claim, or interest in a system or in its possession of characteristics that meet their needs and expectations (ISO/IEC/IEEE 2015) + +- Individual or organization having a right, share, claim, or interest in a system or in its possession of characteristics that meet their needs and expectations; N.B. Stakeholders include, but are not limited to end users, end user organizations, supporters, developers, producers, trainers, maintainers, disposers, acquirers, customers, operators, supplier organizations and regulatory bodies. (ISO/IEC June 2010) + +- An individual, team, or organization (or classes thereof) with interests in, or concerns relative to, a system. (ISO/IEC 2007) + +- A stakeholder in an organisation is (by definition) any group or individual who can affect or is affected by the achievement of the organisation's objectives. (Freeman 1984) +<<< diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index c3844d0d7..477579992 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -30,6 +30,7 @@ def create_config() -> ProjectConfig: include_doc_paths=[ "/*", "/*/sdoc/**", + "/*/*/sdoc/**", ], exclude_doc_paths=[ From 9103842253656a1f6a62c0b2d35cb6e8f8fcf47f Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Wed, 11 Feb 2026 10:58:47 -0800 Subject: [PATCH 18/31] prob: Add empty personas docs [personas:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interrface, save empty comment field to force generation of MID values for existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../problem_space/personas/sdoc/index.sdoc | 24 +++++++++++++++++++ .../content/src/problem_space/sdoc/index.sdoc | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 conformance/example1/content/src/problem_space/personas/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/personas/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/personas/sdoc/index.sdoc new file mode 100644 index 000000000..a26db9a7f --- /dev/null +++ b/conformance/example1/content/src/problem_space/personas/sdoc/index.sdoc @@ -0,0 +1,24 @@ +[DOCUMENT] +MID: dba1eb04ad064dafbc9b7115c9e04985 +TITLE: Personas +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_personas_grammar + +[TEXT] +MID: d495970e0ad34b9995417f85b90522f6 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 05ec8177ef09485bab9276d64d2cc4a5 +STATEMENT: >>> +From ISO/IEC/IEEE 24765:2017(en) Systems and software engineering - Vocabulary definition (2): + + representation of a type of user that includes a concise summary of the characteristics of the user that is most informative to the design or illustrative of specific user requirements *[ISO/IEC 25063:2014 Systems and software engineering — Systems and software product Quality Requirements and Evaluation (SQuaRE) Common Industry Format (CIF) for usability: Context of use description]* + + Note 1 to entry: A persona typically includes behavior patterns, goals, skills, attitudes, and environment, with a few fictional personal details to make the persona a realistic character.` +<<< diff --git a/conformance/example1/content/src/problem_space/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/sdoc/index.sdoc index b3ef277e8..55853fa3f 100644 --- a/conformance/example1/content/src/problem_space/sdoc/index.sdoc +++ b/conformance/example1/content/src/problem_space/sdoc/index.sdoc @@ -17,3 +17,6 @@ This problem space is likely larger than what will be addressed by a specific so [DOCUMENT_FROM_FILE] FILE: ../stakeholders/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../personas/sdoc/index.sdoc From 190073c655b1975ca4f1aa68b86db678762d320a Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:43:21 -0700 Subject: [PATCH 19/31] prob: Add empty stakeholder_needs docs [stk_needs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values for existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/problem_space/sdoc/index.sdoc | 3 +++ .../stakeholder_needs/sdoc/index.sdoc | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 conformance/example1/content/src/problem_space/stakeholder_needs/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/sdoc/index.sdoc index 55853fa3f..0e88ea3df 100644 --- a/conformance/example1/content/src/problem_space/sdoc/index.sdoc +++ b/conformance/example1/content/src/problem_space/sdoc/index.sdoc @@ -20,3 +20,6 @@ FILE: ../stakeholders/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../personas/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../stakeholder_needs/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/stakeholder_needs/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/stakeholder_needs/sdoc/index.sdoc new file mode 100644 index 000000000..502d5ebfe --- /dev/null +++ b/conformance/example1/content/src/problem_space/stakeholder_needs/sdoc/index.sdoc @@ -0,0 +1,22 @@ +[DOCUMENT] +MID: e27425f14a3548dcbdad3a8057117401 +TITLE: Stakeholder Needs +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_stakeholder_needs_grammar + +[TEXT] +MID: 8a9d00f76be647858c56f3c9a31cff0d +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 695a3cb9a9bf4f30bf57f1469bc6c8eb +STATEMENT: >>> +From `SEBoK Wiki Glossary - stakeholder needs `_: + +- Stakeholder needs include elicitation of needs, wants, desires, expectations and perceived constraints of identified stakeholders. Needs concentrate on system purpose and behavior, and are described in the context of the operational environment and conditions. (ISO/IEC/IEEE 15288, 2023, Section 6.4.2) +<<< From 49a673fab59a65d60abf4f187ab1221f74870d9e Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:44:59 -0700 Subject: [PATCH 20/31] prob: Add empty stakeholder_requirements docs [stk_reqs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interrface, save empty comment field to force generation of MID values for existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/problem_space/sdoc/index.sdoc | 3 +++ .../stakeholder_requirements/sdoc/index.sdoc | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 conformance/example1/content/src/problem_space/stakeholder_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/sdoc/index.sdoc index 0e88ea3df..917c7a811 100644 --- a/conformance/example1/content/src/problem_space/sdoc/index.sdoc +++ b/conformance/example1/content/src/problem_space/sdoc/index.sdoc @@ -23,3 +23,6 @@ FILE: ../personas/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../stakeholder_needs/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../stakeholder_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/problem_space/stakeholder_requirements/sdoc/index.sdoc b/conformance/example1/content/src/problem_space/stakeholder_requirements/sdoc/index.sdoc new file mode 100644 index 000000000..461ec17ce --- /dev/null +++ b/conformance/example1/content/src/problem_space/stakeholder_requirements/sdoc/index.sdoc @@ -0,0 +1,24 @@ +[DOCUMENT] +MID: 6a4553bc55b944b9a60c3c760d07ea76 +TITLE: Stakeholder Requirements +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_stakeholder_requirements_grammar + +[TEXT] +MID: 91e3de0e259e43ecbc9dc4c3987d5f8e +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 974887912703457da5e0bc2022cf29d7 +STATEMENT: >>> +From `SEBoK Wiki Glossary - stakeholder requirement `_: + +- Stakeholder requirements are transformed from the stakeholder needs to objectively adequate, structured and more formal statements. (ISO/IEC/IEEE 29148, 2018, Section 5.2.3) + +- Stakeholder requirements express the intended interaction the system will have with its operational environment and that are the reference against which each resulting operational capability is validated. The stakeholder requirements are defined considering the context of the system of interest with the interoperating systems and enabling systems. This also includes consideration of laws and regulations, environmental restrictions, and ethical values. (ISO/IEC/IEEE 15288, 2023, Section 6.4.2) +<<< From 6a87e1b54fb765979e0a7501f29353bf6efa04cc Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 3 Feb 2026 11:56:59 -0800 Subject: [PATCH 21/31] Add empty system_concept_of_operations doc [sys_conops:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- conformance/example1/content/src/index.sdoc | 3 ++ .../sdoc/index.sdoc | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 conformance/example1/content/src/system_concept_of_operations/sdoc/index.sdoc diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc index 7ebc8bd11..b849ec7e9 100644 --- a/conformance/example1/content/src/index.sdoc +++ b/conformance/example1/content/src/index.sdoc @@ -3,3 +3,6 @@ TITLE: SEBoK Product as System - Commodity Consumer Electronics [DOCUMENT_FROM_FILE] FILE: problem_space/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: system_concept_of_operations/sdoc/index.sdoc diff --git a/conformance/example1/content/src/system_concept_of_operations/sdoc/index.sdoc b/conformance/example1/content/src/system_concept_of_operations/sdoc/index.sdoc new file mode 100644 index 000000000..5d6eda3be --- /dev/null +++ b/conformance/example1/content/src/system_concept_of_operations/sdoc/index.sdoc @@ -0,0 +1,32 @@ +[DOCUMENT] +MID: c8df4cbae54e405e81ad87764b262a6b +TITLE: System Concept of Operations +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_concept_of_operations_grammar + +[TEXT] +MID: 5941c5c81aa74c8497b9051a7ee0856d +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 47f7749075a74956b4160114edab0f05 +STATEMENT: >>> +From `SEBoK Wiki Glossary - Concept of Operations `_: + + *Verbal and graphic statement, in broad outline, of an organization’s assumptions or intent in regard to an operation or series of operations.* (ISO/IEC 2011) + + Source + ISO/IEC 2011. *Systems and software engineering - Life cycle processes - Requirements engineering*. Geneva, Switzerland: International Organization for Standardization/International Electrotechnical Commissions. ISO/IEC 29148. + + Discussion + The concept of operations frequently is embodied in long-range strategic plans and annual operational plans. In the latter case, the concept of operations in the plan covers a series of connected operations to be carried out simultaneously or in succession. The concept is designed to give an overall picture of the organization operations. + + It provides the basis for bounding the operating space, system capabilities, interfaces and operating environment. + + See also operational concept which is slightly different. +<<< From 4c07d84b17f374a75225e31d9c50b7d1fd51eda2 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 11:04:29 -0700 Subject: [PATCH 22/31] Add empty system_validations docs [sys_validations:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- conformance/example1/content/src/index.sdoc | 3 ++ .../example1/content/src/strictdoc_config.py | 1 + .../src/system_validations/sdoc/index.sdoc | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 conformance/example1/content/src/system_validations/sdoc/index.sdoc diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc index b849ec7e9..c28b5bf2e 100644 --- a/conformance/example1/content/src/index.sdoc +++ b/conformance/example1/content/src/index.sdoc @@ -6,3 +6,6 @@ FILE: problem_space/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: system_concept_of_operations/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: system_validations/sdoc/index.sdoc diff --git a/conformance/example1/content/src/strictdoc_config.py b/conformance/example1/content/src/strictdoc_config.py index 477579992..d408ad970 100644 --- a/conformance/example1/content/src/strictdoc_config.py +++ b/conformance/example1/content/src/strictdoc_config.py @@ -31,6 +31,7 @@ def create_config() -> ProjectConfig: "/*", "/*/sdoc/**", "/*/*/sdoc/**", + "/SOI/*/*/sdoc/**", ], exclude_doc_paths=[ diff --git a/conformance/example1/content/src/system_validations/sdoc/index.sdoc b/conformance/example1/content/src/system_validations/sdoc/index.sdoc new file mode 100644 index 000000000..d21988c7e --- /dev/null +++ b/conformance/example1/content/src/system_validations/sdoc/index.sdoc @@ -0,0 +1,28 @@ +[DOCUMENT] +MID: 1fc8c097e16142d39970f9c9c77159df +TITLE: System Validations +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_validations_grammar + +[TEXT] +MID: 351a8ff3670143cfb2ba0ff0da9f5aa0 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: c4966c44dd5e4e90910c6dfa467696ca +STATEMENT: >>> +From `SEBoK Wiki Glossary - validation `_: + +- Confirmation, through the provision of objective evidence, that the (stakeholder) requirements for a specific intended use or application have been fulfilled. (ISO 9000:2015) + +- The set of activities ensuring and gaining confidence that a system is able to accomplish its intended use, goals and objectives (i.e., meet stakeholder requirements) in the intended operational environment. The right system was built. (ISO/IEEE 2015, 1, Section 6.4.8) + +- The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification. (PMI 2013) + +- The process of providing evidence that the software and its associated products satisfy system requirements allocated to software at the end of each life cycle activity, solve the right problem, and satisfy intended use and user needs. (IEEE 1012-2004, 3.1.35) +<<< From 3be4ff415bbdbe5b71589bb54fd81dca89b093ef Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 28 Oct 2025 13:55:47 -0700 Subject: [PATCH 23/31] Add empty shared/interface_specifications docs [ifc_specs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- conformance/example1/content/src/index.sdoc | 3 +++ .../interface_specifications/sdoc/index.sdoc | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 conformance/example1/content/src/shared/interface_specifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc index c28b5bf2e..469bfb2a6 100644 --- a/conformance/example1/content/src/index.sdoc +++ b/conformance/example1/content/src/index.sdoc @@ -9,3 +9,6 @@ FILE: system_concept_of_operations/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: system_validations/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: shared/interface_specifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/shared/interface_specifications/sdoc/index.sdoc b/conformance/example1/content/src/shared/interface_specifications/sdoc/index.sdoc new file mode 100644 index 000000000..d036ee0d0 --- /dev/null +++ b/conformance/example1/content/src/shared/interface_specifications/sdoc/index.sdoc @@ -0,0 +1,26 @@ +[DOCUMENT] +MID: 40559692c69c4186b2988f397fae3705 +TITLE: Interface Specifications +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_interface_specifications_grammar + +[TEXT] +MID: 25e15526eef84b76b402e4ee758a48d6 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 4b16cedcc0fd4ff39a7816b32ebbe4e4 +STATEMENT: >>> +From `SEBoK Wiki Glossary - interface `_: + +- A shared boundary between two functional units, defined by various characteristics pertaining to the functions, physical signal exchanges, and other characteristics. (ISO/IEC 1993) + +- A hardware or software component that connects two or more other components for the purpose of passing information from one to the other. (ISO/IEC 1993) + +- To connect two or more components for the purpose of passing information from one to the other. (ISO/IEC/IEEE 2009) +<<< From a96563733979827adbebe11f3594fab8f720c5a7 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 8 Jan 2026 10:47:53 -0800 Subject: [PATCH 24/31] soi: Add empty System-of-Interest Catalog doc Signed-off-by: Gregory Shue --- .../example1/content/src/SOI/sdoc/index.sdoc | 16 ++++++++++++++++ conformance/example1/content/src/index.sdoc | 3 +++ 2 files changed, 19 insertions(+) create mode 100644 conformance/example1/content/src/SOI/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/sdoc/index.sdoc b/conformance/example1/content/src/SOI/sdoc/index.sdoc new file mode 100644 index 000000000..0ba7d27fe --- /dev/null +++ b/conformance/example1/content/src/SOI/sdoc/index.sdoc @@ -0,0 +1,16 @@ +[DOCUMENT] +TITLE: System-of-Interest Catalog + +[TEXT] +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +STATEMENT: >>> +From `SEBoK Wiki Glossary - system-of-interest `_: + +- The system whose life cycle is under consideration. (ISO/IEC/IEEE 15288, 2015) + +- The system of interest to an observer. (von Bertalanffy, L. 1968. General system theory: Foundations, development, applications, revised ed. New York, NY: Braziller.) +<<< diff --git a/conformance/example1/content/src/index.sdoc b/conformance/example1/content/src/index.sdoc index 469bfb2a6..5bb21466e 100644 --- a/conformance/example1/content/src/index.sdoc +++ b/conformance/example1/content/src/index.sdoc @@ -12,3 +12,6 @@ FILE: system_validations/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: shared/interface_specifications/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: SOI/sdoc/index.sdoc From 4befb1a4830203dcdcffcea08e48254e76f46f04 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Thu, 8 Jan 2026 10:50:54 -0800 Subject: [PATCH 25/31] soi: Add empty SAMPLE tree Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 33 +++++++++++++++++++ .../example1/content/src/SOI/sdoc/index.sdoc | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc new file mode 100644 index 000000000..ff0addee6 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -0,0 +1,33 @@ +[DOCUMENT] +TITLE: SAMPLE + +[TEXT] +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +STATEMENT: >>> +The System-of-Interest named SAMPLE is the top-level system in this example. + +It is expected to be composed of the following subsystems: + +.. raw:: html + +
+    ---
+    title: Topology of Systems-of-Interest
+    ---
+    stateDiagram-v2
+
+        state SAMPLE {
+            TBD_Security_Vulnerability_Reporting: TBD 
Security
Vulnerability
Reporting
Server + TBD_Desktop_SW: TBD
Desktop SW + TBD_Mobile_SW: TBD
Mobile SW + TBD_Devices: TBD
Device(s) + TBD_Cloud_SW: TBD
Cloud SW + TBD_Digital_Component_Update_Server: TBD
Digital
Component
Update
Server + } + +
+<<< diff --git a/conformance/example1/content/src/SOI/sdoc/index.sdoc b/conformance/example1/content/src/SOI/sdoc/index.sdoc index 0ba7d27fe..1e300ac6b 100644 --- a/conformance/example1/content/src/SOI/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/sdoc/index.sdoc @@ -14,3 +14,6 @@ From `SEBoK Wiki Glossary - system-of-interest Date: Mon, 27 Oct 2025 09:46:19 -0700 Subject: [PATCH 26/31] soi:sample: Add empty system_requirements docs [sys_reqs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 +++ .../system_requirements/sdoc/index.sdoc | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/system_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index ff0addee6..97880f1aa 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -31,3 +31,6 @@ It is expected to be composed of the following subsystems: <<< + +[DOCUMENT_FROM_FILE] +FILE: ../system_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/system_requirements/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/system_requirements/sdoc/index.sdoc new file mode 100644 index 000000000..5957b5c26 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/system_requirements/sdoc/index.sdoc @@ -0,0 +1,24 @@ +[DOCUMENT] +MID: 85ae378632b7425589c55bed12493f99 +TITLE: System Requirements +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_requirements_grammar + +[TEXT] +MID: caf6ea3cac33409b990281d4d820cc27 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: ccbf7caa1def41da93bd3fb1e1f1d760 +STATEMENT: >>> +From `SEBoK Wiki Glossary - system requirement `_: + +- A statement that transforms the stakeholder, user-oriented view of desired capabilities into a technical view, of a solution that meets the operational needs of the user. (ISO/IEC/IEEE, 2015, section 6.4.2) + +- The System Requirement Definition process creates a set of measurable system requirements that specify, from the supplier’s perspective, what characteristics, attributes, and functional and performance requirements the system is to possess, in order to satisfy stakeholder requirements. (ISO/IEC/IEEE, 2015, section 6.4.2) +<<< From 41a0455c2db99ca07b9e62f2337e9da91ab93eb4 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 11:01:50 -0700 Subject: [PATCH 27/31] soi:sample: Add empty system_verifications docs [sys_verifications:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 ++ .../system_verifications/sdoc/index.sdoc | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/system_verifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index 97880f1aa..34707db82 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -34,3 +34,6 @@ It is expected to be composed of the following subsystems: [DOCUMENT_FROM_FILE] FILE: ../system_requirements/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../system_verifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/system_verifications/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/system_verifications/sdoc/index.sdoc new file mode 100644 index 000000000..c313e3be1 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/system_verifications/sdoc/index.sdoc @@ -0,0 +1,30 @@ +[DOCUMENT] +MID: 48e1355c717642e2bca757865187eda6 +TITLE: System Verifications +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_verifications_grammar + +[TEXT] +MID: 1aa664e9e0174cea9c59734ce2a23f2a +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: ddd4ee5dd24949c6813408d550a982b3 +STATEMENT: >>> +From `SEBoK Wiki Glossary - verification `_: + +- Confirmation, through the provision of objective evidence, that specified (system) requirements have been fulfilled. (ISO/IEC 2008, section 4.38) + +- Verification is a set of activities that compares a system or system element against the required characteristics. This includes, but is not limited to, specified requirements, design description and the system itself. The system was built right. (ISO/IEC/IEEE 2015, 1, Section 6.4.6) + +- The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation. (PMI 2013) + +- The process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (IEEE 1012-2004, 3.1.36) + +- Process of providing objective evidence that the software and its associated products comply with requirements for all life cycle activities during each life cycle process, satisfy standards, practices, and conventions during life cycle processes, and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities. (IEEE 829-2008, 3.1.54) +<<< From 7934250144f390e39171a82d078968227c605224 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:47:58 -0700 Subject: [PATCH 28/31] soi:sample: Add empty system_architectures docs [sys_archs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values for existing nodes. - Edit *.sgra to make MID fields requried Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 +++ .../system_architectures/sdoc/index.sdoc | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/system_architectures/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index 34707db82..4d500620c 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -37,3 +37,6 @@ FILE: ../system_requirements/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../system_verifications/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../system_architectures/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/system_architectures/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/system_architectures/sdoc/index.sdoc new file mode 100644 index 000000000..85729e8c0 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/system_architectures/sdoc/index.sdoc @@ -0,0 +1,26 @@ +[DOCUMENT] +MID: af66c5de119447b58b950dd710d34b8a +TITLE: System Architecture(s) +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_architectures_grammar + +[TEXT] +MID: 84713f51e27b4ea4bc3242a8e2f1fba7 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 0f68a238be874bdcb25a5fbb9f9bcb5c +STATEMENT: >>> +From `SEBoK Wiki Glossary - Architecture `_: + +- fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution (ISO/IEC/IEEE 2015, Section 4.5) + +- The organizational structure of a system or component; the organizational structure of a system and its implementation guidelines. (ISO/IEC 2009, 1) + +- Fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution. (ISO/IEC 2011, section 3.2) +<<< From 2da9aed6b69feb837fef783348b8fee9b0838e84 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Tue, 28 Oct 2025 09:08:45 -0700 Subject: [PATCH 29/31] soi:sample: Add empty interface_requirements docs [ifc_reqs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generatino of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../interface_requirements/sdoc/index.sdoc | 26 +++++++++++++++++++ .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 +++ 2 files changed, 29 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/interface_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/interface_requirements/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/interface_requirements/sdoc/index.sdoc new file mode 100644 index 000000000..7e50d89c4 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/interface_requirements/sdoc/index.sdoc @@ -0,0 +1,26 @@ +[DOCUMENT] +MID: 43b3bf7d570d4089b3cd76a4c765cd62 +TITLE: Interface Requirements +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_interface_requirements_grammar + +[TEXT] +MID: 9be29edda6c5401fbb2a05ff71cd0fd0 +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 1d78c62fa24740e49fd245550e11dd13 +STATEMENT: >>> +From `SEBoK Wiki Glossary - interface `_: + +- A shared boundary between two functional units, defined by various characteristics pertaining to the functions, physical signal exchanges, and other characteristics. (ISO/IEC 1993) + +- A hardware or software component that connects two or more other components for the purpose of passing information from one to the other. (ISO/IEC 1993) + +- To connect two or more components for the purpose of passing information from one to the other. (ISO/IEC/IEEE 2009) +<<< diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index 4d500620c..745f6bbd9 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -40,3 +40,6 @@ FILE: ../system_verifications/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../system_architectures/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../interface_requirements/sdoc/index.sdoc From 0517da3d84878b91da567e1f89fd404e2551b69e Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 09:49:24 -0700 Subject: [PATCH 30/31] soi:sample: Add empty system_element_requirements docs [sys_elem_reqs:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 +++ .../sdoc/index.sdoc | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/system_element_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index 745f6bbd9..8a97fcf28 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -43,3 +43,6 @@ FILE: ../system_architectures/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../interface_requirements/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../system_element_requirements/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/system_element_requirements/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/system_element_requirements/sdoc/index.sdoc new file mode 100644 index 000000000..9932fe507 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/system_element_requirements/sdoc/index.sdoc @@ -0,0 +1,22 @@ +[DOCUMENT] +MID: 9a5689a75c354b019acf55761ae02ca7 +TITLE: System Element Requirements +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_element_requirements_grammar + +[TEXT] +MID: 2f9e70c900604e35a4a61961afb6e19b +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 49ebfa8c1d414aa2aa66aff2153c2f13 +STATEMENT: >>> +From `SEBoK Wiki Glossary - system element `_: + +- A member of a set of elements that constitutes a system. A system element is a discrete part of a system that can be implemented to fulfill specified requirements. A system element can be hardware, software, data, humans, processes (e.g., processes for providing service to users), procedures (e.g., operator instructions), facilities, materials, and naturally occurring entities (e.g., water, organisms, minerals), or any combination. (ISO/IEC 15288:2015) +<<< From 9895a9c6ff0d8e7e2d64910cb985c15da66f4a82 Mon Sep 17 00:00:00 2001 From: Gregory Shue Date: Mon, 27 Oct 2025 11:43:52 -0700 Subject: [PATCH 31/31] soi:sample: Add empty system_element_verifications docs [sys_elem_verifcations:] - Edit *.sgra with MID fields optional - Add doc with option ENABLE_MID - Using `strictdoc server .` http interface, save empty comment field to force generation of MID values of existing nodes. - Edit *.sgra to make MID fields required Signed-off-by: Gregory Shue --- .../content/src/SOI/SAMPLE/sdoc/index.sdoc | 3 ++ .../sdoc/index.sdoc | 30 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 conformance/example1/content/src/SOI/SAMPLE/system_element_verifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc index 8a97fcf28..9ea11bedb 100644 --- a/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc +++ b/conformance/example1/content/src/SOI/SAMPLE/sdoc/index.sdoc @@ -46,3 +46,6 @@ FILE: ../interface_requirements/sdoc/index.sdoc [DOCUMENT_FROM_FILE] FILE: ../system_element_requirements/sdoc/index.sdoc + +[DOCUMENT_FROM_FILE] +FILE: ../system_element_verifications/sdoc/index.sdoc diff --git a/conformance/example1/content/src/SOI/SAMPLE/system_element_verifications/sdoc/index.sdoc b/conformance/example1/content/src/SOI/SAMPLE/system_element_verifications/sdoc/index.sdoc new file mode 100644 index 000000000..7ac80c674 --- /dev/null +++ b/conformance/example1/content/src/SOI/SAMPLE/system_element_verifications/sdoc/index.sdoc @@ -0,0 +1,30 @@ +[DOCUMENT] +MID: 97fadfb8f97a481a8205cf619c53f4f6 +TITLE: System Element Verifications +OPTIONS: + ENABLE_MID: True + +[GRAMMAR] +IMPORT_FROM_FILE: @sample_system_element_verifications_grammar + +[TEXT] +MID: 715801b3dc784aefab88fe5afc443e3e +STATEMENT: >>> +SPDX-License-Identifier: Apache-2.0 +<<< + +[TEXT] +MID: 849ea88ccbf040bcbce53b9c15dbf7f8 +STATEMENT: >>> +From `SEBoK Wiki Glossary - verification `_: + +- Confirmation, through the provision of objective evidence, that specified (system) requirements have been fulfilled. (ISO/IEC 2008, section 4.38) + +- Verification is a set of activities that compares a system or system element against the required characteristics. This includes, but is not limited to, specified requirements, design description and the system itself. The system was built right. (ISO/IEC/IEEE 2015, 1, Section 6.4.6) + +- The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation. (PMI 2013) + +- The process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (IEEE 1012-2004, 3.1.36) + +- Process of providing objective evidence that the software and its associated products comply with requirements for all life cycle activities during each life cycle process, satisfy standards, practices, and conventions during life cycle processes, and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities. (IEEE 829-2008, 3.1.54) +<<<