Skip to content

GSN Assurance Case Generation

David Cok edited this page Aug 15, 2023 · 4 revisions

Automatically Generating GSN Assurance Cases using the Evidence on RACK

RITE has built in support for automatically generating GSN fragments from RACK data.

The GSN Ontology

To allow instantiation of GSN elements in RACK, we have created a GSN CORE ontology in SADL that has the necessary semantics for encoding GSN elements. The GSN CORE is built upon the RACK CORE Ontology.

gsn1

The GSN CORE Ontology allows formalizing the verbiage of the GSN Community Standard V2. However, to make meaningful GSN fragments from RACK, it is necessary to be able to annotate project-specific RACK evidence artifacts with the GSN elements like goals, strategies, and contexts. The GSN PATTERN CORE ontology is a template that can be used to encode project-specific information as custom project-specific GSN patterns. These patterns can be used by the Automatic GSN Inference Engine to connect the project-specific RACK data to the GSN standard.

GSN PATTERN CORE for Connections

The connections patterns allow users to encode useful information to the GSN elements such as:

  1. If a goal/strategy has been developed (i.e., completely supported by its children)
  2. If a solution is supportive of its parent
  3. The context of a goal
  4. The actual data item that defines a solution node

gsn2

GSN PATTERN CORE for Annotations

The annotations patterns allow users to encode information regarding possible GSN structures in their project overlay such as:

  1. If a strategy/goal instance is a pattern instance
  2. The concerned goal class for a goal/strategy pattern
  3. The concerned subgoal class for a strategy pattern
  4. The property that connects the goal and the subgoal class in a strategy pattern
  5. An evidence class in the project overlay and interpretation of its value for determining if the evidence is supportive or not

gsn3

Creating Project-Specific Patterns using the GSN Ontology

Project-specific GSN patterns are basically some instances of the goal and strategy classes from the GSN CORE that can be created for any project overlay. These instances have useful project-specific information about hierarchical relationships between the different classes in the ontology that can lead to meaningful GSN fragments. These patterns are extracted by the Automatic GSN Inference Engine of RITE to use the data inside RACK for creating GSN fragments.

Goal Patterns

These encode domain-specific claims for different classes and the information about all goal classes in the project overlay.

gsn4

Strategy Patterns

These encode information about goal-subgoal relationships between the classes in the ontology and the properties that connect them.

gsn5

Evidence Patterns

These encode information about which classes in the ontology can be used as leaf-level evidences and how to interpret their values as supportive/non-supportive.

gsn6

GSN Path Inference from Patterns

The strategy patterns allow encoding information about domain-specific paths that can be used to instantiate the GSN fragments. For example the strategy patterns shown above contain information about the possible SubDD_Req --> TEST_STATUS path from the OEM Ontology as shown below.

gsn7

IMPORTANT

Known limitations:

Overlays:

  1. Only supports overlays in which there is a maximum of 1 layer of nested classes. E.g. -- ClassB is a type of ClassA is allowed, but ClassC is a type of ClassB /\ ClassB is a type of ClassA is not allowed UNLESS ClassA = THING \/ ENTITY.
  2. A subclass cannot have a property with the same name as a property of the superclass. E.g. -- ClassB is a type of Class A /\ propX describes ClassA with values of type ___ is allowed but ClassB is a type of Class A /\ propX describes ClassA with values of type ___ /\ propX describes ClassB with values of type ___ is not allowed.

Paths:

Currently our Inference Engine only supports paths in which there is:

  1. A partial order between the classes
  2. Only one possible linear path from each class

The image below depicts a supported and an unsupported path tree.

gsn8

Using RITE to Automatically Generate GSN Fragments

Step 1. Click on Window (on a Mac, click on Eclipse) and select Preferences.

gsn9

Step 2. Click on RACK.

gsn10

Step 3. Specify the project pattern and ontology files and click on Apply and Close

gsn11

Step 4. Click on RACK and select Automatic GSN Inference

gsn12

Step 5. A window will open with a GUI to generate GSN fragments

gsn13

Step 6. Click on Get Possible Goals. The list will then be populated with the IDs of all possible goal nodes from the data inside RACK. To generate GSN fragments for a goal, select it on the list and click on Generate Artifacts

gsn14

Step 7. An SVG corresponding to the Goal GSN tree will be created and opened automatically in the default browser window.

gsn15

The GSN fragment in both SADL and SVG forms will be saved in the project GSN Pattern directory under a new location called gsnArtifacts

gsn16

Step 7. To visualize the generated GSN fragment as an interactive tree, click on Navigate Goal GSN.

gsn17

This will open up an interface that allows users to drill up/down through the GSN tree and provides meaningful summaries at each level

gsn18

Go back to Wiki Home


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)