### SOVD Entity Relations Example Source: https://github.com/eclipse-opensovd/opensovd/blob/main/docs/design/design.md Demonstrates common entity relationships within the SOVD system, showing how to query these relationships using HTTP GET requests. These relations define inter-component dependencies and locations. ```http GET /components/Hpc1/hosts ``` ```http GET /apps/{FaultManager,App1..N,Sovd2Uds,Uds2Sovd}/is-located-on ``` ```http GET /components/Ecu{1..N}/hosts ``` ```http GET /functions/VehicleHealth/depends-on ``` -------------------------------- ### SOVD Entity Hierarchy Example Source: https://github.com/eclipse-opensovd/opensovd/blob/main/docs/design/design.md Illustrates the hierarchical structure of SOVD entities, including components, apps, and functions. This structure defines how different parts of the system are organized and related. ```text SOVDServer ├── components/ │ ├── Hpc1 (current compute unit) │ │ ├── data/ │ │ └── faults/ │ ├── Ecu1 (classic ECU - exposed by Sovd2Uds) │ │ ├── data/ │ │ └── faults/ │ └── EcuN (classic ECU - exposed by Sovd2Uds) │ ├── data/ │ └── faults/ ├── apps/ │ ├── FaultManager (central fault manager, is-located-on Hpc1) │ │ ├── data/ │ │ ├── faults/ (does not aggregate faults from other apps) │ ├── App1 │ │ ├── data/ │ │ └── faults/ │ ├── AppN │ │ ├── data/ │ │ └── faults/ │ ├── Sovd2Uds (Classic Diagnostic Adapter) │ │ ├── data/ │ │ └── faults/ │ └── Uds2Sovd (UDS-to-SOVD Proxy) │ ├── data/ │ └── faults/ └── functions/ └── VehicleHealth (cross-entity fault view) ``` -------------------------------- ### Rust Linting Rules Configuration Source: https://github.com/eclipse-opensovd/opensovd/blob/main/docs/decisions/0001-rust-codestyle-rules.md Configuration for specific Rust lints, including rules for indexing, unwraps, arithmetic operations, cloning on references, and literal suffixes. These are typically defined in a Cargo.toml file. ```toml ## lints related to runtime panic behavior # enforce only checked access to slices to avoid runtime panics indexing_slicing = "deny" # disallow any unwraps in the production code # (unwrap in test code is explicitly allowed) unwrap_used = "deny" # enforce that arithmetic operations that can produce side effects always use # either checked or explicit versions of the operations. eg. `.checked_add(...)` # or `.saturating_sub(...)` to avoid unexpected runtime behavior or panics. arithmetic_side_effects = "deny" ## lints related to readability of code # enforce that references are cloned via eg. `Arc::clone` instead of `.clone()` # making it explit that a reference is cloned here and not the underlying data. clone_on_ref_ptr = "warn" # enforce that the type suffix of a literal is always appended directly # eg. 12u8 instead of 12_u8 separated_literal_suffix = "deny" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.