LibMISB/LibMISB Introduction/What does the library do: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
No edit summary
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>
<noinclude>
{{LibMISB/Head|previous=LibMISB_Introduction/What_is_LibMISB|next=LibMISB_Introduction/_Functionalities_supported|keywords=}}
{{LibMISB/Head|previous=LibMISB_Introduction/What_is_LibMISB|next=LibMISB_Introduction/_Functionalities_supported|metakeywords=}}
</noinclude>
</noinclude>


This library aims to make it easier for users to manipulate the encoding and decoding of metadata following MISB standards.  It allows configuring the type of file to be used.
This library aims to make it easier for users to manipulate the encoding and decoding of metadata following MISB standards.  It allows configuring the type of file to be used.
Also, the library was designed to be flexible and modular when adding or manipulating MISB standards, allowing the possibility to implement a custom standard if the customer requires it. 


== Standards supported ==
The following package diagram shows the general structure of the library:
*[https://nsgreg.nga.mil/doc/view?i=5093 MISB 0601.17]
<br>
 
<br>
 
[[File:LibMISB uml package.png| 700px|center|thumb|LibMISB Package diagram|alt=Diagram of main structure of LibMISB Library]]
<br>
<html>
<style type="text/css">
.tg  {border-collapse:collapse;border-color:#ccc;border-spacing:0;margin:0px auto;}
.tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333;
  font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-mqa1{border-color:#000000;font-weight:bold;text-align:center;vertical-align:top}
.tg .tg-lmxn{border-color:#000000;font-style:italic;text-align:left;vertical-align:top}
.tg .tg-73oq{border-color:#000000;text-align:left;vertical-align:top}
</style>
<table class="tg">
<thead>
  <tr>
    <th class="tg-mqa1">Package name</th>
    <th class="tg-mqa1">Objective</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td class="tg-lmxn">codec</td>
    <td class="tg-73oq">Stores what is needed to encode and decode metadata</td>
  </tr>
  <tr>
    <td class="tg-lmxn">decoder</td>
    <td class="tg-73oq">Contains the logic necessary to decode metadata.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">coder</td>
    <td class="tg-73oq">Contains the logic necessary to encode metadata.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">standards</td>
    <td class="tg-73oq">Stores the MISB standards implemented by the developer<br> with their respective specifications and limitations.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">misb0601</td>
    <td class="tg-73oq">Contains the structure that stores the UAS Datalink LS elements <br>of the MISB 0601 standard.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">common</td>
    <td class="tg-73oq">Stores tools in common that can be used to modify or create MISB<br> standards.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">st_utils</td>
    <td class="tg-73oq">Contains structures and tools for creating MISB standards.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">klv_utils</td>
    <td class="tg-73oq">Contains structures and tools for KLV handling.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">formatter</td>
    <td class="tg-73oq">Stores the types of formatting that the library can perform by parsing<br> the metadata inserted by the user.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">json_formatter</td>
    <td class="tg-73oq">Contains the logic for reading metadata from a JSON file.</td>
  </tr>
  <tr>
    <td class="tg-lmxn">misb</td>
    <td class="tg-73oq">Contains the logic and connection of the user's incoming data<br>and of the use of the library in general. It is the package where the <br>user's api is located.</td>
  </tr>
</tbody>
</table>
</html>


<noinclude>{{LibMISB/Foot|LibMISB_Introduction/What_is_LibMISB|LibMISB_Introduction/_Functionalities_supported}}</noinclude>
<noinclude>{{LibMISB/Foot|LibMISB_Introduction/What_is_LibMISB|LibMISB_Introduction/_Functionalities_supported}}</noinclude>

Latest revision as of 13:59, 3 October 2024



Previous: LibMISB_Introduction/What_is_LibMISB Index Next: LibMISB_Introduction/_Functionalities_supported





This library aims to make it easier for users to manipulate the encoding and decoding of metadata following MISB standards. It allows configuring the type of file to be used. Also, the library was designed to be flexible and modular when adding or manipulating MISB standards, allowing the possibility to implement a custom standard if the customer requires it.

The following package diagram shows the general structure of the library:

Diagram of main structure of LibMISB Library
LibMISB Package diagram


Package name Objective
codec Stores what is needed to encode and decode metadata
decoder Contains the logic necessary to decode metadata.
coder Contains the logic necessary to encode metadata.
standards Stores the MISB standards implemented by the developer
with their respective specifications and limitations.
misb0601 Contains the structure that stores the UAS Datalink LS elements
of the MISB 0601 standard.
common Stores tools in common that can be used to modify or create MISB
standards.
st_utils Contains structures and tools for creating MISB standards.
klv_utils Contains structures and tools for KLV handling.
formatter Stores the types of formatting that the library can perform by parsing
the metadata inserted by the user.
json_formatter Contains the logic for reading metadata from a JSON file.
misb Contains the logic and connection of the user's incoming data
and of the use of the library in general. It is the package where the
user's api is located.


Previous: LibMISB_Introduction/What_is_LibMISB Index Next: LibMISB_Introduction/_Functionalities_supported