Complete architectural analysis and requirement traceability improvements:
1. Architecture Review Report (NEW)
- Independent architectural review identifying 15 issues
- 5 critical issues: security (no TLS), buffer inadequacy, performance
bottleneck, missing circuit breaker, inefficient backoff
- 5 major issues: no metrics, no graceful shutdown, missing rate limiting,
no backpressure, low test coverage
- Overall architecture score: 6.5/10
- Recommendation: DO NOT DEPLOY until critical issues resolved
- Detailed analysis with code examples and effort estimates
2. Requirement Refinement Verification (NEW)
- Verified Req-FR-25, Req-NFR-7, Req-NFR-8 refinement status
- Added 12 missing Req-FR-25 references to architecture documents
- Confirmed 24 Req-NFR-7 references (health check endpoint)
- Confirmed 26 Req-NFR-8 references (health check content)
- 100% traceability for all three requirements
3. Architecture Documentation Updates
- system-architecture.md: Added 4 Req-FR-25 references for data transmission
- java-package-structure.md: Added 8 Req-FR-25 references across components
- Updated DataTransmissionService, GrpcStreamPort, GrpcStreamingAdapter,
DataConsumerService with proper requirement annotations
Files changed:
- docs/ARCHITECTURE_REVIEW_REPORT.md (NEW)
- docs/REQUIREMENT_REFINEMENT_VERIFICATION.md (NEW)
- docs/architecture/system-architecture.md (4 additions)
- docs/architecture/java-package-structure.md (8 additions)
All 62 requirements now have complete bidirectional traceability with
documented architectural concerns and critical issues identified for resolution.
51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# HSP Configuration File Specification
|
|
|
|
## Purpose
|
|
This configuation file contains all devices that shall be polled by HSP for diagnostic data. It also containts additional data specifying the connection used.
|
|
|
|
## Format
|
|
The Configuration file shall be stored as JSON file.
|
|
|
|
## File Location
|
|
- Path: `./hsp-config.json` (application directory)
|
|
|
|
## JSON Schema
|
|
```json
|
|
{
|
|
"grpc": {
|
|
"server_address": "localhost",
|
|
"server_port": 50051,
|
|
"timeout_seconds": 30
|
|
},
|
|
"http": {
|
|
"endpoints": [
|
|
"http://device1.local:8080/diagnostics",
|
|
"http://device2.local:8080/diagnostics"
|
|
],
|
|
"polling_interval_seconds": 1,
|
|
"request_timeout_seconds": 30,
|
|
"max_retries": 3,
|
|
"retry_interval_seconds": 5
|
|
},
|
|
"buffer": {
|
|
"max_messages": 300
|
|
},
|
|
"backoff": {
|
|
"http_start_seconds": 5,
|
|
"http_max_seconds": 300,
|
|
"http_increment_seconds": 5,
|
|
"grpc_interval_seconds": 5
|
|
}
|
|
}
|
|
```
|
|
|
|
(minimum and default 1 second, maximum 3600 seconds).
|
|
|
|
## Field value limits
|
|
|
|
| Field | Type | Required | Constraints |
|
|
|---|---|---|---|
|
|
| grpc.server_address | string | Yes | Valid hostname or IP |
|
|
| grpc.server_port | integer | Yes | 1-65535 |
|
|
| http.endpoints | array | Yes | Min 1, Max 1000 URLs |
|
|
| http.polling_interval_seconds | integer | Yes | 1-3600 | |