|
1 | 1 | # Architecture |
2 | 2 |
|
3 | | -This document defines the Reqvire architecture using block diagrams that show the logical and physical structure of the system. |
| 3 | +## Physical Architecture |
| 4 | +```mermaid |
| 5 | +graph LR; |
| 6 | + %% REQVIRE-AUTOGENERATED-DIAGRAM |
| 7 | + %% Graph styling |
| 8 | + classDef userRequirement fill:#f9d6d6,stroke:#f55f5f,stroke-width:1px; |
| 9 | + classDef systemRequirement fill:#fce4e4,stroke:#e68a8a,stroke-width:1px; |
| 10 | + classDef verification fill:#d6f9d6,stroke:#5fd75f,stroke-width:1px; |
| 11 | + classDef default fill:#f5f5f5,stroke:#333333,stroke-width:1px; |
| 12 | +
|
| 13 | + 4f5b8eb9100ba32a["Physical Architecture Block"]; |
| 14 | + class 4f5b8eb9100ba32a default; |
| 15 | + click 4f5b8eb9100ba32a "Architecture.md#physical-architecture-block"; |
| 16 | + 1ac3e4fc194fd9d["CLI interface"]; |
| 17 | + class 1ac3e4fc194fd9d userRequirement; |
| 18 | + click 1ac3e4fc194fd9d "Interfaces/Interfaces.md#cli-interface"; |
| 19 | + 4f5b8eb9100ba32a -.->|trace| 1ac3e4fc194fd9d; |
| 20 | + adfe41db00d52285["Web Interface"]; |
| 21 | + class adfe41db00d52285 userRequirement; |
| 22 | + click adfe41db00d52285 "Interfaces/Interfaces.md#web-interface"; |
| 23 | + 4f5b8eb9100ba32a -.->|trace| adfe41db00d52285; |
| 24 | + 1c6b7180f4e0214a["Model Reports"]; |
| 25 | + class 1c6b7180f4e0214a userRequirement; |
| 26 | + click 1c6b7180f4e0214a "System/Reporting.md#model-reports"; |
| 27 | + 4f5b8eb9100ba32a -.->|trace| 1c6b7180f4e0214a; |
| 28 | + 8c8c33ba0c6249d1["AI-Assisted System Model Management"]; |
| 29 | + class 8c8c33ba0c6249d1 userRequirement; |
| 30 | + click 8c8c33ba0c6249d1 "UserStories.md#ai-assisted-system-model-management"; |
| 31 | + 4f5b8eb9100ba32a -.->|trace| 8c8c33ba0c6249d1; |
| 32 | + 98eaeddc27f99e11["Integrate with GitHub Workflows"]; |
| 33 | + class 98eaeddc27f99e11 userRequirement; |
| 34 | + click 98eaeddc27f99e11 "UserStories.md#integrate-with-github-workflows"; |
| 35 | + 4f5b8eb9100ba32a -.->|trace| 98eaeddc27f99e11; |
| 36 | + 3f1b65e8cdc9ec2["Managing System Models"]; |
| 37 | + class 3f1b65e8cdc9ec2 userRequirement; |
| 38 | + click 3f1b65e8cdc9ec2 "UserStories.md#managing-system-models"; |
| 39 | + 4f5b8eb9100ba32a -.->|trace| 3f1b65e8cdc9ec2; |
| 40 | + 113748a94885138d["Validating Structures"]; |
| 41 | + class 113748a94885138d userRequirement; |
| 42 | + click 113748a94885138d "UserStories.md#validating-structures"; |
| 43 | + 4f5b8eb9100ba32a -.->|trace| 113748a94885138d; |
| 44 | +``` |
| 45 | +### Physical Architecture Block |
4 | 46 |
|
5 | | -## Logical Architecture |
| 47 | +The Physical Architecture represents the concrete systems, services, and components that implement the functionality of Reqvire. It defines the deployment-level structure of the tool, detailing how various components interact and are organized in the actual system. |
| 48 | + |
| 49 | +```mermaid |
| 50 | +graph TD |
| 51 | + subgraph Reqvire["Reqvire System"] |
| 52 | + subgraph ReqvireTool["ReqvireTool Subsystem"] |
| 53 | + subgraph UserInterface["UserInterface"] |
| 54 | + CLI["CLI"] |
| 55 | + ChatOps["ChatOps"] |
| 56 | + end |
| 57 | + ModelManagement["ModelManagement"] |
| 58 | + ValidationAndReporting["ValidationAndReporting"] |
| 59 | + Storage["Storage"] |
| 60 | + end |
| 61 | +
|
| 62 | + subgraph Integrations["Integrations Subsystem"] |
| 63 | + GitHubIntegration["GitHubIntegration"] |
| 64 | + subgraph CICDIntegration["CICDIntegration"] |
| 65 | + AIWorkflows["AIWorkflows"] |
| 66 | + end |
| 67 | + end |
| 68 | + end |
| 69 | +``` |
| 70 | + |
| 71 | +**Logical to Physical Architecture Mapping:** |
| 72 | + |
| 73 | +```mermaid |
| 74 | +graph TD |
| 75 | + %% Root System |
| 76 | + Reqvire["Reqvire (system)"] |
6 | 77 |
|
| 78 | + %% Subsystems under Reqvire |
| 79 | + subgraph ReqvireTool["ReqvireTool (subsystem)"] |
| 80 | + UserInterface["UserInterface (component)"] |
| 81 | + ModelManagement["ModelManagement (component)"] |
| 82 | + ValidationAndReporting["ValidationAndReporting (component)"] |
| 83 | + Storage["Storage (component)"] |
| 84 | + end |
| 85 | +
|
| 86 | + subgraph Integrations["Integrations (subsystem)"] |
| 87 | + GitHubIntegration["GitHubIntegration (component)"] |
| 88 | + CICDIntegration["CICDIntegration (component)"] |
| 89 | + end |
| 90 | +
|
| 91 | + subgraph AIWorkflows["AIWorkflows (workflow)"] |
| 92 | + AIWorkflowsComponent["AIWorkflows (workflow)"] |
| 93 | + end |
| 94 | +
|
| 95 | + %% AI component (added based on the logical architecture) |
| 96 | + AI["AI (component)"] |
| 97 | +
|
| 98 | + %% Systems |
| 99 | + SystemOfInterest["SystemOfInterest (system)"] |
| 100 | +
|
| 101 | + %% Hierarchical Structure |
| 102 | + Reqvire --> ReqvireTool |
| 103 | + Reqvire --> Integrations |
| 104 | + Reqvire --> AIWorkflows |
| 105 | +
|
| 106 | + ReqvireTool --> UserInterface |
| 107 | + ReqvireTool --> ModelManagement |
| 108 | + ReqvireTool --> ValidationAndReporting |
| 109 | + ReqvireTool --> Storage |
| 110 | +
|
| 111 | + UserInterface --> CLI["CLI (component)"] |
| 112 | + UserInterface --> ChatOps["ChatOps (component)"] |
| 113 | +
|
| 114 | + Integrations --> GitHubIntegration |
| 115 | + Integrations --> CICDIntegration |
| 116 | +
|
| 117 | + CICDIntegration --> AIWorkflowsComponent |
| 118 | +
|
| 119 | + AIWorkflowsComponent --> AI |
| 120 | +
|
| 121 | + SystemOfInterest --> Storage |
| 122 | +``` |
| 123 | + |
| 124 | +#### Metadata |
| 125 | + * type: block |
| 126 | + |
| 127 | +#### Relations |
| 128 | + * trace: [Managing System Models](UserStories.md#managing-system-models) |
| 129 | + * trace: [AI-Assisted System Model Management](UserStories.md#ai-assisted-system-model-management) |
| 130 | + * trace: [CLI interface](Interfaces/Interfaces.md#cli-interface) |
| 131 | + * trace: [Web Interface](Interfaces/Interfaces.md#web-interface) |
| 132 | + * trace: [Integrate with GitHub Workflows](UserStories.md#integrate-with-github-workflows) |
| 133 | + * trace: [Model Reports](System/Reporting.md#model-reports) |
| 134 | + * trace: [Validating Structures](UserStories.md#validating-structures) |
| 135 | +--- |
| 136 | + |
| 137 | +## Logical Architecture |
| 138 | +```mermaid |
| 139 | +graph LR; |
| 140 | + %% REQVIRE-AUTOGENERATED-DIAGRAM |
| 141 | + %% Graph styling |
| 142 | + classDef userRequirement fill:#f9d6d6,stroke:#f55f5f,stroke-width:1px; |
| 143 | + classDef systemRequirement fill:#fce4e4,stroke:#e68a8a,stroke-width:1px; |
| 144 | + classDef verification fill:#d6f9d6,stroke:#5fd75f,stroke-width:1px; |
| 145 | + classDef default fill:#f5f5f5,stroke:#333333,stroke-width:1px; |
| 146 | +
|
| 147 | + 7d9bdb39c1c646f3["Logical Architecture Block"]; |
| 148 | + class 7d9bdb39c1c646f3 default; |
| 149 | + click 7d9bdb39c1c646f3 "Architecture.md#logical-architecture-block"; |
| 150 | + 1ac3e4fc194fd9d["CLI interface"]; |
| 151 | + class 1ac3e4fc194fd9d userRequirement; |
| 152 | + click 1ac3e4fc194fd9d "Interfaces/Interfaces.md#cli-interface"; |
| 153 | + 7d9bdb39c1c646f3 -.->|trace| 1ac3e4fc194fd9d; |
| 154 | + adfe41db00d52285["Web Interface"]; |
| 155 | + class adfe41db00d52285 userRequirement; |
| 156 | + click adfe41db00d52285 "Interfaces/Interfaces.md#web-interface"; |
| 157 | + 7d9bdb39c1c646f3 -.->|trace| adfe41db00d52285; |
| 158 | + 1c6b7180f4e0214a["Model Reports"]; |
| 159 | + class 1c6b7180f4e0214a userRequirement; |
| 160 | + click 1c6b7180f4e0214a "System/Reporting.md#model-reports"; |
| 161 | + 7d9bdb39c1c646f3 -.->|trace| 1c6b7180f4e0214a; |
| 162 | + 8c8c33ba0c6249d1["AI-Assisted System Model Management"]; |
| 163 | + class 8c8c33ba0c6249d1 userRequirement; |
| 164 | + click 8c8c33ba0c6249d1 "UserStories.md#ai-assisted-system-model-management"; |
| 165 | + 7d9bdb39c1c646f3 -.->|trace| 8c8c33ba0c6249d1; |
| 166 | + 98eaeddc27f99e11["Integrate with GitHub Workflows"]; |
| 167 | + class 98eaeddc27f99e11 userRequirement; |
| 168 | + click 98eaeddc27f99e11 "UserStories.md#integrate-with-github-workflows"; |
| 169 | + 7d9bdb39c1c646f3 -.->|trace| 98eaeddc27f99e11; |
| 170 | + 3f1b65e8cdc9ec2["Managing System Models"]; |
| 171 | + class 3f1b65e8cdc9ec2 userRequirement; |
| 172 | + click 3f1b65e8cdc9ec2 "UserStories.md#managing-system-models"; |
| 173 | + 7d9bdb39c1c646f3 -.->|trace| 3f1b65e8cdc9ec2; |
| 174 | + 113748a94885138d["Validating Structures"]; |
| 175 | + class 113748a94885138d userRequirement; |
| 176 | + click 113748a94885138d "UserStories.md#validating-structures"; |
| 177 | + 7d9bdb39c1c646f3 -.->|trace| 113748a94885138d; |
| 178 | +``` |
7 | 179 | ### Logical Architecture Block |
8 | 180 |
|
9 | 181 | The Logical Architecture for Reqvire defines the high-level functional organization of the tool, focusing on the main components that deliver its core functionalities. This architecture serves as the foundation for further refinement into physical architecture and system requirements. |
@@ -100,105 +272,11 @@ classDiagram |
100 | 272 | * type: block |
101 | 273 |
|
102 | 274 | #### Relations |
103 | | - * trace: [Managing MBSE Models](UserStories.md#managing-mbse-models) |
104 | | - * trace: [AI-Assisted MBSE Model Management](UserStories.md#ai-assisted-mbse-model-management) |
105 | | - * trace: [CLI interface](Interfaces.md#cli-interface) |
106 | | - * trace: [Web Interface](Interfaces.md#web-interface) |
| 275 | + * trace: [Managing System Models](UserStories.md#managing-system-models) |
| 276 | + * trace: [AI-Assisted System Model Management](UserStories.md#ai-assisted-system-model-management) |
| 277 | + * trace: [CLI interface](Interfaces/Interfaces.md#cli-interface) |
| 278 | + * trace: [Web Interface](Interfaces/Interfaces.md#web-interface) |
107 | 279 | * trace: [Integrate with GitHub Workflows](UserStories.md#integrate-with-github-workflows) |
108 | | - * trace: [Model Reports](Reports.md#model-reports) |
| 280 | + * trace: [Model Reports](System/Reporting.md#model-reports) |
109 | 281 | * trace: [Validating Structures](UserStories.md#validating-structures) |
110 | | ---- |
111 | | - |
112 | | -## Physical Architecture |
113 | | - |
114 | | -### Physical Architecture Block |
115 | | - |
116 | | -The Physical Architecture represents the concrete systems, services, and components that implement the functionality of Reqvire. It defines the deployment-level structure of the tool, detailing how various components interact and are organized in the actual system. |
117 | | - |
118 | | -```mermaid |
119 | | -graph TD |
120 | | - subgraph Reqvire["Reqvire System"] |
121 | | - subgraph ReqvireTool["ReqvireTool Subsystem"] |
122 | | - subgraph UserInterface["UserInterface"] |
123 | | - CLI["CLI"] |
124 | | - ChatOps["ChatOps"] |
125 | | - end |
126 | | - ModelManagement["ModelManagement"] |
127 | | - ValidationAndReporting["ValidationAndReporting"] |
128 | | - Storage["Storage"] |
129 | | - end |
130 | | -
|
131 | | - subgraph Integrations["Integrations Subsystem"] |
132 | | - GitHubIntegration["GitHubIntegration"] |
133 | | - subgraph CICDIntegration["CICDIntegration"] |
134 | | - AIWorkflows["AIWorkflows"] |
135 | | - end |
136 | | - end |
137 | | - end |
138 | | -``` |
139 | | - |
140 | | -**Logical to Physical Architecture Mapping:** |
141 | | - |
142 | | -```mermaid |
143 | | -graph TD |
144 | | - %% Root System |
145 | | - Reqvire["Reqvire (system)"] |
146 | | -
|
147 | | - %% Subsystems under Reqvire |
148 | | - subgraph ReqvireTool["ReqvireTool (subsystem)"] |
149 | | - UserInterface["UserInterface (component)"] |
150 | | - ModelManagement["ModelManagement (component)"] |
151 | | - ValidationAndReporting["ValidationAndReporting (component)"] |
152 | | - Storage["Storage (component)"] |
153 | | - end |
154 | | -
|
155 | | - subgraph Integrations["Integrations (subsystem)"] |
156 | | - GitHubIntegration["GitHubIntegration (component)"] |
157 | | - CICDIntegration["CICDIntegration (component)"] |
158 | | - end |
159 | | -
|
160 | | - subgraph AIWorkflows["AIWorkflows (workflow)"] |
161 | | - AIWorkflowsComponent["AIWorkflows (workflow)"] |
162 | | - end |
163 | | -
|
164 | | - %% AI component (added based on the logical architecture) |
165 | | - AI["AI (component)"] |
166 | | -
|
167 | | - %% Systems |
168 | | - SystemOfInterest["SystemOfInterest (system)"] |
169 | | -
|
170 | | - %% Hierarchical Structure |
171 | | - Reqvire --> ReqvireTool |
172 | | - Reqvire --> Integrations |
173 | | - Reqvire --> AIWorkflows |
174 | | -
|
175 | | - ReqvireTool --> UserInterface |
176 | | - ReqvireTool --> ModelManagement |
177 | | - ReqvireTool --> ValidationAndReporting |
178 | | - ReqvireTool --> Storage |
179 | | -
|
180 | | - UserInterface --> CLI["CLI (component)"] |
181 | | - UserInterface --> ChatOps["ChatOps (component)"] |
182 | | -
|
183 | | - Integrations --> GitHubIntegration |
184 | | - Integrations --> CICDIntegration |
185 | | -
|
186 | | - CICDIntegration --> AIWorkflowsComponent |
187 | | -
|
188 | | - AIWorkflowsComponent --> AI |
189 | | -
|
190 | | - SystemOfInterest --> Storage |
191 | | -``` |
192 | | - |
193 | | -#### Metadata |
194 | | - * type: block |
195 | | - |
196 | | -#### Relations |
197 | | - * trace: [Managing MBSE Models](UserStories.md#managing-mbse-models) |
198 | | - * trace: [AI-Assisted MBSE Model Management](UserStories.md#ai-assisted-mbse-model-management) |
199 | | - * trace: [CLI interface](Interfaces.md#cli-interface) |
200 | | - * trace: [Web Interface](Interfaces.md#web-interface) |
201 | | - * trace: [Integrate with GitHub Workflows](UserStories.md#integrate-with-github-workflows) |
202 | | - * trace: [Model Reports](Reports.md#model-reports) |
203 | | - * trace: [Validating Structures](UserStories.md#validating-structures) |
204 | | ---- |
| 282 | +--- |
0 commit comments