Component Architecture Documentation#
IAV Primula Architecture
|
status: draft
security: YES
safety: QM
|
||||
Overview#
The IAV Primula component is a lightweight Rust library exposing one public API to return a deterministic baseline message.
Requirements Linked to Component Architecture#
.. needtable:: Overview of Component Requirements
:style: table
:columns: title;id
:filter: search("comp_arch_sta__archdes$", "fulfils_back")
:colwidths: 70,30
Description#
The component currently has no internal sub-components. Public API and
implementation are both located in src/main.rs.
Design constraints:
Keep API deterministic and side-effect free.
Keep implementation simple for initial onboarding and traceability.
Rationale Behind Architecture Decomposition#
No decomposition into lower-level components is introduced in this initial version because complexity is low and responsibilities are clear.
Note
Common decisions across components / cross cutting concepts is at the higher level.
Static Architecture#
The components are designed to cover the expectations from the feature architecture (i.e. if already exists a definition it should be taken over and enriched).
A component can optional also consist of lower level components to further structure the architecture. The component and its static views can also optionally use interfaces provided by other components.
IAV Primula
|
status: valid
security: YES
safety: QM
|
||||
IAV Primula Static View
|
status: valid
security: YES
safety: QM
|
||||
|
|||||
Dynamic Architecture#
IAV Primula Dynamic View
|
status: valid
security: YES
safety: QM
|
||||
Caller invokes |
|||||
Interfaces#
Public hello message interface
|
status: valid
security: NO
safety: QM
|
||||
Internal Components#
No internal components are defined in this baseline version.
Note
Architecture can be split into multiple files. At component level the public interfaces to be used by the user and tester to be shown.