Releases: ge-high-assurance/RITE
Test Release for ASE
This is a test release of RITE for ASE
Contents:
HEPS_ase_v2.zip
: A sample ingestion package with data for a Hybrid Electric Propulsion System Project (will work for GSN and ARP4754A, won't work for DO-178C)OEM-Ingestion-Package-v4.zip
: A sample ingestion package with data for a Original Equipment Manufacturer Project (will work for GSN, DO-178C, and ARP4754A)RITE-win32.win32.x86_64-ase2024.zip
: A windows executable of RITE with the prototype feature
Note:
- Consult the RITE Wiki for instructions for RITE prerequisites
- A brief tutorial for getting started: Tutorial.pdf
ARP4754A Tool Prototype With Plan Creator
This is a Test Release of RITE for the ARP4754A Dashboard Prototype
Contents:
OEM-Ingestion-Package-v3.zip
: A sample OEM ingestion package with data to run the toolRITE-win32_86_64_arp4754aWithPlan_v1
: A windows executable for RITE with the prototype feature
Note:
- Consult the RITE Wiki for instructions for RITE prerequisites
- A brief tutorial for getting started: Tutorial.pdf
SAFECOMP 2024 Release
This is a release of RITE for SAFECOMP 2024
Release Artifacts
RITE-win32.win32.x86_64-safecomp24_v3.zip
: RITE stable release for WindowsOEM_safecomp24_v2.zip
: The ingestion package with examples from the paperOntologies.zip
: All SADL ontologies described in the paper
Resources
- Consult the RITE Wiki for instructions on how to set up RITE
- Consult the GSN Generator Wiki for instructions on creating project-specific GSN patterns and using the tool
An end-to-end example of the workflow using the OEM example from the paper
We assume that the users have access to the RACK core ontology and the GSN core ontology. Both these are standard and remain same across projects and teams.
Step 1: The project ontology and the project GSN patterns are created using SADL. The evidence is generated using project-specific tools and stored as CSV files following the project ontology for ingestion.
OEM Ontology Snippet |
OEM GSN Pattern Snippet |
A CSV Evidence file |
Step 2: Some predefined queries are executed to extract the pattern data from RACK
{
"version": 3,
"sparqlConn": {
"name": "gsn_pattern_queries",
"domain": "",
"enableOwlImports": true,
"model": [
{
"type": "fuseki",
"url": "http://localhost:3030/RACK",
"graph": "http://rack001/model"
}
],
"data": [
{
"type": "fuseki",
"url": "http://localhost:3030/RACK",
"graph": "http://rack001/data"
}
]
},
"sNodeGroup": {
"version": 19,
"limit": 0,
"offset": 0,
"sNodeList": [
{
"propList": [
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://sadl.org/GSN-Pattern-core.sadl#classId",
"Constraints": "",
"SparqlID": "?classId",
"isReturned": true,
"optMinus": 0,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
},
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://sadl.org/GSN-Pattern-core.sadl#passValue",
"Constraints": "",
"SparqlID": "?passValue",
"isReturned": true,
"optMinus": 0,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
},
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://sadl.org/GSN-Pattern-core.sadl#statusProperty",
"Constraints": "",
"SparqlID": "?statusProperty",
"isReturned": true,
"optMinus": 0,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
}
],
"nodeList": [],
"fullURIName": "http://sadl.org/GSN-Pattern-core.sadl#GsnEvidence",
"SparqlID": "?GsnEvidence",
"isReturned": false,
"isRuntimeConstrained": false,
"valueConstraint": "",
"instanceValue": null,
"deletionMode": "NO_DELETE"
}
],
"orderBy": [],
"groupBy": [],
"unionHash": {},
"columnOrder": []
},
"importSpec": {
"version": "1",
"baseURI": "",
"columns": [],
"dataValidator": [],
"texts": [],
"transforms": [],
"nodes": [
{
"sparqlID": "?GsnEvidence",
"type": "http://sadl.org/GSN-Pattern-core.sadl#GsnEvidence",
"mapping": [],
"props": []
}
]
},
"plotSpecs": []
}
A predefined query to get evidence patterns
Evidence patterns fetched by query |
Step 3: Patterns are generated by the Pattern Interpreter
Goal/Strategy/Evidence patterns |
Step 4: Patterns are used by the Pattern Integrator to create complex GSN Tree pattern
GSN tree pattern |
Step 5: The GSN Tree Pattern is used by the Query Synthesizer to synthesize queries to fetch data for each node class in the tree
{
"version": 3,
"sparqlConn": {
"name": "synthesis",
"domain": "",
"enableOwlImports": true,
"model": [
{
"type": "fuseki",
"url": "http://localhost:3030/RACK",
"graph": "http://rack001/model"
}
],
"data": [
{
"type": "fuseki",
"url": "http://localhost:3030/RACK",
"graph": "http://rack001/data"
}
]
},
"sNodeGroup": {
"version": 19,
"limit": 0,
"offset": 0,
"sNodeList": [
{
"propList": [
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://arcos.rack/PROV-S#description",
"Constraints": "",
"SparqlID": "?description_SRS_Req",
"isReturned": true,
"optMinus": 1,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
},
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://arcos.rack/PROV-S#identifier",
"Constraints": "",
"SparqlID": "?identifier_SRS_Req",
"isReturned": true,
"optMinus": 0,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
}
],
"nodeList": [],
"fullURIName": "http://arcos.rack/OEM#SRS_Req",
"SparqlID": "?SRS_Req",
"isReturned": false,
"isRuntimeConstrained": false,
"valueConstraint": "",
"instanceValue": null,
"deletionMode": "NO_DELETE"
},
{
"propList": [
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://arcos.rack/PROV-S#description",
"Constraints": "",
"SparqlID": "?description_SubDD_Req",
"isReturned": true,
"optMinus": 1,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
},
{
"valueTypes": [
"string"
],
"rangeURI": "http://www.w3.org/2001/XMLSchema#string",
"UriRelationship": "http://arcos.rack/PROV-S#identifier",
"Constraints": "",
"SparqlID": "?identifier_SubDD_Req",
"isReturned": true,
"optMinus": 0,
"isRuntimeConstrained": false,
"instanceValues": [],
"isMarkedForDeletion": false
}
],
"nodeList": [
{
"SnodeSparqlIDs": [
"?SRS_Req"
],
"OptionalMinus": [
1
],
"Qualifiers": [
""
],
"DeletionMarkers": [
false
],
"range": [
"http://arcos.rack/OEM#SRS_Req"
],
"ConnectBy": "triggers",
"Connected": true,
"UriConnectBy": "http://arcos.rack/REQUIREMENTS#satisfies"
}
],
"fullURIName": "http://arcos.rack/OEM#SubDD_Req",
"SparqlID": "?SubDD_Req",
"isReturned": false,
"isRuntimeConstrained": false,
"valueConstraint": "",
"instanceValue": null,
"deletionMode": "NO_DELETE"
}
],
"orderBy": [],
"groupBy": [],
"unionHash": {},
"columnOrder": []
},
"importSpec": {
"version": "1",
"baseURI": "",
"columns": [],
"dataValidator": [],
"texts": [],
"transforms": [],
"nodes": [
{
"sparqlID": "?SubDD_Req",
"type": "http://arcos.rack/OEM#SubDD_Req",
"mapping": [],
"props": []
},
{
"sparqlID": "?SRS_Req",
"type": "http://arcos.rack/OEM#SRS_Req",
"mapping": [],
"props": []
}
]
},
"plotSpecs": []
}
A synthesized query
Step 6: The Queries are executed to fetch the data to instantiate the GSN Tree
Result of the query shown above |
Step 7: The GSN Synthesizer uses the GSN Tree pattern and the data to instantiate a GSN Tree
An example output |
RITE v0.7.0 for NFM 2024
A beta release of RITE v0.7.0 for NFM 2024 with prototype features like the DO178C Reporting Tool
Prerequisites and Wiki
Users should refer to the RITE Wiki for the latest available tutorials on RITE. An HTML snapshot of the wiki for v0.7.0 can be found here: v0.7.0_Wiki_html.zip.
Video Demos
ARP4754A Prototype v1
This is a Test Release of RITE for the ARP4754A Dashboard Prototype
Contents:
OEM-Ingestion-Package-v3.zip
: A sample OEM ingestion package with data to run the toolRITE_ARP4754A_032324.zip
: A windows executable for RITE with the prototype feature
Note:
- Consult the RITE Wiki for instructions for RITE prerequisites
- A brief tutorial for getting started: Tutorial.pdf
RITE v0.7.0
RITE v0.7.0 Release
This release fixes some major bugs and introduces some new features. This is a companion release to RACK v13.0 release.
v0.7.0 Features
- Creating Monolithic Ingestion Packages
- Creating Modular Ingestion Packages
- Uploading Ingestion Packages into RACK
- Viewing Information about the Ontology and Nodegroups on RACK
- Executing Nodegroups Stored on RACK
- Creating Instance Data for Testing the Ontology on RACK
- Generating Ingestion Nodegroups for the Ontology on RACK
- Selectively Clearing Ontology and/or Data Graphs on RACK
- Automatically Generating GSN Assurance Cases using the Evidence on RACK
Wiki
Users should refer to the RITE Wiki for the latest available tutorials on RITE. An HTML snapshot of the wiki for v0.7.0 can be found here: v0.7.0_Wiki_html.zip.
What's Changed
- Feature Updates #112 #95
- GUI Updates #93 #105 #104
- Bug Fixes #122 #121 #118 #117
- Public Use Case and Ingestion Package e9b96a1
Full Changelog: v0.6.0...v0.7.0
Copyright (c) 2021-2023 General Electric Company, Galois, Inc.
All Rights Reserved
This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) under Contract No. FA8750-20-C-0203.
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Defense Advanced Research Projects Agency (DARPA).
Distribution Statement "A" (Approved for Public Release, Distribution Unlimited)
DASC2023_Prototype
This version of RITE consists of a prototype implementation of the DO-178C Compliance Dashboard described in the DASC 2023 Paper titled "Automated DO-178C Compliance Summary through Evidence Curation". The purpose is to allow interested readers to download the tool and explore the concept of the dashboard.
A tutorial for installing and running the prototype can be found here: Tutorial.pdf
README:
- Needs Rack V12.0.
- Needs Java 17.
- This release supports limited features and may have bugs.
- This release is available only for Windows OS.
RITE v0.6.0
Release notes
- Rack Console prints messages uniformly #5 #4
- Rack Console pinned by default #4
- Specify datagraphs for query nodegroups #7
- Specify folder to place zipped ingestion package #53
- Regenerate manifest file feature #30
- Build RACK CLI style zipped ingestion packages and upload #14
- Better progress bar handling for Manifest Import #13
- Automatic GSN Inference
What's Changed
- Build RITE for aarch64 as well by @tuxji in #19
- RITE-15: Asynchronous Upload Nodegroup(s) Action by @chrisage in #24
- Support (re)generation of manifest files from RITE by @glguy in #30
- Incorporate footprint into manifest generation by @glguy in #31
- use jsonFile property from store_data csv for nodegroup ingestion by @saratge in #39
- Generate filesystem-relative paths for submanifests by @glguy in #48
- RITE-12: Enabling user selection of ingestion package save directory by @chrisage in #53
- Update RITE to Java 17 and SADL 3.6.0-SNAPSHOT by @tuxji in #60
New Contributors
- @dependabot made their first contribution in #1
- @tuxji made their first contribution in #19
- @saratge made their first contribution in #25
- @glguy made their first contribution in #30
Full Changelog: v0.5.0...v0.6.0
RITE v0.5.0
The features of v0.5.0 are:
- Creating Manifest-Based Ingestion Packages for RACK
- Ingesting a Well-Formed Ingestion Package into RACK
- Viewing Information about the Ontology and Nodegroups Stored on RACK
- Quickly Creating Instance Data for the Ontology Currently Loaded on RACK
- Executing Nodegroups Currently Loaded on RACK and Viewing Results
- Generating Ingestion Nodegroups for the Ontology Currently Loaded on RACK
- SADL Model Development