Skip to content

Releases: ge-high-assurance/RITE

Test release

02 Apr 15:24
Compare
Choose a tag to compare
Test release Pre-release
Pre-release
opgsn_v1

first push of all opgsn stuff

ARP4754A Tool Prototype With Plan Creator

28 Mar 13:21
Compare
Choose a tag to compare

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 tool
  • RITE-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

04 Jan 14:30
Compare
Choose a tag to compare
SAFECOMP 2024 Release Pre-release
Pre-release

This is a release of RITE for SAFECOMP 2024

Release Artifacts

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

image

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.

image
OEM Ontology Snippet
image
OEM GSN Pattern Snippet
image
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

image
Evidence patterns fetched by query

Step 3: Patterns are generated by the Pattern Interpreter

image
Goal/Strategy/Evidence patterns

Step 4: Patterns are used by the Pattern Integrator to create complex GSN Tree pattern

image
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

image
Result of the query shown above

Step 7: The GSN Synthesizer uses the GSN Tree pattern and the data to instantiate a GSN Tree

image
An example output

RITE v0.7.0 for NFM 2024

11 Dec 18:09
Compare
Choose a tag to compare
Pre-release

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

27 Feb 20:36
Compare
Choose a tag to compare
ARP4754A Prototype v1 Pre-release
Pre-release

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 tool
  • RITE_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

05 Sep 17:57
Compare
Choose a tag to compare

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

  1. Creating Monolithic Ingestion Packages
  2. Creating Modular Ingestion Packages
  3. Uploading Ingestion Packages into RACK
  4. Viewing Information about the Ontology and Nodegroups on RACK
  5. Executing Nodegroups Stored on RACK
  6. Creating Instance Data for Testing the Ontology on RACK
  7. Generating Ingestion Nodegroups for the Ontology on RACK
  8. Selectively Clearing Ontology and/or Data Graphs on RACK
  9. 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

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

14 Jun 14:55
Compare
Choose a tag to compare
DASC2023_Prototype Pre-release
Pre-release

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:

  1. Needs Rack V12.0.
  2. Needs Java 17.
  3. This release supports limited features and may have bugs.
  4. This release is available only for Windows OS.

RITE v0.6.0

06 Jun 05:52
Compare
Choose a tag to compare

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

Full Changelog: v0.5.0...v0.6.0

RITE v0.5.0

06 Mar 22:55
Compare
Choose a tag to compare

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