Split JSON-Library in two components#1846
Conversation
|
The created documentation from the pull request is available at: docu-html |
Resolves: #1432
832cb66 to
f78af61
Compare
|
@aschemmel-tech, What is the folder structure for two subcomponents: the wrapper and the nlohmann_json? Do we need to split the requirements.rst document into two documents? |
| :status: valid | ||
| :included_by: logic_arc_int__baselibs__json | ||
|
|
||
| .. logic_arc_int_op:: Dump |
There was a problem hiding this comment.
| .. logic_arc_int_op:: Dump | |
| .. logic_arc_int_op:: Write |
to be consistent with the naming in https://github.com/eclipse-score/baselibs/blob/main/score/json/i_json_writer.h
|
|
@aschemmel-tech, thank you. See also the discussion about the |
e9a0c93 to
eeb1e5b
Compare
removed/merged the validation requirement as requested in the meeting |
| :realizes: PROCESS_wp__requirements_comp | ||
|
|
||
| Due to low complexity, the requirements of the JSON component were not split into the "sub" components | ||
| "JSON Wrapper" and ""nlohman_json". Reasoning is the low number of requirements (only about ten). |
There was a problem hiding this comment.
redundant quote
| "JSON Wrapper" and ""nlohman_json". Reasoning is the low number of requirements (only about ten). | |
| "JSON Wrapper" and "nlohman_json". Reasoning is the low number of requirements (only about ten). |
| Due to low complexity, the requirements of the JSON component were not split into the "sub" components | ||
| "JSON Wrapper" and ""nlohman_json". Reasoning is the low number of requirements (only about ten). | ||
| The component split was done nevertheless, because "JSON Wrapper" is implemented as part of the S-CORE project and | ||
| ""nlohman_json" is reused from open source. |
There was a problem hiding this comment.
one more redundant quote
| ""nlohman_json" is reused from open source. | |
| "nlohman_json" is reused from open source. |
| The component split was done nevertheless, because "JSON Wrapper" is implemented as part of the S-CORE project and | ||
| ""nlohman_json" is reused from open source. | ||
|
|
||
| So the requiremnts for "JSON Wrapper" are documented in :need:`doc__json_requirements` |
| The integrity of input JSON data shall be ensured by the user. | ||
| The user shall provide a string as input which is not corrupted due to HW or QM SW errors. | ||
|
|
||
| Note: This could be achieved by using a safe read-only filesystem for JSON file storage or a CRC protection on the JSON file content. |
There was a problem hiding this comment.
I would write "checksum protection" instead of CRC.
The CRC is a specific algorithm for calculating the checksum, and there are others.
| Requirements Linked to Component Architecture | ||
| --------------------------------------------- | ||
|
|
||
| see the "fulfils" links in static and dynamic architecture below. |
There was a problem hiding this comment.
| see the "fulfils" links in static and dynamic architecture below. | |
| See the "fulfils" links in static and dynamic architecture below. |
| Description | ||
| ----------- | ||
|
|
||
| JSON provides an abstraction layer to unterlying implementations, in first iteration there is only one |
|
|
||
| JSON provides an abstraction layer to unterlying implementations, in first iteration there is only one | ||
| implementation provided. But generally there is a "Wrapper" and an "Implementation" lower-level component. | ||
|
|
There was a problem hiding this comment.
I would add an explanation about the exception we have. The JSON writing functionality is implemented in the wrapper currently.
This also means that the comp_req__json__serialization should be linked with the wrapper static architecture and not nlohmann.
There was a problem hiding this comment.
ok, added design decision and moved the requirement fulfillment
| :included_by: logic_arc_int__baselibs__json | ||
|
|
||
| .. logic_arc_int_op:: Write | ||
| :id: logic_arc_int_op__baselibs__tofile |
There was a problem hiding this comment.
wording "tofile" may be misleading.
We support writing both to file and to a buffer in memory
There was a problem hiding this comment.
renamed operations
|
@aschemmel-tech, looks good. Please squash commits when merging. |
Resolves: #1432