Skip to content

Commit e6da1a9

Browse files
committed
Update README
1 parent 891a98b commit e6da1a9

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

README.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,53 @@ SPDX-License-Identifier: MIT
99
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/DLR-KI/safetynet/main.svg)](https://results.pre-commit.ci/latest/github/DLR-KI/safetynet/main)
1010
[![REUSE status](https://api.reuse.software/badge/github.com/DLR-KI/safetynet)](https://api.reuse.software/info/github.com/DLR-KI/safetynet)
1111

12-
This directory contains the JSON manifests for the different components of the SafetyNet standard.
12+
This directory contains the JSON schema for the different components of the SafetyNet standard.
13+
14+
## Usage
15+
16+
This repository contains the JSON schema to verify an arbitrary JSON file against the SafteyNet standard.
17+
The current version of the SafetyNet standard is `1.0.0`.
18+
Accordingly, the JSON schema are located in the `1.0.0` directory and the raw urls are:
19+
20+
- Manifest: <https://raw.githubusercontent.com/DLR-KI/safetynet/refs/heads/main/1.0.0/manifest.schema.json>
21+
- NNet: <https://raw.githubusercontent.com/DLR-KI/safetynet/refs/heads/main/1.0.0/nnet.schema.json>
22+
- SafetyNet: <https://raw.githubusercontent.com/DLR-KI/safetynet/refs/heads/main/1.0.0/safetynet.schema.json>
23+
24+
For a more detailed description of the SafetyNet standard, please refer to the paper.
25+
26+
## Business Logic
27+
28+
Unfortunately, the JSON schema does not support the full range of business logic that is required to validate the SafetyNet standard.
29+
For example, cross checks between files are not possible.
30+
Therefore, to fully validate the SafetyNet standard, a custom validator is required.
31+
This custom validator should adhere to the following rules:
32+
33+
| ID | Name | Description |
34+
| ----- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
35+
| G-001 | Available Files | It shall be ensured that all files referenced in the manifest are available. |
36+
| G-002 | Datatype Coherence | It shall be ensured that the same datatype is used for all neural networks and lookup tables referred to in the manifest. This datatype shall be ensured to be the same as the datatype specified in the manifest. It shall moreover be used for both the input and output vector of both the neural networks and lookup tables. |
37+
| G-003 | Input Coherence | It shall be ensured that all neural networks and lookup tables adhere to the structure of the inputs defined in the manifest. This includes but is not limited to ensuring that all input strides defined by the neural networks and lookup tables adhere to the input strides defined by the manifest. |
38+
| G-004 | Input Coverage | It shall be ensured that all the inputs of all neural networks and lookup tables cover at least the required input space defined in the conditionals of the manifest. |
39+
| G-005 | Output Number | It shall be ensured that all neural networks and lookup tables adhere to the number of outputs defined in the manifest. |
40+
| G-006 | Output Type | It shall be ensured that the output of both the neural networks and lookup tables are an arbitrary vector of numbers with the length ensured by G-005. |
41+
| G-007 | Ensured Responsibility | It shall be ensured that every allowed input vector is covered by at least one neural network or lookup table. |
42+
| G-008 | Single Responsibility | It shall be ensured that every allowed input vector is covered by at most one neural network and lookup table. |
43+
| G-009 | Condition Limits | It shall be ensured that all conditions of the neural networks and lookup tables are within the limits defined in the input range in the manifest of the corresponding neural network or lookup table. |
44+
| G-010 | Wildcard Conditional | It shall be ensured that all inputs which are not part of the conditions are not part of the decision process. |
45+
| M-001 | Versioning | It shall be ensured that the version of the manifest adheres to the version of the schema. |
46+
| M-002 | Compatible Versioning | It shall be ensured that the version of the neural networks and lookup tables are compatible with the manifest. |
47+
| L-001 | Correct Output | It shall be ensured that the output of the lookup table has the correct length and datatype for all defined outputs. |
48+
| L-002 | Known Format | It shall be ensured that all lookup tables are in an allowed format. |
49+
| L-003 | Relayed Responsibility | It shall be ensured that the lookup table can determine whether the responsibility for any given valid input vector lies within the lookup table or if the neural network has to be queried. |
50+
| N-001 | Correct Output | It shall be ensured that the output of the neural network as defined in the manifest has the correct length and datatype for all defined outputs. |
51+
| N-002 | Known Format | It shall be ensured that all neural networks are in an allowed format. |
52+
53+
## Related Software
54+
55+
The SafetyNet standard has been implemented in the following software:
56+
57+
- [Advisory Viewer](https://aeronautical-informatics.github.io/openCAS/)
58+
- [openCAS](https://github.com/aeronautical-informatics/openCAS)
1359

1460
## Citation
1561

0 commit comments

Comments
 (0)