120 lines
3.2 KiB
Markdown
120 lines
3.2 KiB
Markdown
## 1\. Purpose
|
|
|
|
This document defines **cross-feature constraints** that apply across multiple system features and components. These constraints ensure consistent behavior, prevent architectural violations, and reduce integration risk.
|
|
|
|
Cross-feature constraints are **mandatory rules** that all future software design and implementation must comply with.
|
|
|
|
## 2\. Architectural Constraints
|
|
|
|
### CFC-ARCH-01: Layered Architecture Enforcement
|
|
|
|
* Application logic shall not access hardware directly.
|
|
|
|
* All hardware access shall be performed via Drivers and OSAL layers.
|
|
|
|
* Persistence access shall only be performed through the DP component.
|
|
|
|
|
|
**Impacted Features:**
|
|
DAQ, DQC, DATA, DIAG, SYS, OTA, SEC
|
|
|
|
### CFC-ARCH-02: State-Aware Feature Execution
|
|
|
|
* All features shall be aware of the current system state.
|
|
|
|
* Features shall not execute actions that are invalid for the current state.
|
|
|
|
|
|
**Examples:**
|
|
|
|
* DAQ shall not start sampling during OTA\_UPDATE.
|
|
|
|
* Communication shall be limited during TEARDOWN.
|
|
|
|
|
|
**Impacted Features:**
|
|
SYS, DAQ, COM, OTA, DATA
|
|
|
|
## 3\. Concurrency & Timing Constraints
|
|
|
|
### CFC-TIME-01: Non-Blocking Operation
|
|
|
|
* Sensor acquisition, communication, and UI updates shall be non-blocking.
|
|
|
|
* Blocking operations shall be isolated in controlled system services (e.g., persistence task).
|
|
|
|
|
|
**Impacted Features:**
|
|
DAQ, COM, SYS
|
|
|
|
### CFC-TIME-02: Deterministic Task Behavior
|
|
|
|
* Time-critical tasks (sensor acquisition, watchdog servicing) shall have deterministic execution time.
|
|
|
|
* Dynamic memory allocation during runtime shall be minimized or prohibited in critical paths.
|
|
|
|
|
|
**Impacted Features:**
|
|
DAQ, SYS, DIAG
|
|
|
|
## 4\. Data & Persistence Constraints
|
|
|
|
### CFC-DATA-01: Single Source of Truth
|
|
|
|
* Runtime and persistent data shall be owned and managed by the DP component.
|
|
|
|
* No feature shall maintain private persistent copies of shared system data.
|
|
|
|
|
|
**Impacted Features:**
|
|
DATA, DAQ, DIAG, SYS, OTA
|
|
|
|
### CFC-DATA-02: Data Consistency During Transitions
|
|
|
|
* No data write operations shall occur during teardown unless explicitly authorized by the System Manager.
|
|
|
|
* Persistence completion shall be confirmed before state transitions.
|
|
|
|
|
|
**Impacted Features:**
|
|
SYS, DATA, OTA
|
|
|
|
## 5\. Security Constraints
|
|
|
|
### CFC-SEC-01: Security First Initialization
|
|
|
|
* Secure boot and flash protection shall be enabled before any application-level logic executes.
|
|
|
|
|
|
**Impacted Features:**
|
|
SEC, SYS
|
|
|
|
### CFC-SEC-02: Encrypted Channels Only
|
|
|
|
* OTA, diagnostics, and data transmission shall only occur over encrypted and authenticated channels.
|
|
|
|
|
|
**Impacted Features:**
|
|
COM, OTA, DIAG, SEC
|
|
|
|
## 6\. HMI & Debug Constraints
|
|
|
|
### CFC-HMI-01: Read-Only Local UI
|
|
|
|
* The OLED HMI shall not allow configuration changes that affect system safety or security.
|
|
|
|
* Configuration updates shall only be accepted via authenticated communication channels.
|
|
|
|
|
|
**Impacted Features:**
|
|
SYS, SEC
|
|
|
|
### CFC-DBG-01: Debug Isolation
|
|
|
|
* Debug and engineering sessions shall not interfere with normal system operation.
|
|
|
|
* Debug commands shall respect system state restrictions.
|
|
|
|
|
|
**Impacted Features:**
|
|
SYS, DIAG, SEC |