Files
ASF_01_sys_sw_arch/draft/System Design old/Engineering Review Report.md
2026-01-26 12:49:12 +01:00

4.2 KiB

Engineering Review Report

A. Executive Summary

Overall System Maturity Level

The ASF Sensor Hub demonstrates a well-structured architecture with clear layering, defined responsibilities, and adherence to embedded system constraints. However, several critical gaps and risks need to be addressed before proceeding to the implementation phase.

Major Risks (Top 5)

  1. Cross-Feature Conflicts: Potential timing conflicts between OTA updates and DAQ operations.
  2. State Machine Completeness: Undefined transitions for error handling and degraded states.
  3. Data Integrity Risks: Insufficient guarantees for data persistence during power loss.
  4. Security Gaps: Lack of detailed secure boot and cryptographic key management mechanisms.
  5. Scalability Concerns: Limited provisions for adding new sensor types or features.

Go / No-Go Recommendation

No-Go: Address the identified critical risks and gaps before proceeding to the implementation phase.


B. Detailed Findings

1. Architecture

Findings:

  • Layering & Separation of Concerns: Proper abstraction boundaries are defined, but direct hardware access by features bypassing the System Manager is a risk. Severity: Major
  • State Machine Validity: Some states (e.g., ERROR, DEGRADED) lack defined transitions and behaviors. Severity: Critical

Recommendations:

  • Enforce strict access controls to hardware and persistence layers.
  • Define and document all state transitions and behaviors.

2. Requirements

Findings:

  • Missing Requirements: No explicit requirements for handling SD card wear or power loss scenarios. Severity: Critical
  • Conflicting Requirements: OTA updates may interfere with real-time DAQ operations. Severity: Major

Recommendations:

  • Add requirements for wear leveling and power loss recovery.
  • Define OTA timing constraints to avoid conflicts.

3. Performance

Findings:

  • Memory Usage Risks: High-frequency sampling and local filtering may exceed ESP32-S3 memory limits. Severity: Major

Recommendations:

  • Optimize memory usage by profiling and limiting buffer sizes.

4. Reliability

Findings:

  • Fault Tolerance: No defined behavior for sensor failures during runtime. Severity: Major

Recommendations:

  • Implement fallback mechanisms for failed sensors.

5. Security

Findings:

  • Secure Boot: No detailed mechanism for secure boot and firmware authenticity verification. Severity: Critical

Recommendations:

  • Implement secure boot and cryptographic verification for firmware.

6. Maintainability

Findings:

  • Scalability: Adding new sensors requires significant manual effort. Severity: Minor

Recommendations:

  • Use a modular approach for sensor integration.

C. Missing / Risky Areas

Missing System Requirements

  • SD card wear leveling.
  • Power loss recovery mechanisms.

Missing System States

  • Detailed ERROR and DEGRADED state transitions.

Missing Failure Handling

  • Sensor failure fallback mechanisms.

Missing Documentation

  • Secure boot and cryptographic key management.

D. Improvement Recommendations

  1. Architectural Enhancements:

    • Enforce strict abstraction boundaries.
    • Define all state transitions and behaviors.
  2. Requirement Additions:

    • Add requirements for SD card wear leveling and power loss recovery.
  3. Security Improvements:

    • Implement secure boot and cryptographic verification mechanisms.
  4. Scalability Enhancements:

    • Adopt a modular approach for sensor integration.

E. Generated Artifacts

State Machine Diagram

graph TD
    INIT --> IDLE
    IDLE --> RUNNING
    RUNNING --> DEGRADED
    RUNNING --> ERROR
    DEGRADED --> TEARDOWN
    ERROR --> TEARDOWN
    TEARDOWN --> INIT

Cross-Feature Conflict Table

Feature A Feature B Conflict Description Resolution Recommendation
OTA DAQ Timing conflicts Define OTA timing constraints
Persistence Power Loss Data corruption risks Add wear leveling and recovery