Skip to content

Commit f5ca392

Browse files
persistency_kvs: document PlantUML files in index
Signed-off-by: Sven Bachmann <sven.bachmann.ext@qorix.ai>
1 parent 40819b0 commit f5ca392

File tree

2 files changed

+116
-0
lines changed

2 files changed

+116
-0
lines changed

docs/features/persistency/key-value-storage/architecture/_assets/kvs_builder.puml renamed to docs/features/persistency/key-value-storage/architecture/_assets/kvs_dyn_builder.puml

File renamed without changes.
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
Feature Architecture : persistency/key_val_storage
2+
==================================================
3+
4+
Overview
5+
--------
6+
7+
- key_val_storage provides the capability to efficiently store, retrieve, and
8+
manage key-value pairs in a persistent storage system.
9+
10+
Description
11+
-----------
12+
13+
- key_val_storage organize data as pairs, where each unique key is associated with a specific value.
14+
The key acts as a unique identifier for getting the value.
15+
- The data is persisted in JSON format to the file system, providing a human-readable,
16+
and widely supported way to store and manage key-value pairs.
17+
- The JSON data persisted is according to RFC-8259.
18+
19+
Rationale Behind Architecture Decomposition
20+
*******************************************
21+
22+
- The architecture is decomposed to include a dedicated JSON parser component (TinyJSON) to facilitate the persistent storage of data in JSON format.
23+
- The architecture is decomposed to include a FileStorage component (fs) to read and write to the file system.
24+
25+
26+
Static Architecture
27+
-------------------
28+
29+
.. feat_arc_sta:: key_val_storage
30+
:id: FEAT_ARC_STA__persistency_key_val_storage__key_value_storage
31+
:security: YES
32+
:safety: ASIL_B
33+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation
34+
:status: valid
35+
36+
.. uml:: _assets/kvs_static_view.puml
37+
38+
Dynamic Architecture
39+
--------------------
40+
41+
.. feat_arc_dyn:: KVS Builder
42+
:id: FEAT_ARC_DYN__persistency_key_val_storage__builder_pattern
43+
:security: YES
44+
:safety: ASIL_B
45+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
46+
:status: valid
47+
48+
.. uml:: _assets/kvs_dyn_builder.puml
49+
50+
.. feat_arc_dyn:: Check if key contains default value
51+
:id: FEAT_ARC_DYN__persistency_key_val_storage__check_key_default_value
52+
:security: YES
53+
:safety: ASIL_B
54+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
55+
:status: valid
56+
57+
.. uml:: _assets/kvs_dyn_check_value_default.puml
58+
59+
.. feat_arc_dyn:: Delete key from KVS instance
60+
:id: FEAT_ARC_DYN__persistency_key_val_storage__delete_key
61+
:security: YES
62+
:safety: ASIL_B
63+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
64+
:status: valid
65+
66+
.. uml:: _assets/kvs_dyn_delete_data_key.puml
67+
68+
.. feat_arc_dyn:: Flush to permanent storage
69+
:id: FEAT_ARC_DYN__persistency_key_val_storage__flush
70+
:security: YES
71+
:safety: ASIL_B
72+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
73+
:status: valid
74+
75+
.. uml:: _assets/kvs_dyn_flush_local_repr_to_file.puml
76+
77+
.. feat_arc_dyn:: Read key value
78+
:id: FEAT_ARC_DYN__persistency_key_val_storage__read_key
79+
:security: YES
80+
:safety: ASIL_B
81+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
82+
:status: valid
83+
84+
.. uml:: _assets/kvs_dyn_read_data_key.puml
85+
86+
.. feat_arc_dyn:: Read data from permanent storage
87+
:id: FEAT_ARC_DYN__persistency_key_val_storage__read_data_from_perm_storage
88+
:security: YES
89+
:safety: ASIL_B
90+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
91+
:status: valid
92+
93+
.. uml:: _assets/kvs_dyn_read_file_into_local_repr.puml
94+
95+
.. feat_arc_dyn:: Write value to key
96+
:id: FEAT_ARC_DYN__persistency_key_val_storage__write_key
97+
:security: YES
98+
:safety: ASIL_B
99+
:satisfies: FEAT_REQ__persistency_key_val_storage__creation,FEAT_REQ__persistency_key_val_storage__initialization,FEAT_REQ__persistency_key_val_storage__error,FEAT_REQ__persistency_key_val_storage__get_value
100+
:status: valid
101+
102+
.. uml:: _assets/kvs_dyn_write_data_key.puml
103+
104+
105+
Logical Interfaces
106+
------------------
107+
108+
.. feat_arc_int:: Ikvs
109+
:id: FEAT_ARC_INT__persistency_key_val_storage__keyvaluestorage
110+
:security: YES
111+
:safety: ASIL_B
112+
:satisfies: FEAT_REQ__persistency_key_val_storage__get_keys,FEAT_REQ__persistency_key_val_storage__set_value,FEAT_REQ__persistency_key_val_storage__get_value,FEAT_REQ__persistency_key_val_storage__persistency,FEAT_REQ__persistency_key_val_storage__reset
113+
:status: valid
114+
115+
116+
.. uml:: _assets/kvs_interface.puml

0 commit comments

Comments
 (0)