From 36c1bad66c2766e762b3e84a8edd407ce1b965b6 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 16:24:11 -0700 Subject: [PATCH 01/42] Add RACK_Ontology Orienteering with TESTING description. Also includes proposed changes; will be removed when proposal resolved. --- RACK-Ontology/Orienteering.md | 268 ++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 RACK-Ontology/Orienteering.md diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md new file mode 100644 index 00000000..25bb6746 --- /dev/null +++ b/RACK-Ontology/Orienteering.md @@ -0,0 +1,268 @@ +The core RACK ontology defines a set of general relationships that is intended to +provide a framework for the organization and representation of data collected for +the system. In many areas, this core ontology is very generic to allow for +different program configurations and methodologies; it is expected that +program-specific overlays will be developed to further refine and constrain the +relationships described here. + +This document provides general perspective on how this core ontology is +establishing the relationship frameworks and constraints on those relationships. +This can be used from the perspective of asking particular questions about the +data in RACK and formulating retrieval. + +# Terms + +Terminology used throughout this document: + + * Program: a development effort for a particular goal, such as "creating the + software to install on specific drone hardware to allow for a specific use". + + * Target: the output executable software generated via a Program's efforts that + will be installed. + + * Area of Concern: A program is often comprised of a number of inter-related + activities (areas of concern), including (but not limited to): + + * Requirements Development + * System Architecture + * Software Design + * Target Code Development + * Build and Deploy Operational Processes + * Testing Development + * Evaluation and Certification + + +# Traceability + +Each of the areas of concern has a set of established practices and +state-of-the-art tools and techniques, but often the relationships *between* the +different activities is manually established through loosely coupled mechanisms +like documentation and other out-of-band communications. + +One of the goals of RACK is to establish *traceability*, which is an explicit +identification of the relationships between these areas to allow one to trace the +information from one area through to the other areas. This traceability helps to +ensure that each activity is sufficient and complete relative to the surrounding +areas of concern. + +# Testing + +Many programs that will be described by RACK data describe programs which use +"requirements-based testing", which is a methodology of developing tests based on +the *requirements* documentation (as opposed to, for example, coverage testing, +which is based on the source code). However, the core RACK ontology should be +developed to support many different types of testing approaches, so the core +ontology is defined with a level of generality that should allow sufficient +flexibility to capture a particular testing approach in a program-specific +overlay. + +## Testing Concerns + +To this end, the RACK ontology should support the following relationships and/or +requests: + + * TC1: The ontology should support multiple different types of tests, even + within the same program. + + * TC2: There should be a heirarchical arrangement of testing implementation, + where + + * 1: the lowest level captures a single element of functionality in the + target and has a disposition indicating whether that particular + functional element has passed or failed + * 2: the tests can be grouped by higher level concerns (see below) + + * TC3: The same set of target code may have multiple tests that verify the code + with different inputs or different operational configurations. + + * TC4: Each test should have a relationship to the inputs and surrounding + configuration to distinguish it from other tests. + + * TC5: Tests may have a sequential ordering constraint that requires previous + tests to be run prior to running a particular test due to a configuration + established by a previous test or to validate the transition of the target + from one state to the next. This ordering is also normal important because the + re-certification of a modified target may require re-running this entire set + of related tests if *any* of them tests the modified portion of the target. + + * TC6: Tests may be independent of each other: they may be run without running + other independent sets and the results are sufficient and valid. This is + important for re-certification because independent tests that verify a + non-modified portion of the target do not need to be re-executed. + + 1. At the top-level, test collections will tend to be independent, and only + at the bottom-most granular level will the sequential relations between + tests be expressible, therefore TC5 must be contained within TC6 rather + than the other way around. + + * TC7: Test failures may be resolved by a number of methods: + + * 1: testing a new version of the target + * 2: running a new version of the tests + * 3: user-provided documentation justifying discarding the test failure + + Note that change (1) may be associated with corresponding changes in other + areas of concern (e.g. an updated version of the requirements document, + indicating expectation of different target results than the previous version + specified). + + * TC8: Tests may be run multiple times. These test runs are subject to the + following considerations: + + * 1 - Idempotence: It is expected (from the RACK perspective) that tests are + deterministic: re-running the same tests on the same target yield the same + results. If tests are non-deterministic, this should be encapsulated in + the test itself; loading a test result in RACK should be a conclusive + statement about that test's disposition relative to a specific target. + + * 2 - Target sensitivity: Running tests against a specific version of an + target provides *no* information about the results that would be obtained + by running the same set of tests against a different version of the + target. + + * 3 - Velocity: test results obtained from successive test runs on updated + target versions may have more or fewer test failures over the aggregate + run. This relative change between target versions is referred to as the + test "velocity" (aka, the first order derivative) where a positive + velocity indicates a larger quantity of test success results and a general + improvement in the status of the target. [Velocity is perhaps the least + important aspect for consideration in RACK.] + + * 4 - Subset testing: it may be possible that a test run consists of only a + subset of the tests. This is actually a desireable situation in going + forward with utilizing ARCOS: targeted re-certification should need to + re-verify the smallest reasonable portion of the target. + + Each instance of testing should be encapsulated in a manner that it can be + distinguished from other instances, which supports evaluation under the + considerations listed above. + + * TC9: Test development itself is an activity, independent of running tests, + and tests are built artifacts that will change over time. + + * TC10: Tests will verify something. That something could be a requirement, a + source code function, etc. There should be an association between the test + and an element in another area of concern; tests which do not validate an + element are irrelevant for the purposes of RACK. + + * TC11: Regardless of the specific thing that a test is verifying, a Test is + run against a specific system or group of systems to validate the behavior of + that system, where a system is the primary architectural component division + within the target. It should be possible to enumerate all of the tests that + exist for a specific system to determine the totality and applicability of + groups of tests; an executable is usually comprised of several systems, and + different systems may have different executables, thus TC6 and TC10 are + insufficient to fully capture this relationship. + + +## Testing Ontology Elements + +The following identifies the primary elements in the TESTING ontology and the key +properties that relate to the concerns described above. The actual definition in +the TESTING.sadl file provides a more complete specification of TESTING elements. + + * TEST : the lowest-level element, an ENTITY representing a single verification + of the smallest portion of functionality. [TC2.1] + + * "verifies" property : the link to the ENTITY the test verifies [TC10] + + * If a test is modified [TC7.2] it must be declared as a new TEST + + * TEST_RESULT : The results of a TEST (via the "confirms" property), encoded as + TEST_STATUS, which indicates the disposition of running the TEST on the target + executable. [TC2.1] + + * TEST_STEP : This identifies the ordered sequential relationship between a + specific TEST and any subsequent TEST_STEPs that it must preceed. [TC5] + + * "thisStep" property : identifies the TEST performed during this step + + * "nextStep" property : 0 or more values of TEST_STEP + + * TEST_PROCEDURE : this COLLECTION identifies a group of independent tests [TC6] + + * "targetSystem" property : identifies 1 or more SYSTEM.SYSTEM entities + this test is designed to test (if multiple, implies that this is testing + the interaction/communications between those systems. [TC11] + + * TEST_RECORD : this ENTITY identifies the configuration under which a set of + tests was run + + * "testRecordProcedure property : identifies the TEST_PROCEDURE this is a + record for + + * "testRecordSteps" property : identifies the _initial_ TEST_STEP for a + sequence of tests that was run. These must be the starting TEST_STEP + within a sequence (i.e. these must be the direct members of the + testRecordProcedure). If any entry is not a member of the + testRecordProcedure, the TEST_RECORD is _incomplete_ and the results + should not be utilized. + + The TEST_RECORD may identify a subset of the TEST_STEP entries for a + TEST_PROCEDURE as long as they are top-level TEST_STEPS entries. [TC8.4] + + * "testRecordScenario" property : identifies the TEST_SCENARIO under which + this TEST_RECORD was generated. + + * "testConfiguration" property : identifies an ENTITY that describes the + configuration information under which the test was run. [this is largely + TBD at this time] + + * TEST_SCENARIO : this ENTITY defines the target that the TEST_EXECUTION was + run against and for which the the TEST_RECORD was generated. [TC3] + + * "targetPackage" property : the FILE.FILE entity that was tested [TC8.2] + * "targetVersion" property : a STRING providing the VERSION of the + targetPackage that was tested. [TC8.2] + * "testPackage" property : the FILE.FILE entity that executed the tests [TC7.2] [TC9] + * "testVersion" property : a STRING providing the VERSION of the testPackage that was executed. [TC9] + + * TEST_LOG : a COLLECTION of TEST_RECORD that were generated during a specific + TEST_EXECUTION. [TC8.3] + + * TEST_EXECUTION : an ACTIVITY of running some or all of a TEST_PROCEDURE and + generating a TEST_LOG. + + * "testProcedure" property : the TEST_PROCEDURE + * "testLog" property : the TEST_LOG generated by the TEST_EXECUTION + + * TEST_DEVELOPMENT : an ACTIVITY which results in generating a FILE.FILE (via +"wasGeneratedBy") that can be referenced by the TEST_SCENARIO.testPackage. + + * TEST_ANNOTATION : an ENTITY that provides additional information about a + TEST_RESULT that might define mitigating circumstances or additional + context. [TC7.3] + + * "annotatedResult" property : the TEST_RESULT being annotated + * "annotation" property : the ENTITY providing the annotation information + +---- temporary below -------------------------------------------------- + +Changes: + +1. Currently, TEST_STEP is a collection of TESTs that also has a nextStep to a + single TEST_STEP. It seems confusing for a single STEP to have several TESTS, + and this does not provide any information about the relationship of the TESTS + in the TEST_STEP. [Or it implies that unrelated tests are a layer below + sequenced tests, which is the inverse of TC6.1]. + + a. Proposed change: TEST_STEP is an ENTITY with thisStep and 0 or more values + of nextStep, which have a range of type TEST. + + +2. Nothing points to the executable and version tested + + a: Proposed change: add TEST_SCENARIO + +3. How to retire tests, or update tests? [TC7.2] + + Also, should there be a TEST_EXECUTABLE which is a FILE.FILE, but which also + has a "testFileProcedure" to link to the TEST_PROCEDURE for the files it + contains? That might be a duplicate/conflict with + TEST_RECORD.testRecordProcedure though. + +4. Modify TEST_RECORD, which currently parallels TEST_STEP but doesn't add any + new information (and if TEST_RECORD.nextRecord conflicts with + TEST_STEP.nextStep that could be problematic. + +5. Add fields to TEST_EXECUTION From 4819473fdfe820251a0c4953d0359aae64f9ff38 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 22:00:22 -0700 Subject: [PATCH 02/42] More updates to Orienteering for TESTING changes. --- RACK-Ontology/Orienteering.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index 25bb6746..a3a819fc 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -262,7 +262,19 @@ Changes: TEST_RECORD.testRecordProcedure though. 4. Modify TEST_RECORD, which currently parallels TEST_STEP but doesn't add any - new information (and if TEST_RECORD.nextRecord conflicts with - TEST_STEP.nextStep that could be problematic. + new information. The original idea was that the output side paralleled the + input side, but it's not clear that the parallel to the TEST_STEP can be + extracted reliably from the test output. There's also a concern about if + TEST_RECORD.nextRecord conflicts with TEST_STEP.nextStep what that would mean. + Taking a step back from this approach, it seems that ultimately the + TEST_RESULTS should match up to the TESTS in 1:1, and if there's too many of + either, that is a reasonable indication of a mismatch. Other than that, there + doesn't seem to be any useful information imparted by trying to have the + TEST_RECORD as a parallel to TEST_STEP (it doesn't fulfill any of the + considerations discussed above). Instead, TEST_RECORD can be used to track + the run of a subset of tests (where the TEST_RECORD corresponds to a .out file + captured from a TEST_EXECUTION). 5. Add fields to TEST_EXECUTION + +6. Adds TEST_ANNOTATION From a3a6c7dbfd5ab42a8d085cc811eaae5604fb32ad Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 22:01:06 -0700 Subject: [PATCH 03/42] Updates to TESTING as described in RACK_Ontology/Orienteering.md --- RACK-Ontology/ontology/TESTING.sadl | 32 +++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index 9b240fcd..f580bcfb 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -18,6 +18,7 @@ uri "http://arcos.rack/TESTING" alias tst. import "http://arcos.rack/PROV-S". +import "http://arcos.rack/FILE". TEST (note "Description of a single test") @@ -50,22 +51,25 @@ TEST_RESULT TEST_PROCEDURE (note "A TEST_PROCEDURE is the TEST_STEPs that perform TESTs. ") is a type of COLLECTION. content of TEST_PROCEDURE only has values of type TEST_STEP. - TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution")is a type of COLLECTION. - content of TEST_STEP only has values of type TEST. - nextStep (note "The next TEST_STEP in a sequence" ) describes TEST_STEP with values of type TEST_STEP. - nextStep of TEST_STEP has at most 1 value. +TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution") is a type of ENTITY. + thisStep (note "The TEST performed by this TEST_STEP") of TEST_STEP has a single value of type TEST. + nextStep (note "The next TEST_STEP in a sequence" ) describes TEST_STEP with values of type TEST_STEP. TEST_LOG (note "A TEST_LOG is the TEST_RESULTs from executing a TEST_PROCEDURE") is a type of COLLECTION. content of TEST_LOG only has values of type TEST_RECORD. - TEST_RECORD (note "a TEST_RECORD is a collection of TEST_RESULTs associated with a TEST_STEP") is a type of COLLECTION. - content of TEST_RECORD only has values of type TEST_RESULT. - nextRecord (note "The next TEST_RECORD that is the next in a sequence " ) describes TEST_RECORD with values of type TEST_RECORD. - nextRecord of TEST_RECORD has at most 1 value. - logs (note "TEST_STEP for which the TEST_RECORD is captured" ) describes TEST_RECORD with a single value of type TEST_STEP. - logs is a type of wasImpactedBy. - +TEST_RECORD (note "a TEST_RECORD identifies the configuration under which a set of tests was run") is a type of ENTITY. + testRecordProcedure (note "the TEST_PROCEDURE for which this TEST_RECORD was created") describes TEST_RECORD with a single value of type TEST_PROCEDURE. + testRecordSteps (note "the initial TEST_STEPs performed") describes TEST_RECORD with values of type TEST_STEP. + testRecordScenario (note "the TEST_SCENARIO for which this TEST_RECORD was generated") describes TEST_RECORD with a single value of type TEST_SCENARIO. + testConfiguration (note "the configuration information for this TEST_EXECUTION") describes TEST_RECORD with values of type ENTITY. + +TEST_SCENARIO (note "is the target that the TEST_EXECUTION was run against and for which the TEST_RECORD was generated") is a type of ENTITY. + targetPackage (note "is the target FILE tested") describes TEST_SCENARIO with values of type FILE. + targetVersion (note "is the version of the targetPackage tested") describes TEST_SCENARIO with a single value of type string. + testPackage (note "is the test FILE executed") describes TEST_SCENARIO with values of type FILE. + testVersion (note "is the version of the testPackage run") describes TEST_SCENARIO with a single value of type string. TEST_DEVELOPMENT (note "ACTIVITY of creating a TEST to participate in the evaluation of a requirement") @@ -77,3 +81,9 @@ TEST_EXECUTION testProcedure (note "TEST_PROCEDURE that was executed.") describes TEST_EXECUTION with values of type TEST_PROCEDURE. testProcedure is a type of used. + testLog (note "TEST_LOG that was generated") describes TEST_EXECUTION with values of type TEST_LOG. + +TEST_ANNOTATION (note "provides additional information about a TEST_RESULT") is a type of ENTITY. + annotatedResult (note "identifies the TEST_RESULT being annotated") describes TEST_ANNOTATION with values of type TEST_RESULT. + testAnnotation (note "specifies the annotation information to add to the TEST_RESULT") describes TEST_ANNOTATION with values of type ENTITY. + From 330b494a9316e52ae2bf72aa07d9cad14ab8007f Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 16:24:11 -0700 Subject: [PATCH 04/42] Add RACK_Ontology Orienteering with TESTING description. Also includes proposed changes; will be removed when proposal resolved. --- RACK-Ontology/Orienteering.md | 268 ++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 RACK-Ontology/Orienteering.md diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md new file mode 100644 index 00000000..25bb6746 --- /dev/null +++ b/RACK-Ontology/Orienteering.md @@ -0,0 +1,268 @@ +The core RACK ontology defines a set of general relationships that is intended to +provide a framework for the organization and representation of data collected for +the system. In many areas, this core ontology is very generic to allow for +different program configurations and methodologies; it is expected that +program-specific overlays will be developed to further refine and constrain the +relationships described here. + +This document provides general perspective on how this core ontology is +establishing the relationship frameworks and constraints on those relationships. +This can be used from the perspective of asking particular questions about the +data in RACK and formulating retrieval. + +# Terms + +Terminology used throughout this document: + + * Program: a development effort for a particular goal, such as "creating the + software to install on specific drone hardware to allow for a specific use". + + * Target: the output executable software generated via a Program's efforts that + will be installed. + + * Area of Concern: A program is often comprised of a number of inter-related + activities (areas of concern), including (but not limited to): + + * Requirements Development + * System Architecture + * Software Design + * Target Code Development + * Build and Deploy Operational Processes + * Testing Development + * Evaluation and Certification + + +# Traceability + +Each of the areas of concern has a set of established practices and +state-of-the-art tools and techniques, but often the relationships *between* the +different activities is manually established through loosely coupled mechanisms +like documentation and other out-of-band communications. + +One of the goals of RACK is to establish *traceability*, which is an explicit +identification of the relationships between these areas to allow one to trace the +information from one area through to the other areas. This traceability helps to +ensure that each activity is sufficient and complete relative to the surrounding +areas of concern. + +# Testing + +Many programs that will be described by RACK data describe programs which use +"requirements-based testing", which is a methodology of developing tests based on +the *requirements* documentation (as opposed to, for example, coverage testing, +which is based on the source code). However, the core RACK ontology should be +developed to support many different types of testing approaches, so the core +ontology is defined with a level of generality that should allow sufficient +flexibility to capture a particular testing approach in a program-specific +overlay. + +## Testing Concerns + +To this end, the RACK ontology should support the following relationships and/or +requests: + + * TC1: The ontology should support multiple different types of tests, even + within the same program. + + * TC2: There should be a heirarchical arrangement of testing implementation, + where + + * 1: the lowest level captures a single element of functionality in the + target and has a disposition indicating whether that particular + functional element has passed or failed + * 2: the tests can be grouped by higher level concerns (see below) + + * TC3: The same set of target code may have multiple tests that verify the code + with different inputs or different operational configurations. + + * TC4: Each test should have a relationship to the inputs and surrounding + configuration to distinguish it from other tests. + + * TC5: Tests may have a sequential ordering constraint that requires previous + tests to be run prior to running a particular test due to a configuration + established by a previous test or to validate the transition of the target + from one state to the next. This ordering is also normal important because the + re-certification of a modified target may require re-running this entire set + of related tests if *any* of them tests the modified portion of the target. + + * TC6: Tests may be independent of each other: they may be run without running + other independent sets and the results are sufficient and valid. This is + important for re-certification because independent tests that verify a + non-modified portion of the target do not need to be re-executed. + + 1. At the top-level, test collections will tend to be independent, and only + at the bottom-most granular level will the sequential relations between + tests be expressible, therefore TC5 must be contained within TC6 rather + than the other way around. + + * TC7: Test failures may be resolved by a number of methods: + + * 1: testing a new version of the target + * 2: running a new version of the tests + * 3: user-provided documentation justifying discarding the test failure + + Note that change (1) may be associated with corresponding changes in other + areas of concern (e.g. an updated version of the requirements document, + indicating expectation of different target results than the previous version + specified). + + * TC8: Tests may be run multiple times. These test runs are subject to the + following considerations: + + * 1 - Idempotence: It is expected (from the RACK perspective) that tests are + deterministic: re-running the same tests on the same target yield the same + results. If tests are non-deterministic, this should be encapsulated in + the test itself; loading a test result in RACK should be a conclusive + statement about that test's disposition relative to a specific target. + + * 2 - Target sensitivity: Running tests against a specific version of an + target provides *no* information about the results that would be obtained + by running the same set of tests against a different version of the + target. + + * 3 - Velocity: test results obtained from successive test runs on updated + target versions may have more or fewer test failures over the aggregate + run. This relative change between target versions is referred to as the + test "velocity" (aka, the first order derivative) where a positive + velocity indicates a larger quantity of test success results and a general + improvement in the status of the target. [Velocity is perhaps the least + important aspect for consideration in RACK.] + + * 4 - Subset testing: it may be possible that a test run consists of only a + subset of the tests. This is actually a desireable situation in going + forward with utilizing ARCOS: targeted re-certification should need to + re-verify the smallest reasonable portion of the target. + + Each instance of testing should be encapsulated in a manner that it can be + distinguished from other instances, which supports evaluation under the + considerations listed above. + + * TC9: Test development itself is an activity, independent of running tests, + and tests are built artifacts that will change over time. + + * TC10: Tests will verify something. That something could be a requirement, a + source code function, etc. There should be an association between the test + and an element in another area of concern; tests which do not validate an + element are irrelevant for the purposes of RACK. + + * TC11: Regardless of the specific thing that a test is verifying, a Test is + run against a specific system or group of systems to validate the behavior of + that system, where a system is the primary architectural component division + within the target. It should be possible to enumerate all of the tests that + exist for a specific system to determine the totality and applicability of + groups of tests; an executable is usually comprised of several systems, and + different systems may have different executables, thus TC6 and TC10 are + insufficient to fully capture this relationship. + + +## Testing Ontology Elements + +The following identifies the primary elements in the TESTING ontology and the key +properties that relate to the concerns described above. The actual definition in +the TESTING.sadl file provides a more complete specification of TESTING elements. + + * TEST : the lowest-level element, an ENTITY representing a single verification + of the smallest portion of functionality. [TC2.1] + + * "verifies" property : the link to the ENTITY the test verifies [TC10] + + * If a test is modified [TC7.2] it must be declared as a new TEST + + * TEST_RESULT : The results of a TEST (via the "confirms" property), encoded as + TEST_STATUS, which indicates the disposition of running the TEST on the target + executable. [TC2.1] + + * TEST_STEP : This identifies the ordered sequential relationship between a + specific TEST and any subsequent TEST_STEPs that it must preceed. [TC5] + + * "thisStep" property : identifies the TEST performed during this step + + * "nextStep" property : 0 or more values of TEST_STEP + + * TEST_PROCEDURE : this COLLECTION identifies a group of independent tests [TC6] + + * "targetSystem" property : identifies 1 or more SYSTEM.SYSTEM entities + this test is designed to test (if multiple, implies that this is testing + the interaction/communications between those systems. [TC11] + + * TEST_RECORD : this ENTITY identifies the configuration under which a set of + tests was run + + * "testRecordProcedure property : identifies the TEST_PROCEDURE this is a + record for + + * "testRecordSteps" property : identifies the _initial_ TEST_STEP for a + sequence of tests that was run. These must be the starting TEST_STEP + within a sequence (i.e. these must be the direct members of the + testRecordProcedure). If any entry is not a member of the + testRecordProcedure, the TEST_RECORD is _incomplete_ and the results + should not be utilized. + + The TEST_RECORD may identify a subset of the TEST_STEP entries for a + TEST_PROCEDURE as long as they are top-level TEST_STEPS entries. [TC8.4] + + * "testRecordScenario" property : identifies the TEST_SCENARIO under which + this TEST_RECORD was generated. + + * "testConfiguration" property : identifies an ENTITY that describes the + configuration information under which the test was run. [this is largely + TBD at this time] + + * TEST_SCENARIO : this ENTITY defines the target that the TEST_EXECUTION was + run against and for which the the TEST_RECORD was generated. [TC3] + + * "targetPackage" property : the FILE.FILE entity that was tested [TC8.2] + * "targetVersion" property : a STRING providing the VERSION of the + targetPackage that was tested. [TC8.2] + * "testPackage" property : the FILE.FILE entity that executed the tests [TC7.2] [TC9] + * "testVersion" property : a STRING providing the VERSION of the testPackage that was executed. [TC9] + + * TEST_LOG : a COLLECTION of TEST_RECORD that were generated during a specific + TEST_EXECUTION. [TC8.3] + + * TEST_EXECUTION : an ACTIVITY of running some or all of a TEST_PROCEDURE and + generating a TEST_LOG. + + * "testProcedure" property : the TEST_PROCEDURE + * "testLog" property : the TEST_LOG generated by the TEST_EXECUTION + + * TEST_DEVELOPMENT : an ACTIVITY which results in generating a FILE.FILE (via +"wasGeneratedBy") that can be referenced by the TEST_SCENARIO.testPackage. + + * TEST_ANNOTATION : an ENTITY that provides additional information about a + TEST_RESULT that might define mitigating circumstances or additional + context. [TC7.3] + + * "annotatedResult" property : the TEST_RESULT being annotated + * "annotation" property : the ENTITY providing the annotation information + +---- temporary below -------------------------------------------------- + +Changes: + +1. Currently, TEST_STEP is a collection of TESTs that also has a nextStep to a + single TEST_STEP. It seems confusing for a single STEP to have several TESTS, + and this does not provide any information about the relationship of the TESTS + in the TEST_STEP. [Or it implies that unrelated tests are a layer below + sequenced tests, which is the inverse of TC6.1]. + + a. Proposed change: TEST_STEP is an ENTITY with thisStep and 0 or more values + of nextStep, which have a range of type TEST. + + +2. Nothing points to the executable and version tested + + a: Proposed change: add TEST_SCENARIO + +3. How to retire tests, or update tests? [TC7.2] + + Also, should there be a TEST_EXECUTABLE which is a FILE.FILE, but which also + has a "testFileProcedure" to link to the TEST_PROCEDURE for the files it + contains? That might be a duplicate/conflict with + TEST_RECORD.testRecordProcedure though. + +4. Modify TEST_RECORD, which currently parallels TEST_STEP but doesn't add any + new information (and if TEST_RECORD.nextRecord conflicts with + TEST_STEP.nextStep that could be problematic. + +5. Add fields to TEST_EXECUTION From 931ef3bdd9bddd412c27270f85f45f12977ba72c Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 22:00:22 -0700 Subject: [PATCH 05/42] More updates to Orienteering for TESTING changes. --- RACK-Ontology/Orienteering.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index 25bb6746..a3a819fc 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -262,7 +262,19 @@ Changes: TEST_RECORD.testRecordProcedure though. 4. Modify TEST_RECORD, which currently parallels TEST_STEP but doesn't add any - new information (and if TEST_RECORD.nextRecord conflicts with - TEST_STEP.nextStep that could be problematic. + new information. The original idea was that the output side paralleled the + input side, but it's not clear that the parallel to the TEST_STEP can be + extracted reliably from the test output. There's also a concern about if + TEST_RECORD.nextRecord conflicts with TEST_STEP.nextStep what that would mean. + Taking a step back from this approach, it seems that ultimately the + TEST_RESULTS should match up to the TESTS in 1:1, and if there's too many of + either, that is a reasonable indication of a mismatch. Other than that, there + doesn't seem to be any useful information imparted by trying to have the + TEST_RECORD as a parallel to TEST_STEP (it doesn't fulfill any of the + considerations discussed above). Instead, TEST_RECORD can be used to track + the run of a subset of tests (where the TEST_RECORD corresponds to a .out file + captured from a TEST_EXECUTION). 5. Add fields to TEST_EXECUTION + +6. Adds TEST_ANNOTATION From cc193c0c379693a70cb3a34f5d83d47716d28dcb Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 14 Sep 2022 22:01:06 -0700 Subject: [PATCH 06/42] Updates to TESTING as described in RACK_Ontology/Orienteering.md --- RACK-Ontology/ontology/TESTING.sadl | 32 +++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index 9b240fcd..f580bcfb 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -18,6 +18,7 @@ uri "http://arcos.rack/TESTING" alias tst. import "http://arcos.rack/PROV-S". +import "http://arcos.rack/FILE". TEST (note "Description of a single test") @@ -50,22 +51,25 @@ TEST_RESULT TEST_PROCEDURE (note "A TEST_PROCEDURE is the TEST_STEPs that perform TESTs. ") is a type of COLLECTION. content of TEST_PROCEDURE only has values of type TEST_STEP. - TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution")is a type of COLLECTION. - content of TEST_STEP only has values of type TEST. - nextStep (note "The next TEST_STEP in a sequence" ) describes TEST_STEP with values of type TEST_STEP. - nextStep of TEST_STEP has at most 1 value. +TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution") is a type of ENTITY. + thisStep (note "The TEST performed by this TEST_STEP") of TEST_STEP has a single value of type TEST. + nextStep (note "The next TEST_STEP in a sequence" ) describes TEST_STEP with values of type TEST_STEP. TEST_LOG (note "A TEST_LOG is the TEST_RESULTs from executing a TEST_PROCEDURE") is a type of COLLECTION. content of TEST_LOG only has values of type TEST_RECORD. - TEST_RECORD (note "a TEST_RECORD is a collection of TEST_RESULTs associated with a TEST_STEP") is a type of COLLECTION. - content of TEST_RECORD only has values of type TEST_RESULT. - nextRecord (note "The next TEST_RECORD that is the next in a sequence " ) describes TEST_RECORD with values of type TEST_RECORD. - nextRecord of TEST_RECORD has at most 1 value. - logs (note "TEST_STEP for which the TEST_RECORD is captured" ) describes TEST_RECORD with a single value of type TEST_STEP. - logs is a type of wasImpactedBy. - +TEST_RECORD (note "a TEST_RECORD identifies the configuration under which a set of tests was run") is a type of ENTITY. + testRecordProcedure (note "the TEST_PROCEDURE for which this TEST_RECORD was created") describes TEST_RECORD with a single value of type TEST_PROCEDURE. + testRecordSteps (note "the initial TEST_STEPs performed") describes TEST_RECORD with values of type TEST_STEP. + testRecordScenario (note "the TEST_SCENARIO for which this TEST_RECORD was generated") describes TEST_RECORD with a single value of type TEST_SCENARIO. + testConfiguration (note "the configuration information for this TEST_EXECUTION") describes TEST_RECORD with values of type ENTITY. + +TEST_SCENARIO (note "is the target that the TEST_EXECUTION was run against and for which the TEST_RECORD was generated") is a type of ENTITY. + targetPackage (note "is the target FILE tested") describes TEST_SCENARIO with values of type FILE. + targetVersion (note "is the version of the targetPackage tested") describes TEST_SCENARIO with a single value of type string. + testPackage (note "is the test FILE executed") describes TEST_SCENARIO with values of type FILE. + testVersion (note "is the version of the testPackage run") describes TEST_SCENARIO with a single value of type string. TEST_DEVELOPMENT (note "ACTIVITY of creating a TEST to participate in the evaluation of a requirement") @@ -77,3 +81,9 @@ TEST_EXECUTION testProcedure (note "TEST_PROCEDURE that was executed.") describes TEST_EXECUTION with values of type TEST_PROCEDURE. testProcedure is a type of used. + testLog (note "TEST_LOG that was generated") describes TEST_EXECUTION with values of type TEST_LOG. + +TEST_ANNOTATION (note "provides additional information about a TEST_RESULT") is a type of ENTITY. + annotatedResult (note "identifies the TEST_RESULT being annotated") describes TEST_ANNOTATION with values of type TEST_RESULT. + testAnnotation (note "specifies the annotation information to add to the TEST_RESULT") describes TEST_ANNOTATION with values of type ENTITY. + From 7f3131d66c775e58a165c9ffa48bc59a804cc5dd Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Wed, 23 Nov 2022 15:44:20 -0800 Subject: [PATCH 07/42] Update Boeing ontology for proposed TESTING changes. --- Boeing-Ontology/ontology/Boeing.sadl | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Boeing-Ontology/ontology/Boeing.sadl b/Boeing-Ontology/ontology/Boeing.sadl index a8324ab6..589cac24 100644 --- a/Boeing-Ontology/ontology/Boeing.sadl +++ b/Boeing-Ontology/ontology/Boeing.sadl @@ -23,7 +23,10 @@ SubDD_Req (note "A Requirement identified in the Subsystem Design Document") is Rq:satisfies of SubDD_Req only has values of type SRS_Req. SBVT_Test (note "A test identified in the Software Baseline Verification Tests") is a type of TEST. + verifies of SBVT_Test_Procedure only has values of type {SubDD_Req or SRS_Req}. verifies of SBVT_Test has at least 1 value. + // A new property unique to SBVT_Test: stimulates + stimulates of SBVT_Test has values of type Signal. //<--how come "only has values" doesn't work here? SBVT_Result (note "A result identified for a SBVT_Test (Software Baseline Verification Tests)") is a type of TEST_RESULT. confirms of SBVT_Result only has values of type SBVT_Test. @@ -79,22 +82,21 @@ IDD_Doc is a type of DOCUMENT. // subclass from core ontology related to SBVT and IDD SBVT_Test_Procedure is a type of TEST_PROCEDURE. content of SBVT_Test only has values of type SBVT_Test_Step. - verifies of SBVT_Test_Procedure only has values of type {SubDD_Req or SRS_Req}. - verifies of SBVT_Test_Procedure has at least 1 value. SBVT_Test_Step is a type of TEST_STEP. - stimulates of SBVT_Test_Step has values of type Signal. //<--how come "only has values" doesn't work here? nextStep of SBVT_Test_Step only has values of type SBVT_Test_Step. -IDD_Test is a type of TEST. // note "verifies" corresponds to "observes" -// verifies of IDD_Test only has values of type Signal. - observes of IDD_Test has values of type Signal. //<--how come "only has values" doesn't work here? - //SBVT_Test_Step can contain HMI test etc. SBVT_Test_Log is a type of TEST_LOG. content of SBVT_Test_Log only has values of type SBVT_Test_Record. SBVT_Test_Record is a type of TEST_RECORD. - logs of SBVT_Test_Record only has values of type SBVT_Test_Step. + testRecordSteps of SBVT_Test_Record only has values of type SBVT_Test_Step. + +IDD_Test is a type of TEST. // note "verifies" corresponds to "observes" +// verifies of IDD_Test only has values of type Signal. + // A new property unique to IDD_Test: observes + observes of IDD_Test has values of type Signal. //<--how come "only has values" doesn't work here? + IDD_Test_Result is a type of TEST_RESULT. confirms of IDD_Test_Result only has values of type IDD_Test. @@ -108,13 +110,12 @@ Test_Station is a type of AGENT. SBVT_Test_Execution is a type of TEST_EXECUTION. testProcedure of SBVT_Test_Execution only has values of type SBVT_Test_Procedure. systemUnderTest describes SBVT_Test_Execution with values of type SYSTEM. - systemUnderTestBuildVersion describes SBVT_Test_Execution with values of type BuildVersion. //added - databaseVersion describes SBVT_Test_Execution with values of type Database. - databaseVersion is a type of used. -// softwareBuild describes SBVT_Test_Execution with values of type Executable. -// softwareBuild is a type of used. testStation of SBVT_Test_Execution has a single value of type Test_Station. testStation is a type of wasAssociatedWith. + +SBVT_Test_Scenario is a type of TEST_SCENARIO. + // targetVersion replaces systemUnderTestBuildVersion + BuildVersion is a type of ENTITY. system describes BuildVersion with a single value of type SYSTEM. buildVersion describes BuildVersion with a single value of type Executable. From 50acf770930e72ba5a299b1047a2c5fac0fd7363 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Fri, 3 Feb 2023 11:05:56 -0800 Subject: [PATCH 08/42] Adding CSID_Req to SBVT_Test verifies range. --- Boeing-Ontology/ontology/Boeing.sadl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Boeing-Ontology/ontology/Boeing.sadl b/Boeing-Ontology/ontology/Boeing.sadl index 589cac24..6cbadcab 100644 --- a/Boeing-Ontology/ontology/Boeing.sadl +++ b/Boeing-Ontology/ontology/Boeing.sadl @@ -23,7 +23,7 @@ SubDD_Req (note "A Requirement identified in the Subsystem Design Document") is Rq:satisfies of SubDD_Req only has values of type SRS_Req. SBVT_Test (note "A test identified in the Software Baseline Verification Tests") is a type of TEST. - verifies of SBVT_Test_Procedure only has values of type {SubDD_Req or SRS_Req}. + verifies of SBVT_Test_Procedure only has values of type {SubDD_Req or SRS_Req or CSID_Req}. verifies of SBVT_Test has at least 1 value. // A new property unique to SBVT_Test: stimulates stimulates of SBVT_Test has values of type Signal. //<--how come "only has values" doesn't work here? From be07e291ebfe6f82e51189fab804f270a11ecaa2 Mon Sep 17 00:00:00 2001 From: kityansiu Date: Tue, 14 Feb 2023 09:53:39 -0500 Subject: [PATCH 09/42] add role to describe a PERSON --- RACK-Ontology/ontology/AGENTS.sadl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RACK-Ontology/ontology/AGENTS.sadl b/RACK-Ontology/ontology/AGENTS.sadl index 4f0232f1..1c701cb6 100644 --- a/RACK-Ontology/ontology/AGENTS.sadl +++ b/RACK-Ontology/ontology/AGENTS.sadl @@ -29,14 +29,14 @@ ORGANIZATION PERSON (note "Person agents are people - alias for User") is a type of AGENT. - emailAddress (note "Email address of person") describes PERSON with values of type string. - employedBy (note "Relates people to the company they were acting on behalf of.") describes PERSON with values of type AGENT. employedBy describes PERSON with at most 1 value of type AGENT. employedBy is a type of actedOnBehalfOf. + role (note "The role a person played in the performance of an activity (tester, witness, etc.)") + describes PERSON with values of type string. TOOL (note "An aid (software, hardware, etc) that automates the performance of an activity.") From cbd4681183d1ad8166d7d8b1d4d0fa92236f3cf8 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 21 Mar 2023 16:39:59 -0700 Subject: [PATCH 10/42] Add TESTING sample scenarios, subclass TEST_PROCEDURE content to independentTest. --- RACK-Ontology/Orienteering.md | 297 ++++++++++++++++++++++++++-- RACK-Ontology/ontology/TESTING.sadl | 5 +- 2 files changed, 289 insertions(+), 13 deletions(-) diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index a3a819fc..b469bb38 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -20,6 +20,10 @@ Terminology used throughout this document: * Target: the output executable software generated via a Program's efforts that will be installed. + * Thing Tested: each test should be identified with a particular element of the + Program (e.g. requirement, software unit, etc.) and there should also be + traceability of the test to the particular (sub-)set of code being tested. + * Area of Concern: A program is often comprised of a number of inter-related activities (areas of concern), including (but not limited to): @@ -235,7 +239,272 @@ the TESTING.sadl file provides a more complete specification of TESTING elements * "annotatedResult" property : the TEST_RESULT being annotated * "annotation" property : the ENTITY providing the annotation information - + +# Sample Scenarios + +## Scenario 1 + +The software written during the Program is intended to satisfy a particular +requirement "Req1" (among others). The software is built via the documented +build process and the resulting artifact of the build is an executable, +identified by Target name and version. The software must be verified to meet +Req1, so 5 requirements-based TESTs are developed (the TESTs 'wasGeneratedBy' a +TEST_DEVELOPMENT), and the 'verifies' target of each is the "Req1" REQUIREMENT. + + REQ1 is a REQUIREMENT has identifier "Req1". + + SOURCE1 is a FILE. + MakeFile1 is a FILE. + MainDev is a CODE_DEVELOPMENT. + MainDev has goal SOURCE1. + MainDev has goal MakeFile1. + + Bld1 is a COMPILE. + Bld1 has used MakeFile1 has compileInput SOURCE1 has goal TARGET1. + TARGET1 is a FILE. + + TDEV1 is a TEST_DEVELOPMENT. + TDEV1 has goal TestSource1. + TestSource1 is a FILE. + + TestBld1 is a COMPILE. + TestBld1 has compileInput TestSource1 has goal TestExe. + TestExe is a FILE. + + TEST1 is a TEST has identifier "Test1". + TEST2 is a TEST has identifier "Test2". + TEST3 is a TEST has identifier "Test3". + TEST4 is a TEST has identifier "Test4". + TEST5 is a TEST has identifier "Test5". + + TEST1 has wasGeneratedBy TDEV1 has verifies REQ1 has wasDerivedFrom TestSource1. + TEST2 has wasGeneratedBy TDEV1 has verifies REQ1 has wasDerivedFrom TestSource1. + TEST3 has wasGeneratedBy TDEV1 has verifies REQ1 has wasDerivedFrom TestSource1. + TEST4 has wasGeneratedBy TDEV1 has verifies REQ1 has wasDerivedFrom TestSource1. + TEST5 has wasGeneratedBy TDEV1 has verifies REQ1 has wasDerivedFrom TestSource1. + +Two of the TESTs ("Test1" and "Test2") are independent, and the remaining three +are independent of the first two but it is known that they must be run in a +specific order ("Test3" -> "Test4" -> "Test5"). This information is represented +by a TEST_PROCEDURE "VerifyReq1" with three 'independentTest' links to three +TEST_STEPs ("Step1", "Step2", "Step3"), where "Step1" 'thisStep' is "Test1", +"Step2" 'thisStep' is "Test2", and "Step3" 'thisStep' is "Test3". There are two +more TEST_STEPs ("Step3b" and "Step3c"), where "Step3" has 'nextStep' to "Step3b" +(which has 'thisStep' to "Test4"), and "Step3b" has 'nextStep' to "Step3c" (which +has 'thisStep' to "Test5"). + + VR1 is a TEST_PROCEDURE has identifier "VerifyReq1". + Tstep1 is a TEST_STEP has identifier "Step1" has thisStep TEST1. + Tstep2 is a TEST_STEP has identifier "Step2" has thisStep TEST2. + Tstep3 is a TEST_STEP has identifier "Step3" has thisStep TEST3. + Tstep4 is a TEST_STEP has identifier "Step3b" has thisStep TEST4. + Tstep5 is a TEST_STEP has identifier "Step3c" has thisStep TEST5. + + VR1 has independentTest Tstep1. + VR1 has independentTest Tstep2. + VR1 has independentTest Tstep3. + Tstep3 has nextStep Tstep4. + Tstep4 has nextStep Tstep5. + +After the Target software and the Tests have been developed, it is time for the +actual testing to be performed (a TEST_EXECUTION activity). This TEST_EXECUTION +identifies the 'testProcedure' of "VerifyReq1" (it may have additional +'testProcedure' targets if it is running multiple procedures), and it has a +'testLog' connection to a TEST_LOG to log records of the tests performed and the +results. The TEST_LOG will have at least one 'content' connection to a +TEST_RECORD that is associated with the "VerifyReq1" TEST_PROCEDURE via the +'testRecordProcedure'. Note that it is possible that the testing might only run +a subset of the TEST_PROCEDURE, so the TEST_RECORD has a 'testRecordSteps' to +each of the independent tests actually run during that TEST_EXECUTION; these +should be a subset of the 'content' links from the TEST_PROCEDURE to the +corresponding TEST_STEPs. The TEST_RECORD also has a 'testRecordScenario' link +to a TEST_SCENARIO that identifies both the Target software (FILE and string +version) as well as the Testing software (FILE and string version). The +TEST_RECORD may also have 'testConfiguration' links to ENTITYs that further +describe the configuration (e.g. the hardware elements, the test parameters, +etc.). + + Trun1 is a TEST_EXECUTION has testProcedure VR1. + Tlog1 is a TEST_LOG. + Trec1 is a TEST_RECORD. + Scenario1 is a TEST_SCENARIO. + + Trun1 has testLog Tlog1. + Tlog1 has content Trec1; + + Trec1 has testRecordProcedure VR1. + Trec1 has testRecordSteps Tstep1. + Trec1 has testRecordSteps Tstep2. + Trec1 has testRecordSteps Tstep3. + Trec1 has testRecordScenario Scenario1. + Trec1 has testConfiguration Processor1. + + Processor1 is a HWCOMPONENT has componentType ComputePlatform. + + Scenario1 has targetPackage TARGET1 has targetVersion "v1". + Scenario1 has testPackage TestExe has testVersion "v1". + +Each individual TEST that is run during the TEST_EXECUTION should generate a +TEST_RESULT with a 'result' of TEST_STATUS to indicate if the TEST successfully +validated the 'verifies' Thing-Tested for the test. Each TEST_RESULT has a +'wasGeneratedBy' to the TEST_EXECUTION, and a 'confirms' link to the TEST that it +is the result of. + + TRES1 is a TEST_RESULT has wasGeneratedBy Trun1 has confirms TEST1. + TRES2 is a TEST_RESULT has wasGeneratedBy Trun1 has confirms TEST2. + TRES3 is a TEST_RESULT has wasGeneratedBy Trun1 has confirms TEST3. + TRES4 is a TEST_RESULT has wasGeneratedBy Trun1 has confirms TEST4. + TRES5 is a TEST_RESULT has wasGeneratedBy Trun1 has confirms TEST5. + +In our sample scenario, we will suppose that the TEST_STATUS for all of our TESTs +is 'Passed', with the exception of "Test2", which has a TEST_STATUS 'result' of +'Failed'. However, Joe Test (an AGENT) subsequently performs a generic ACTIVITY +where he evaluates the failure and determines that it is not properly indicative +of the scenario defined by the "VerifyReq1" requirement (perhaps due to the +'testConfiguration' information) and therefore he creates a formal "Memo" +(TEST_ANNOTATION) that 'wasGeneratedBy' his ACTIVITY. That Memo describes his +findings and documents his assessment that the 'Failed' TEST_STATUS should be +ignored. That "Memo" has an 'annotatedResult' link to the TEST_EXECUTION's +TEST_RESULT for "Test2". + + TRES1 has result Passed. + TRES2 has result Failed. + TRES3 has result Passed. + TRES4 has result Passed. + TRES5 has result Passed. + + JoeTest is a PERSON has title "Joe Test". + TestResultAnalysis is an ACTIVITY. + TestResultAnalysis has wasAssociatedWith JoeTest has goal Memo. + + Memo is an TEST_ANNOTATION has wasGeneratedBy TestResultAnalysis. + Memo has annotatedResult TRES2. + IgnoredFailureOOB is a ENTITY has wasGeneratedBy TestResultAnalysis. + Memo has testAnnotation IgnoredFailureOOB. + + +## Scenario 2 + +A software developer (AGENT "Alice") in the Program writes a SWCOMPONENT +"bitflipper" with a 'componentType' of 'SourceFunction' as part of a +CODE_DEVELOPMENT activity. "Alice"'s pair-programmer AGENT "Bob" performs a +TEST_DEVELOPMENT activity to write 3 Unit TESTs that will directly link with +"Alice"'s SWCOMPONENT to create a distinct test executable (FILE and Version +string) FILE with 'filename' "BitFlipperTesting" via a COMPILE activity. The +COMPILE activity has a 'compileInput' link to the FILE containing the +"bitflipper" SWCOMPONENT. These three tests ("Flip", "Flop", "Flap") are +independent and therefore each is the 'thisStep' of "FlipStep", "FlopStep", and +"FlapStep" TEST_STEP's, respectively, all three of which are 'content' linked to +by the "FLIPTest" TEST_PROCEDURE. All three of "Flip", "Flop", and "Flap" TESTs +have a 'verifies' link to the "bitflipper" SWCOMPONENT. + + ALICE is a PERSON has title "Alice". + InitialDev is a CODE_DEVELOPMENT wasAssociatedWith ALICE. + InitialDev has goal BitFlipperSource has goal BitFlipper. + BitFlipperSource is a FILE. + BitFlipper is a SWCOMPONENT has title "bitflipper". + BitFlipper has componentType SourceFunction. + BitFlipper has partOf BitFlipperSource. + + BOB is a Person has title "Bob". + TestDev is a TEST_DEVELOPMENT wasAssociatedWith BOB. + Flip is a TEST has wasGeneratedBy TestDev. + Flap is a TEST has wasGeneratedBy TestDev. + Flop is a TEST has wasGeneratedBy TestDev. + TestDev has goal SrcTestFile. + SrcTestFile is a FILE. + + TestBld1 is a COMPILE wasAssociatedWith BOB. + TestBld1 has compileInput SrcTestFile has compileInput BitFlipperSource. + TestBld1 has goal TestExe. + TestExe is a FILE has filename "BitFlipperTesting". + + Flip has verifies BitFlipper. + Flap has verifies BitFlipper. + Flop has verifies BitFlipper. + + FlipStep is a TEST_STEP has thisStep Flip. + FlapStep is a TEST_STEP has thisStep Flap. + FlopStep is a TEST_STEP has thisStep Flop. + + FLIPTest is a TEST_PROCEDURE. + FLIPTest has independentTest FlipStep. + FLIPTest has independentTest FlapStep. + FLIPTest has independentTest FlopStep. + +"Bob" then performs a TEST_EXECUTION activity for the 'testProcedure' "FLIPTest" +which generates a 'testLog' link to a TEST_LOG with 'content' of a TEST_RECORD. +The TEST_RECORD has a 'testRecordProcedure' to "FLIPTest", a 'testRecordScenario' +to a TEST_SCENARIO that has a 'testPackage' of "BitFlipperTesting" and +'testVersion' of "1.0" but no 'targetPackage' linkage. At the completion of the +TEST_EXECUTION, there are three TEST_RESULTs that 'wasGeneratedBy' the +TEST_EXECUTION, where each confirms "Flip", "Flop" and "Flap" TESTs respectively. +Unfortunately, "Flip" and "Flap" have a TEST_RESULT 'result' TEST_STATUS of +'Passed', but "Flop" is 'Failed'. + + Run1 is a TEST_EXECUTION has testProcedure FLIPTest wasAssociatedWith BOB. + Log1 is a TEST_LOG. + Record1 is a TEST_RECORD. + Scenario1 is a TEST_SCENARIO. + + Run1 has testLog Log1. + Log1 has content Record1. + Record1 has testRecordProcedure FLIPTest. + Record1 has testRecordSteps FlipStep. + Record1 has testRecordSteps FlapStep. + Record1 has testRecordSteps FlopStep. + Record1 has testRecordScenario Scenario1. + + Scenario1 has testPackage TestExe has testVersion "1.0". + + Flipped1 is a TEST_RESULT has wasGeneratedBy Run1 has confirms Flip. + Flapped1 is a TEST_RESULT has wasGeneratedBy Run1 has confirms Flap. + Flopped1 is a TEST_RESULT has wasGeneratedBy Run1 has confirms Flop. + + Flipped1 has result Passed. + Flapped1 has result Passed. + Flopped1 has result Failed. + + +"Alice" looks at the failed "Flop" test and realizes she needs to make a small +change to the "bitflipper", which she does as a new CODE_DEVELOPMENT. "Bob" then +performs another COMPILE activity to get a new version of "BitFlipperTesting". +He then performs another TEST_EXECUTION, which has all the aforementioned links, +except this time he only runs the previously-failed Flop test, which now has a +new TEST_RESULT with a 'result' TEST_STATUS of 'Passed'. The TEST_RECORD +'testRecordScenario' linked TEST_SCENARIO for this second run still has a +'testPackage' of "BitFlipper" but the 'testVersion' is now "1.1", and the +corresponding COMPILE activity has a 'compileInput' to the new FILE containing +"Alice"'s updated "bitflipper" that 'wasGeneratedBy' her second CODE_DEVELOPMENT +activity. + + FixBitFlipper is a CODE_DEVELOPMENT wasAssociatedWith ALICE. + FixBitFlipper has goal BitFlipperSource2 has goal BitFlipper. + BitFlipperSource2 is a FILE. + BitFlipper has partOf BitFlipperSource2. + + TestBld2 is a COMPILE wasAssociatedWith BOB. + TestBld2 has compileInput SrcTestFile has comipleInput BitFlipperSource2. + TestBld2 has goal TestExe2. + TestExe2 is a FILE has filename "BitFlipperTesting". + + Run2 is a TEST_EXECUTION has testProcedure FLIPTest wasAssociatedWith BOB. + Log2 is a TEST_LOG. + Record2 is a TEST_RECORD. + Scenario2 is a TEST_SCENARIO. + + Run2 has testLog Log2. + Log2 has content Record2. + Record2 has testRecordProcedure FLIPTest. + Record2 has testRecordSteps FlopStep. + Record2 has testRecordScenario Scenario2. + + Scenario2 has testPackage TestExe2 has testVersion "1.1". + + Flopped2 is a TEST_RESULT has wasGeneratedBy Run2 has confirms Flop. + Flopped2 has result Passed. + + ---- temporary below -------------------------------------------------- Changes: @@ -261,19 +530,23 @@ Changes: contains? That might be a duplicate/conflict with TEST_RECORD.testRecordProcedure though. -4. Modify TEST_RECORD, which currently parallels TEST_STEP but doesn't add any - new information. The original idea was that the output side paralleled the - input side, but it's not clear that the parallel to the TEST_STEP can be +4. Modify `TEST_RECORD`, which currently parallels `TEST_STEP` but doesn't add + any new information. The original idea was that the output side paralleled + the input side, but it's not clear that the parallel to the `TEST_STEP` can be extracted reliably from the test output. There's also a concern about if - TEST_RECORD.nextRecord conflicts with TEST_STEP.nextStep what that would mean. + `TEST_RECORD.nextRecord` conflicts with `TEST_STEP.nextStep` what that would + mean. + Taking a step back from this approach, it seems that ultimately the - TEST_RESULTS should match up to the TESTS in 1:1, and if there's too many of - either, that is a reasonable indication of a mismatch. Other than that, there - doesn't seem to be any useful information imparted by trying to have the - TEST_RECORD as a parallel to TEST_STEP (it doesn't fulfill any of the - considerations discussed above). Instead, TEST_RECORD can be used to track - the run of a subset of tests (where the TEST_RECORD corresponds to a .out file - captured from a TEST_EXECUTION). + `TEST_RESULTS` should match up to the `TESTS` in 1:1 fashion, and if there's + too many of either, that is a reasonable indication of a mismatch for TA3 + analysis. Other than that, there doesn't seem to be any useful information + imparted by trying to have the `TEST_RECORD` as a parallel to `TEST_STEP` (it + doesn't fulfill any of the considerations discussed above). + + Instead, *`TEST_RECORD` can be used to track the run of a subset of tests + (where the `TEST_RECORD` corresponds to a `.out` file captured from a + `TEST_EXECUTION`)*. 5. Add fields to TEST_EXECUTION diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index f580bcfb..acc09122 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -49,7 +49,9 @@ TEST_RESULT TEST_PROCEDURE (note "A TEST_PROCEDURE is the TEST_STEPs that perform TESTs. ") is a type of COLLECTION. - content of TEST_PROCEDURE only has values of type TEST_STEP. + independentTest describes TEST_PROCEDURE. + independentTest is a type of content. + independentTest only has values of type TEST_STEP. TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution") is a type of ENTITY. thisStep (note "The TEST performed by this TEST_STEP") of TEST_STEP has a single value of type TEST. @@ -82,6 +84,7 @@ TEST_EXECUTION testProcedure (note "TEST_PROCEDURE that was executed.") describes TEST_EXECUTION with values of type TEST_PROCEDURE. testProcedure is a type of used. testLog (note "TEST_LOG that was generated") describes TEST_EXECUTION with values of type TEST_LOG. + testLog is a type of goal. TEST_ANNOTATION (note "provides additional information about a TEST_RESULT") is a type of ENTITY. annotatedResult (note "identifies the TEST_RESULT being annotated") describes TEST_ANNOTATION with values of type TEST_RESULT. From 7762b412745b8454f1e765a81b400e11af1c1c95 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 21 Mar 2023 16:50:18 -0700 Subject: [PATCH 11/42] Fix independentTest property subclass in SADL. --- RACK-Ontology/ontology/TESTING.sadl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index acc09122..98fe48cb 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -49,9 +49,8 @@ TEST_RESULT TEST_PROCEDURE (note "A TEST_PROCEDURE is the TEST_STEPs that perform TESTs. ") is a type of COLLECTION. - independentTest describes TEST_PROCEDURE. + independentTest describes TEST_PROCEDURE only has values of type TEST_STEP. independentTest is a type of content. - independentTest only has values of type TEST_STEP. TEST_STEP (note "A TEST_STEP is a collection of TESTs that are performed in a single execution") is a type of ENTITY. thisStep (note "The TEST performed by this TEST_STEP") of TEST_STEP has a single value of type TEST. From 638f29d7f2e4fa16cc872cf6b747289d7aae3944 Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Tue, 28 Mar 2023 09:52:01 -0400 Subject: [PATCH 12/42] Fix optimization and restart scripts, re-enable optimization in RACK UI (#949) Resolves Issue #945 --- cli/optimize.sh | 7 +++++-- cli/restart-fuseki.sh | 8 +++++--- rack-ui/pages/load.py | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cli/optimize.sh b/cli/optimize.sh index 7dfc9e0f..1738b688 100755 --- a/cli/optimize.sh +++ b/cli/optimize.sh @@ -8,8 +8,11 @@ FUSEKI_PID=$(systemctl show --property MainPID fuseki) FUSEKI_PID=${FUSEKI_PID#"MainPID="} if [ -n "${FUSEKI_PID}" ]; then systemctl stop fuseki - # systemctl doesn't always seem to succeed, so be quite certain - # until we figure out why it doesn't always succeed +fi +# systemctl stop doesn't always work, so kill -9 for now to be sure +FUSEKI_PID=$(systemctl show --property MainPID fuseki) +FUSEKI_PID=${FUSEKI_PID#"MainPID="} +if [ -n "${FUSEKI_PID}" ]; then kill -9 "${FUSEKI_PID}" > /dev/null 2>&1 fi diff --git a/cli/restart-fuseki.sh b/cli/restart-fuseki.sh index 1067e2a0..b2439ff3 100755 --- a/cli/restart-fuseki.sh +++ b/cli/restart-fuseki.sh @@ -5,11 +5,13 @@ set -e FUSEKI_PID=$(systemctl show --property MainPID fuseki) FUSEKI_PID=${FUSEKI_PID#"MainPID="} - if [ -n "${FUSEKI_PID}" ]; then systemctl stop fuseki - # systemctl doesn't always seem to succeed, so be quite certain - # until we figure out why it doesn't always succeed +fi +# systemctl stop doesn't always work, so kill -9 for now to be sure +FUSEKI_PID=$(systemctl show --property MainPID fuseki) +FUSEKI_PID=${FUSEKI_PID#"MainPID="} +if [ -n "${FUSEKI_PID}" ]; then kill -9 "${FUSEKI_PID}" > /dev/null 2>&1 fi diff --git a/rack-ui/pages/load.py b/rack-ui/pages/load.py index 56a1683f..06e49ed3 100644 --- a/rack-ui/pages/load.py +++ b/rack-ui/pages/load.py @@ -208,8 +208,8 @@ def run_ingest(load_button_clicks, status_filepath, zip_filepath, load_options): last_loaded_graphs = manifest.getModelgraphsFootprint() + manifest.getDatagraphsFootprint() # optimize triple store - #if manifest.getNeedsOptimization(): - # rack.invoke_optimization(None) + if manifest.getNeedsOptimization(): + rack.invoke_optimization(None) time.sleep(3) except Exception as e: From b444e27c3e9f4d003c8e0029a5bc0e62d450452c Mon Sep 17 00:00:00 2001 From: John Interrante Date: Tue, 28 Mar 2023 13:59:41 -0700 Subject: [PATCH 13/42] Upgrade Fuseki to 4.7.0 and RACK graph to TDB2 Closes #951 assemble-files.yml: Bump Fuseki and Jena from 4.6.1 to 4.7.0. optimize.sh: Switch from tdbstats to tdb2.tdbstats. install.sh: Switch from tdb to tdb2. --- .github/workflows/assemble-files.yml | 4 ++-- cli/optimize.sh | 4 ++-- rack-box/scripts/install.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/assemble-files.yml b/.github/workflows/assemble-files.yml index 745e5476..e38b22de 100644 --- a/.github/workflows/assemble-files.yml +++ b/.github/workflows/assemble-files.yml @@ -51,12 +51,12 @@ jobs: - name: Download Fuseki shell: bash run: | - curl -LSfs https://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-4.6.1.tar.gz -o RACK/rack-box/files/fuseki.tar.gz + curl -LSfs https://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-4.7.0.tar.gz -o RACK/rack-box/files/fuseki.tar.gz - name: Download Apache Jena shell: bash run: | - curl -LSfs https://archive.apache.org/dist/jena/binaries/apache-jena-4.6.1.tar.gz -o RACK/rack-box/files/jena.tar.gz + curl -LSfs https://archive.apache.org/dist/jena/binaries/apache-jena-4.7.0.tar.gz -o RACK/rack-box/files/jena.tar.gz - name: Download SemTK shell: bash diff --git a/cli/optimize.sh b/cli/optimize.sh index 1738b688..73de0617 100755 --- a/cli/optimize.sh +++ b/cli/optimize.sh @@ -18,8 +18,8 @@ fi RACK_DB="/etc/fuseki/databases/RACK" RACK_FUSEKI_CONFIG="/etc/fuseki/configuration/RACK.ttl" -# Currently using TDB1, this should become tdb2.tdbstats for TDB2 -TDBSTATS="/opt/jena/bin/tdbstats" +# Currently using TDB2, revert to tdbstats for TDB1 +TDBSTATS="/opt/jena/bin/tdb2.tdbstats" TMP_STATS="/tmp/stats.opt" # Usually it goes into a `Data-0001` subdirectory, but it seems that with our # RACK.ttl configuration we just don't have the extra directory. diff --git a/rack-box/scripts/install.sh b/rack-box/scripts/install.sh index 007d9673..489358d8 100644 --- a/rack-box/scripts/install.sh +++ b/rack-box/scripts/install.sh @@ -152,7 +152,7 @@ sed -e 's/"30000"/"300000"/' -i /etc/fuseki/config.ttl # Create the RACK dataset -curl -Ss -d 'dbName=RACK' -d 'dbType=tdb' 'http://localhost:3030/$/datasets' +curl -Ss -d 'dbName=RACK' -d 'dbType=tdb2' 'http://localhost:3030/$/datasets' # Configure the SemTK services and webapps From 8629e11fc1711d211b9541e640ad91c4cc1f30ba Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Wed, 29 Mar 2023 13:07:47 -0700 Subject: [PATCH 14/42] get the pid before stopping in optimize script (#953) --- cli/optimize.sh | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/cli/optimize.sh b/cli/optimize.sh index 73de0617..a4e1bfa0 100755 --- a/cli/optimize.sh +++ b/cli/optimize.sh @@ -3,17 +3,20 @@ set -eu -echo "Stopping Fuseki" -FUSEKI_PID=$(systemctl show --property MainPID fuseki) -FUSEKI_PID=${FUSEKI_PID#"MainPID="} -if [ -n "${FUSEKI_PID}" ]; then +if systemctl is-active --quiet fuseki; then + + echo "Stopping Fuseki" + + # remember the PID in case stopping fuseki doesn't stop it + FUSEKI_PID=$(systemctl show --property MainPID fuseki) + FUSEKI_PID=${FUSEKI_PID#"MainPID="} + systemctl stop fuseki -fi -# systemctl stop doesn't always work, so kill -9 for now to be sure -FUSEKI_PID=$(systemctl show --property MainPID fuseki) -FUSEKI_PID=${FUSEKI_PID#"MainPID="} -if [ -n "${FUSEKI_PID}" ]; then - kill -9 "${FUSEKI_PID}" > /dev/null 2>&1 + + # systemctl stop doesn't always work, so kill -9 for now to be sure + if [ -n "${FUSEKI_PID}" ]; then + kill -9 "${FUSEKI_PID}" &> /dev/null || true + fi fi RACK_DB="/etc/fuseki/databases/RACK" From 2d417bef7a3a057f8222b7918bea881353d78955 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 09:18:32 -0700 Subject: [PATCH 15/42] Update sample scenarios with additional clarity and fallbacks. The TESTING ontology works to capture a broad range of testing considerations; not all of those considerations are apparent or available when ingesting data, so the scenarios now describe some of the fallback representations when less data is available. --- RACK-Ontology/Orienteering.md | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index b469bb38..5c5d2212 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -247,9 +247,8 @@ the TESTING.sadl file provides a more complete specification of TESTING elements The software written during the Program is intended to satisfy a particular requirement "Req1" (among others). The software is built via the documented build process and the resulting artifact of the build is an executable, -identified by Target name and version. The software must be verified to meet -Req1, so 5 requirements-based TESTs are developed (the TESTs 'wasGeneratedBy' a -TEST_DEVELOPMENT), and the 'verifies' target of each is the "Req1" REQUIREMENT. +identified by Target name and version. This isn't strictly part of the testing +ontology, this is some information from the software development ontology: REQ1 is a REQUIREMENT has identifier "Req1". @@ -263,6 +262,12 @@ TEST_DEVELOPMENT), and the 'verifies' target of each is the "Req1" REQUIREMENT. Bld1 has used MakeFile1 has compileInput SOURCE1 has goal TARGET1. TARGET1 is a FILE. +The software must be verified to meet +Req1, so 5 requirements-based TESTs are developed (the TESTs 'wasGeneratedBy' a +TEST_DEVELOPMENT), and the 'verifies' target of each is the "Req1" REQUIREMENT. + +The test development could be captured by another software development dataset: + TDEV1 is a TEST_DEVELOPMENT. TDEV1 has goal TestSource1. TestSource1 is a FILE. @@ -271,6 +276,10 @@ TEST_DEVELOPMENT), and the 'verifies' target of each is the "Req1" REQUIREMENT. TestBld1 has compileInput TestSource1 has goal TestExe. TestExe is a FILE. +Describing the 5 tests within the TESTING ontology portion and--since we +documented the `TEST_DEVELOPMENT` above--linking them back to their development +portion (which is not always present): + TEST1 is a TEST has identifier "Test1". TEST2 is a TEST has identifier "Test2". TEST3 is a TEST has identifier "Test3". @@ -291,7 +300,9 @@ TEST_STEPs ("Step1", "Step2", "Step3"), where "Step1" 'thisStep' is "Test1", "Step2" 'thisStep' is "Test2", and "Step3" 'thisStep' is "Test3". There are two more TEST_STEPs ("Step3b" and "Step3c"), where "Step3" has 'nextStep' to "Step3b" (which has 'thisStep' to "Test4"), and "Step3b" has 'nextStep' to "Step3c" (which -has 'thisStep' to "Test5"). +has 'thisStep' to "Test5"). Note that it is not always apparent which tests are +dependent on other tests; the default approach is to simply assume all tests are +independent until otherwise known, as is described in this scenario. VR1 is a TEST_PROCEDURE has identifier "VerifyReq1". Tstep1 is a TEST_STEP has identifier "Step1" has thisStep TEST1. @@ -377,10 +388,9 @@ TEST_RESULT for "Test2". TestResultAnalysis is an ACTIVITY. TestResultAnalysis has wasAssociatedWith JoeTest has goal Memo. - Memo is an TEST_ANNOTATION has wasGeneratedBy TestResultAnalysis. + Memo is a TEST_ANNOTATION has wasGeneratedBy TestResultAnalysis. Memo has annotatedResult TRES2. - IgnoredFailureOOB is a ENTITY has wasGeneratedBy TestResultAnalysis. - Memo has testAnnotation IgnoredFailureOOB. + Memo has annotatedValue IgnoredFailureOOB. ## Scenario 2 @@ -504,6 +514,13 @@ activity. Flopped2 is a TEST_RESULT has wasGeneratedBy Run2 has confirms Flop. Flopped2 has result Passed. +Another note to make here is that it's not always the case that this type of +incremental development process is captured in the data provided to RACK. The +minimum scenario is that there is a `TEST_RECORD` that fully matches the +`TEST_SCENARIO` and contains a `TEST_RESULT` that confirms every `TEST`; the +additional information captured in the above multi-stage scenario is enhanced +information that is not always available. + ---- temporary below -------------------------------------------------- From 76c46f805d20004b2c76d26e2b4784a2fdcfe276 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 09:20:04 -0700 Subject: [PATCH 16/42] Fold TEST_SCENARIO into TEST_RECORD. --- RACK-Ontology/ontology/TESTING.sadl | 3 --- 1 file changed, 3 deletions(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index 98fe48cb..574a9585 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -63,10 +63,7 @@ TEST_LOG (note "A TEST_LOG is the TEST_RESULTs from executing a TEST_PROCEDURE") TEST_RECORD (note "a TEST_RECORD identifies the configuration under which a set of tests was run") is a type of ENTITY. testRecordProcedure (note "the TEST_PROCEDURE for which this TEST_RECORD was created") describes TEST_RECORD with a single value of type TEST_PROCEDURE. testRecordSteps (note "the initial TEST_STEPs performed") describes TEST_RECORD with values of type TEST_STEP. - testRecordScenario (note "the TEST_SCENARIO for which this TEST_RECORD was generated") describes TEST_RECORD with a single value of type TEST_SCENARIO. testConfiguration (note "the configuration information for this TEST_EXECUTION") describes TEST_RECORD with values of type ENTITY. - -TEST_SCENARIO (note "is the target that the TEST_EXECUTION was run against and for which the TEST_RECORD was generated") is a type of ENTITY. targetPackage (note "is the target FILE tested") describes TEST_SCENARIO with values of type FILE. targetVersion (note "is the version of the targetPackage tested") describes TEST_SCENARIO with a single value of type string. testPackage (note "is the test FILE executed") describes TEST_SCENARIO with values of type FILE. From d67a840fd1977e5f38772b8916982dae748fe57d Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 09:20:28 -0700 Subject: [PATCH 17/42] TEST_ANNOTATION is an enumeration rather than a generic ENTITY. --- RACK-Ontology/ontology/TESTING.sadl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index 574a9585..6949f9fd 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -83,6 +83,12 @@ TEST_EXECUTION testLog is a type of goal. TEST_ANNOTATION (note "provides additional information about a TEST_RESULT") is a type of ENTITY. + annotatedValue describes TEST_ANNOTATION with values of TEST_ANNOTATION_VALUE. annotatedResult (note "identifies the TEST_RESULT being annotated") describes TEST_ANNOTATION with values of type TEST_RESULT. - testAnnotation (note "specifies the annotation information to add to the TEST_RESULT") describes TEST_ANNOTATION with values of type ENTITY. +TEST_ANNOTATION_VALUE (note "values for a TEST_ANNOTATION value") is a type of THING + must be one of {IgnoredFailureOOB}. + +IgnoredFailureOOB is a TEST_ANNOTATION_VALUE. + identifier "IgnoredFailure" + title "Ignored Failure based on Out-Of-Band information". From 01dfe62e2061bdc0309516f04a1541a3b7e0aafa Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 09:31:35 -0700 Subject: [PATCH 18/42] Added Graphs for updated TESTING ontology with surrounding scoped items. --- RACK-Ontology/Graphs/TESTING_scoped.dot | 247 +++++ RACK-Ontology/Graphs/TESTING_scoped.svg | 1289 +++++++++++++++++++++++ RACK-Ontology/Orienteering.md | 3 + 3 files changed, 1539 insertions(+) create mode 100644 RACK-Ontology/Graphs/TESTING_scoped.dot create mode 100644 RACK-Ontology/Graphs/TESTING_scoped.svg diff --git a/RACK-Ontology/Graphs/TESTING_scoped.dot b/RACK-Ontology/Graphs/TESTING_scoped.dot new file mode 100644 index 00000000..f21321dc --- /dev/null +++ b/RACK-Ontology/Graphs/TESTING_scoped.dot @@ -0,0 +1,247 @@ +// This is a graphical representation of the core TESTING ontology and some of +// the surrounding elements that connect to it. +// +// Different portions of the RACK_Ontology have different colorizations, and +// ACTIVITIES have doubled borders. +// +// This has every TESTING ontology element, but is a representational subset of +// the various properties and surrounding elements; a full representation is too +// verbose to be useful, so the items shown here should be chosen judiciously. + +digraph RACK { + edge [ decorate=true ]; + node [ style=filled ]; + + subgraph PROV_S { + node [ root=true ]; + THING [ shape=record, label = "{ THING | identifier::string | title::string | description::string }" ]; + THING -> ACTIVITY [ label = "dataInsertedBy" ]; + THING -> ENTITY; + ENTITY [ shape=record, label = "{ ENTITY | generatedAtTime::dateTime | invalidatedAtTime::dateTime | entityURL::string }" ]; + ENTITY -> ENTITY [ label = "wasDerivedFrom" ]; + ENTITY -> ENTITY [ label = "wasRevisionOf" ]; + ENTITY -> ENTITY [ label = "wasImpactedBy" ]; + ENTITY -> ACTIVITY [ label = "wasGeneratedBy" ]; + ENTITY -> AGENT [ label = "wasAttributedTo" ]; + COLLECTION -> ENTITY [ label = "content" ]; + ENTITY -> COLLECTION; + THING -> AGENT; + AGENT -> AGENT [ root=true, label = "actedOnBehalfOf" ]; + ACTIVITY [ shape=record, label = "{ ACTIVITY | startedAtTime::dateTime | endedAtTime::dateTime }", peripheries=2 ]; + ACTIVITY -> AGENT [ label = "wasAssociatedWith" ]; + ACTIVITY -> ACTIVITY [ label = "wasInformedBy" ]; + ACTIVITY -> ENTITY [ label = "goal" ]; + ACTIVITY -> ENTITY [ label = "used" ]; + }; + + subgraph cluster_TESTING { + node [ color = "red", fillcolor="lightcoral" ]; + edge [ color = "red" ]; + + TEST [ label = "TEST\n:: ENTITY" ]; + TEST -> ENTITY [ label = "verifies" ]; + + TEST_PROCEDURE [ label = "TEST_PROCEDURE\n:: COLLECTION" ]; + // TEST_PROCEDURE -> COLLECTION [ color="black", weight=10, style="bold" ]; + TEST_PROCEDURE -> TEST_STEP [ label = "independentTest" ]; + + TEST_STEP [ label = "TEST_STEP\n:: ENTITY" ]; + // TEST_STEP -> COLLECTION [ color="black", weight=10, style="bold" ]; + TEST_STEP -> TEST [ label = "thisStep" ]; + TEST_STEP -> TEST_STEP [ label = "nextStep [*]"; ]; + + TEST_STATUS -> tsts; + tsts [ shape=record, label = "{ Passed | Failed | Indeterminate }" ]; + + TEST_LOG [ label = "TEST_LOG\n:: COLLECTION" ]; + // TEST_LOG -> COLLECTION [ color="black" ]; + TEST_LOG -> TEST_RECORD [ label = "content" ]; + + TEST_RESULT [ label = "TEST_RESULT\n:: ENTITY" ]; + // TEST_RESULT -> ENTITY [ color="black" ]; + TEST_RESULT -> TEST_STATUS [ label = "result" ]; + TEST_RESULT -> TEST [ label = "confirms" ]; + + TEST_RECORD [ label = "TEST_RECORD\n:: ENTITY" ]; + // TEST_RECORD -> COLLECTION [ color="black" ]; + TEST_RECORD -> TEST_PROCEDURE [ label = "testRecordProcedure" ]; + TEST_RECORD -> ENTITY [ label = "testConfiguration" ]; + TEST_RECORD -> TEST_STEP [ label = "testRecordSteps" ]; + TEST_RECORD -> FILE [ label = "targetPackage" ]; + TEST_RECORD -> string [ label = "targetVersion" ]; + TEST_RECORD -> FILE [ label = "testPackage" ]; + TEST_RECORD -> string [ label = "testVersion" ]; + + TEST_EXECUTION [ peripheries=2 ]; + TEST_EXECUTION [ label = "TEST_EXECUTION\n:: ACTIVITY" ]; + // TEST_EXECUTION -> ACTIVITY [ color="black" ]; + TEST_EXECUTION -> TEST_PROCEDURE [ label = "testProcedure" ]; + TEST_EXECUTION -> TEST_LOG [ label = "testLog" ]; + TEST_RESULT -> TEST_EXECUTION [ label = "wasGeneratedBy" ]; + + TEST_ANNOTATION [ label = "TEST_ANNOTATION\n:: ENTITY" ]; + TEST_ANNOTATION -> TEST_RESULT [ label = "annotatedResult" ]; + // TEST_ANNOTATION -> ACTIVITY [ label = "wasGeneratedBy" ]; + TEST_ANNOTATION -> TstAnnotations [ label = "annotatedValue" ]; + TstAnnotations [ shape=record, label = "{ IgnoredFailureOOB }" ]; + + TEST_DEVELOPMENT [ peripheries=2 ]; + TEST -> TEST_DEVELOPMENT [ label = "wasGeneratedBy" ]; + TEST_DEVELOPMENT [ label = "TEST_DEVELOPMENT\n:: ACTIVITY" ]; + // TEST_DEVELOPMENT -> ACTIVITY [ color="black" ]; + }; + + subgraph REQUIREMENTS { + node [ color = "blue", fillcolor="cyan" ]; + edge [ color = "blue" ]; + REQUIREMENT [ label = "REQUIREMENT\n:: ENTITY" ]; + // REQUIREMENT -> ENTITY [ color="black" ]; + REQUIREMENT -> ENTITY [ label = "governs" ]; + REQUIREMENT -> ENTITY [ label = "satisfies" ]; + REQUIREMENT -> ENTITY [ label = "mitigates" ]; + REQUIREMENT -> REQUIREMENT_DEVELOPMENT [ decorate=true, label = "wasGeneratedBy" ]; + DATA_DICTIONARY_TERM [ label = "DATA_DICTIONARY_TERM\n:: ENTITY" ]; + // DATA_DICTIONARY_TERM -> ENTITY [ color="black" ]; + DATA_DICTIONARY_TERM -> ENTITY [ label = "providedBy" ]; + DATA_DICTIONARY_TERM -> ENTITY [ label = "consumedBy" ]; + REQUIREMENT_DEVELOPMENT [ peripheries=2, label = "REQUIREMENT_DEVELOPMENT\n:: ACTIVITY" ]; + // REQUIREMENT_DEVELOPMENT -> ACTIVITY [ color="black" ]; + REQUIREMENT_DEVELOPMENT -> ENTITY [ label = "referenced" ]; + REQUIREMENT_DEVELOPMENT -> ENTITY [ label = "governedBy" ]; + }; + + subgraph DOC { + node [ color="green", fillcolor="lightgreen" ]; + edge [ color="green" ]; + DOCUMENT [ label = "DOCUMENT\n:: COLLECTION" ]; + // DOCUMENT -> COLLECTION [ color="black" ]; + DOCUMENT -> DOC_STATUS [ label="status" ]; + DOCUMENT -> AGENT [ label="issuingOrganization" ]; + DOCUMENT -> AGENT [ label="approvalAuthority" ]; + DOCUMENT -> ENTITY [ label="references" ]; + DOC_STATUS -> dsts; + dsts [ shape=record, decorate=true, label = "{ In_Development | Released | Withdrawn }" ]; + DESCRIPTION -> DOCUMENT; + PLAN -> DOCUMENT; + PROCEDURE -> DOCUMENT; + REPORT -> DOCUMENT; + REQUEST -> DOCUMENT; + SPECIFICATION -> DOCUMENT; + SECTION [ label = "SECTION\n:: COLLECTION" ]; + // SECTION -> COLLECTION [ color="black" ]; + }; + + subgraph SOFTWARE { + node [ color="brown", fillcolor="tan" ]; + edge [ color="brown" ]; + SWCOMPONENT [ label = "SWCOMPONENT\n:: ENTITY" ]; + // SWCOMPONENT -> ENTITY [ color="black" ]; + SWCOMPONENT_TYPE [ label = "SWCOMPONENT_TYPE\n:: THING" ]; + // SWCOMPONENT_TYPE -> THING [ color="black" ]; + SWCOMPONENT -> SWCOMPONENT_TYPE [ label="componentType" ]; + }; + + subgraph SYS { + node [ color="purple", fillcolor="lavender" ]; + edge [ color="purple" ]; + SYSTEM [ label = "SYSTEM\n:: ENTITY" ]; + // SYSTEM -> ENTITY [ color="black" ]; + SYSTEM -> SYSTEM [ label="partOf" ]; + SYSTEM -> FUNCTION [ label="provides" ]; + SYSTEM -> FUNCTION [ label="requires" ]; + SYSTEM -> FUNCTION [ label="function" ]; + SYSTEM -> SYSTEM_DEVELOPMENT [ label="wasGeneratedBy" ]; + INTERFACE [ label = "INTERFACE\n:: ENTITY" ]; + // INTERFACE -> ENTITY [ color="black" ]; + INTERFACE -> SYSTEM [ label="source" ]; + INTERFACE -> SYSTEM [ label="destination" ]; + SYSTEM_DEVELOPMENT [ peripheries=2, label = "SYSTEM_DEVELOPMENT\n:: ACTIVITY" ]; + FUNCTION [ label = "FUNCTION\n:: ENTITY" ]; + // FUNCTION -> ENTITY [ color="black" ]; + FUNCTION -> FUNCTION [ label="parentFunction" ]; + OP_ENV [ label = "OP_ENV\n:: THING" ]; + // OP_ENV -> THING; + OP_PROCEDURE -> PROCEDURE; + }; + + subgraph Boeing { + node [ fillcolor="yellow" ]; + SRS_Doc [ color="green" ]; + PIDS_Doc [ color="green" ]; + SubDD_Doc [ color="green" ]; + SRS_Doc [ color="green" ]; + SRS_Doc -> DOCUMENT [ color="green", weight=10, style="bold" ]; + SRS_Doc -> SRS_Req [ label="> content" ]; + PIDS_Doc -> DOCUMENT [ color="green", weight=10, style="bold" ]; + PIDS_Doc -> PIDS_Req [ label="> content" ]; + SubDD_Doc -> DOCUMENT [ color="green", weight=10, style="bold" ]; + SubDD_Doc -> SubDD_Req [ label="> content" ]; + + PIDS_Req [ color="blue" ]; + CSID_Req [ color="blue" ]; + SRS_Req [ color="blue" ]; + SubDD_Req [ color="blue" ]; + PIDS_Req -> REQUIREMENT [ color="blue", weight=10, style="bold" ]; + CSID_Req -> REQUIREMENT [ color="blue", weight=10, style="bold" ]; + SRS_Req -> REQUIREMENT [ color="blue", weight=10, style="bold" ]; + SubDD_Req -> REQUIREMENT [ color="blue", weight=10, style="bold" ]; + SubDD_Req -> SRS_Req [ label="> satisfies" ]; + + SBVT_Test [ color="red" ]; + SBVT_Result [ color="red" ]; + SBVT_Test -> TEST [ color="red", weight=10, style="bold" ]; + SBVT_Result -> TEST_RESULT [ color="red", weight=10, style="bold" ]; + SBVT_Result -> SBVT_Test [ label="> confirms" ]; + SBVT_Test_Procedure [ color="red" ]; + SBVT_Test_Procedure -> TEST_PROCEDURE [ color="red", weight=10, style="bold" ]; + SBVT_Test_Procedure -> SBVT_Test_Step + + Message [ color="purple" ]; + Message -> INTERFACE [ color="purple", weight=10, style="bold" ]; + Signal [ color="blue" ]; + Signal -> DATA_DICTIONARY_TERM [ color="blue", weight=10, style="bold" ]; + Signal -> Message [ label="message" ]; + + SBVT_Test_Step [ color="red" ]; + SBVT_Test_Step -> TEST_STEP [ color="red", weight=10, style="bold" ]; + SBVT_Test_Step -> Signal [ label="stimulates" ]; + SBVT_Test_Step -> Signal [ label="observes" ]; + SBVT_Test_Step -> SBVT_Test_Step [ label="> nextStep" ]; + SBVT_Test_Log [ color="red" ]; + SBVT_Test_Log -> TEST_LOG [ color="red", weight=10, style="bold" ]; + SBVT_Test_Log -> SBVT_Test_Record [ label="> content" ]; + SBVT_Test_Record [ color="red" ]; + SBVT_Test_Record -> TEST_RECORD [ color="red", weight=10, style="bold" ]; + SBVT_Test_Record -> SBVT_Test_Step [ label="> logs" ]; + IDD_Test_Result [ color="red" ]; + IDD_Test_Result -> TEST_RESULT [ color="red", weight=10, style="bold" ]; + IDD_Test_Result -> IDD_Test [ label="> confirms" ]; + + IDD [ color="purple" ]; + IDD -> INTERFACE [ color="purple", weight=10, style="bold" ]; + IDD_Doc [ color="blue" ]; + IDD_Doc -> DOCUMENT [ color="blue", weight=10, style="bold" ]; + IDD_Test [ color="red" ]; + IDD_Test -> TEST [ color="red" ]; + IDDCoverageAnalysis -> ANALYSIS [ weight=10, style="bold" ]; + IDDCoverageAnalysis -> IDD_Test [ label="analysisInput" ]; + IDDCoverageAnalysisResult [ color="red" ]; + IDDCoverageAnalysisResult -> TEST_RESULT [ color="red", weight=10, style="bold" ]; + IDDCoverageAnalysisResult -> IDD_Test [ label="confirms" ]; + + Test_Station -> AGENT [ color="black", weight=10, style="bold" ]; + SBVT_Test_Execution [ color="red", peripheries=2 ]; + SBVT_Test_Execution -> TEST_EXECUTION [ color="red", weight=10, style="bold" ]; + SBVT_Test_Execution -> SBVT_Test_Procedure [ label="testProcedure" ]; + SBVT_Test_Execution -> SYSTEM [ label="systemUnderTest", weight=10, style="bold" ]; + SBVT_Test_Execution -> BuildVersion [ label="systemUnderTestBuildVersion" ]; + SBVT_Test_Execution -> Database [ label="databaseVersion" ]; + SBVT_Test_Execution -> Test_Station [ label="testStation" ]; + SBVT_Test_Execution -> Executable [ label="buildVersion" ]; + + SBVT_Test_Log -> SBVT_Test_Execution [ label="testExecution [1]" ]; + + Database -> SWCOMPONENT [ color="brown", weight=10, style="bold" ]; + Executable -> SWCOMPONENT [ color="brown", weight=10, style="bold" ]; + } +} diff --git a/RACK-Ontology/Graphs/TESTING_scoped.svg b/RACK-Ontology/Graphs/TESTING_scoped.svg new file mode 100644 index 00000000..f46c6d34 --- /dev/null +++ b/RACK-Ontology/Graphs/TESTING_scoped.svg @@ -0,0 +1,1289 @@ + + + + + + +RACK + + +cluster_TESTING + + + + +THING + +THING + +identifier::string + +title::string + +description::string + + + +ACTIVITY + +ACTIVITY + +startedAtTime::dateTime + +endedAtTime::dateTime + + + +THING->ACTIVITY + + +dataInsertedBy + + + + +ENTITY + +ENTITY + +generatedAtTime::dateTime + +invalidatedAtTime::dateTime + +entityURL::string + + + +THING->ENTITY + + + + + +AGENT + +AGENT + + + +THING->AGENT + + + + + +ACTIVITY->ACTIVITY + + +wasInformedBy + + + + +ACTIVITY->ENTITY + + +goal + + + + +ACTIVITY->ENTITY + + +used + + + + +ACTIVITY->AGENT + + +wasAssociatedWith + + + + +ENTITY->ACTIVITY + + +wasGeneratedBy + + + + +ENTITY->ENTITY + + +wasDerivedFrom + + + + +ENTITY->ENTITY + + +wasRevisionOf + + + + +ENTITY->ENTITY + + +wasImpactedBy + + + + +ENTITY->AGENT + + +wasAttributedTo + + + + +COLLECTION + +COLLECTION + + + +ENTITY->COLLECTION + + + + + +AGENT->AGENT + + +actedOnBehalfOf + + + + +COLLECTION->ENTITY + + +content + + + + +TEST + +TEST +:: ENTITY + + + +TEST->ENTITY + + +verifies + + + + +TEST_DEVELOPMENT + + +TEST_DEVELOPMENT +:: ACTIVITY + + + +TEST->TEST_DEVELOPMENT + + +wasGeneratedBy + + + + +TEST_PROCEDURE + +TEST_PROCEDURE +:: COLLECTION + + + +TEST_STEP + +TEST_STEP +:: ENTITY + + + +TEST_PROCEDURE->TEST_STEP + + +independentTest + + + + +TEST_STEP->TEST + + +thisStep + + + + +TEST_STEP->TEST_STEP + + +nextStep [*] + + + + +TEST_STATUS + +TEST_STATUS + + + +tsts + +Passed + +Failed + +Indeterminate + + + +TEST_STATUS->tsts + + + + + +TEST_LOG + +TEST_LOG +:: COLLECTION + + + +TEST_RECORD + +TEST_RECORD +:: ENTITY + + + +TEST_LOG->TEST_RECORD + + +content + + + + +TEST_RECORD->ENTITY + + +testConfiguration + + + + +TEST_RECORD->TEST_PROCEDURE + + +testRecordProcedure + + + + +TEST_RECORD->TEST_STEP + + +testRecordSteps + + + + +FILE + +FILE + + + +TEST_RECORD->FILE + + +targetPackage + + + + +TEST_RECORD->FILE + + +testPackage + + + + +string + +string + + + +TEST_RECORD->string + + +targetVersion + + + + +TEST_RECORD->string + + +testVersion + + + + +TEST_RESULT + +TEST_RESULT +:: ENTITY + + + +TEST_RESULT->TEST + + +confirms + + + + +TEST_RESULT->TEST_STATUS + + +result + + + + +TEST_EXECUTION + + +TEST_EXECUTION +:: ACTIVITY + + + +TEST_RESULT->TEST_EXECUTION + + +wasGeneratedBy + + + + +TEST_EXECUTION->TEST_PROCEDURE + + +testProcedure + + + + +TEST_EXECUTION->TEST_LOG + + +testLog + + + + +TEST_ANNOTATION + +TEST_ANNOTATION +:: ENTITY + + + +TEST_ANNOTATION->TEST_RESULT + + +annotatedResult + + + + +TstAnnotations + +IgnoredFailureOOB + + + +TEST_ANNOTATION->TstAnnotations + + +annotatedValue + + + + +REQUIREMENT + +REQUIREMENT +:: ENTITY + + + +REQUIREMENT->ENTITY + + +governs + + + + +REQUIREMENT->ENTITY + + +satisfies + + + + +REQUIREMENT->ENTITY + + +mitigates + + + + +REQUIREMENT_DEVELOPMENT + + +REQUIREMENT_DEVELOPMENT +:: ACTIVITY + + + +REQUIREMENT->REQUIREMENT_DEVELOPMENT + + +wasGeneratedBy + + + + +REQUIREMENT_DEVELOPMENT->ENTITY + + +referenced + + + + +REQUIREMENT_DEVELOPMENT->ENTITY + + +governedBy + + + + +DATA_DICTIONARY_TERM + +DATA_DICTIONARY_TERM +:: ENTITY + + + +DATA_DICTIONARY_TERM->ENTITY + + +providedBy + + + + +DATA_DICTIONARY_TERM->ENTITY + + +consumedBy + + + + +DOCUMENT + +DOCUMENT +:: COLLECTION + + + +DOCUMENT->ENTITY + + +references + + + + +DOCUMENT->AGENT + + +issuingOrganization + + + + +DOCUMENT->AGENT + + +approvalAuthority + + + + +DOC_STATUS + +DOC_STATUS + + + +DOCUMENT->DOC_STATUS + + +status + + + + +dsts + +In_Development + +Released + +Withdrawn + + + +DOC_STATUS->dsts + + + + + +DESCRIPTION + +DESCRIPTION + + + +DESCRIPTION->DOCUMENT + + + + + +PLAN + +PLAN + + + +PLAN->DOCUMENT + + + + + +PROCEDURE + +PROCEDURE + + + +PROCEDURE->DOCUMENT + + + + + +REPORT + +REPORT + + + +REPORT->DOCUMENT + + + + + +REQUEST + +REQUEST + + + +REQUEST->DOCUMENT + + + + + +SPECIFICATION + +SPECIFICATION + + + +SPECIFICATION->DOCUMENT + + + + + +SECTION + +SECTION +:: COLLECTION + + + +SWCOMPONENT + +SWCOMPONENT +:: ENTITY + + + +SWCOMPONENT_TYPE + +SWCOMPONENT_TYPE +:: THING + + + +SWCOMPONENT->SWCOMPONENT_TYPE + + +componentType + + + + +SYSTEM + +SYSTEM +:: ENTITY + + + +SYSTEM->SYSTEM + + +partOf + + + + +FUNCTION + +FUNCTION +:: ENTITY + + + +SYSTEM->FUNCTION + + +provides + + + + +SYSTEM->FUNCTION + + +requires + + + + +SYSTEM->FUNCTION + + +function + + + + +SYSTEM_DEVELOPMENT + + +SYSTEM_DEVELOPMENT +:: ACTIVITY + + + +SYSTEM->SYSTEM_DEVELOPMENT + + +wasGeneratedBy + + + + +FUNCTION->FUNCTION + + +parentFunction + + + + +INTERFACE + +INTERFACE +:: ENTITY + + + +INTERFACE->SYSTEM + + +source + + + + +INTERFACE->SYSTEM + + +destination + + + + +OP_ENV + +OP_ENV +:: THING + + + +OP_PROCEDURE + +OP_PROCEDURE + + + +OP_PROCEDURE->PROCEDURE + + + + + +SRS_Doc + +SRS_Doc + + + +SRS_Doc->DOCUMENT + + + + + +SRS_Req + +SRS_Req + + + +SRS_Doc->SRS_Req + + +> content + + + + +PIDS_Doc + +PIDS_Doc + + + +PIDS_Doc->DOCUMENT + + + + + +PIDS_Req + +PIDS_Req + + + +PIDS_Doc->PIDS_Req + + +> content + + + + +SubDD_Doc + +SubDD_Doc + + + +SubDD_Doc->DOCUMENT + + + + + +SubDD_Req + +SubDD_Req + + + +SubDD_Doc->SubDD_Req + + +> content + + + + +SRS_Req->REQUIREMENT + + + + + +PIDS_Req->REQUIREMENT + + + + + +SubDD_Req->REQUIREMENT + + + + + +SubDD_Req->SRS_Req + + +> satisfies + + + + +CSID_Req + +CSID_Req + + + +CSID_Req->REQUIREMENT + + + + + +SBVT_Test + +SBVT_Test + + + +SBVT_Test->TEST + + + + + +SBVT_Result + +SBVT_Result + + + +SBVT_Result->TEST_RESULT + + + + + +SBVT_Result->SBVT_Test + + +> confirms + + + + +SBVT_Test_Procedure + +SBVT_Test_Procedure + + + +SBVT_Test_Procedure->TEST_PROCEDURE + + + + + +SBVT_Test_Step + +SBVT_Test_Step + + + +SBVT_Test_Procedure->SBVT_Test_Step + + + + + +SBVT_Test_Step->TEST_STEP + + + + + +SBVT_Test_Step->SBVT_Test_Step + + +> nextStep + + + + +Signal + +Signal + + + +SBVT_Test_Step->Signal + + +stimulates + + + + +SBVT_Test_Step->Signal + + +observes + + + + +Message + +Message + + + +Message->INTERFACE + + + + + +Signal->DATA_DICTIONARY_TERM + + + + + +Signal->Message + + +message + + + + +SBVT_Test_Log + +SBVT_Test_Log + + + +SBVT_Test_Log->TEST_LOG + + + + + +SBVT_Test_Record + +SBVT_Test_Record + + + +SBVT_Test_Log->SBVT_Test_Record + + +> content + + + + +SBVT_Test_Execution + + +SBVT_Test_Execution + + + +SBVT_Test_Log->SBVT_Test_Execution + + +testExecution [1] + + + + +SBVT_Test_Record->TEST_RECORD + + + + + +SBVT_Test_Record->SBVT_Test_Step + + +> logs + + + + +IDD_Test_Result + +IDD_Test_Result + + + +IDD_Test_Result->TEST_RESULT + + + + + +IDD_Test + +IDD_Test + + + +IDD_Test_Result->IDD_Test + + +> confirms + + + + +IDD_Test->TEST + + + + + +IDD + +IDD + + + +IDD->INTERFACE + + + + + +IDD_Doc + +IDD_Doc + + + +IDD_Doc->DOCUMENT + + + + + +IDDCoverageAnalysis + +IDDCoverageAnalysis + + + +IDDCoverageAnalysis->IDD_Test + + +analysisInput + + + + +ANALYSIS + +ANALYSIS + + + +IDDCoverageAnalysis->ANALYSIS + + + + + +IDDCoverageAnalysisResult + +IDDCoverageAnalysisResult + + + +IDDCoverageAnalysisResult->TEST_RESULT + + + + + +IDDCoverageAnalysisResult->IDD_Test + + +confirms + + + + +Test_Station + +Test_Station + + + +Test_Station->AGENT + + + + + +SBVT_Test_Execution->TEST_EXECUTION + + + + + +SBVT_Test_Execution->SYSTEM + + +systemUnderTest + + + + +SBVT_Test_Execution->SBVT_Test_Procedure + + +testProcedure + + + + +SBVT_Test_Execution->Test_Station + + +testStation + + + + +BuildVersion + +BuildVersion + + + +SBVT_Test_Execution->BuildVersion + + +systemUnderTestBuildVersion + + + + +Database + +Database + + + +SBVT_Test_Execution->Database + + +databaseVersion + + + + +Executable + +Executable + + + +SBVT_Test_Execution->Executable + + +buildVersion + + + + +Database->SWCOMPONENT + + + + + +Executable->SWCOMPONENT + + + + + diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index 5c5d2212..2e0611b4 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -240,6 +240,9 @@ the TESTING.sadl file provides a more complete specification of TESTING elements * "annotatedResult" property : the TEST_RESULT being annotated * "annotation" property : the ENTITY providing the annotation information +Also see [this graphical representation](/RACK-Ontology/Graphs/TESTING_scoped.svg) +of these primary TESTING elements and some of their surrounding elements. + # Sample Scenarios ## Scenario 1 From 8741b061cce6bbba9d5a77156bf4ad87cc70853b Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 4 Apr 2023 10:03:04 -0700 Subject: [PATCH 19/42] Update restart script to use more robust stop command --- cli/restart-fuseki.sh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/cli/restart-fuseki.sh b/cli/restart-fuseki.sh index b2439ff3..65a5b444 100755 --- a/cli/restart-fuseki.sh +++ b/cli/restart-fuseki.sh @@ -3,16 +3,20 @@ set -e -FUSEKI_PID=$(systemctl show --property MainPID fuseki) -FUSEKI_PID=${FUSEKI_PID#"MainPID="} -if [ -n "${FUSEKI_PID}" ]; then +if systemctl is-active --quiet fuseki; then + + echo "Stopping Fuseki" + + # remember the PID in case stopping fuseki doesn't stop it + FUSEKI_PID=$(systemctl show --property MainPID fuseki) + FUSEKI_PID=${FUSEKI_PID#"MainPID="} + systemctl stop fuseki -fi -# systemctl stop doesn't always work, so kill -9 for now to be sure -FUSEKI_PID=$(systemctl show --property MainPID fuseki) -FUSEKI_PID=${FUSEKI_PID#"MainPID="} -if [ -n "${FUSEKI_PID}" ]; then - kill -9 "${FUSEKI_PID}" > /dev/null 2>&1 + + # systemctl stop doesn't always work, so kill -9 for now to be sure + if [ -n "${FUSEKI_PID}" ]; then + kill -9 "${FUSEKI_PID}" &> /dev/null || true + fi fi systemctl start fuseki From 79bb6693e9887eab629e01091668348baf09d240 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 4 Apr 2023 10:10:33 -0700 Subject: [PATCH 20/42] optimize from cli by default --- cli/rack/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/rack/__init__.py b/cli/rack/__init__.py index 85382f75..18d0791b 100755 --- a/cli/rack/__init__.py +++ b/cli/rack/__init__.py @@ -929,7 +929,7 @@ def get_argument_parser() -> argparse.ArgumentParser: manifest_import_parser.add_argument('config', type=str, help='Manifest YAML file') manifest_import_parser.add_argument('--clear', action='store_true', help='Clear footprint before import') - manifest_import_parser.add_argument('--optimize', type=bool, help='Enable RACK UI optimization when available') + manifest_import_parser.add_argument('--optimize', default=True, action=argparse.BooleanOptionalAction, help='Enable RACK UI optimization when available') manifest_import_parser.add_argument('--optimize-url', type=str, help='RACK UI optimization endpoint (e.g. http://localhost:8050/optimize)') manifest_import_parser.set_defaults(func=dispatch_manifest_import) From fe764c4034a49b3eeb37b907a04a028eeabe08df Mon Sep 17 00:00:00 2001 From: 200001934 Date: Tue, 4 Apr 2023 13:22:56 -0400 Subject: [PATCH 21/42] add rack-ui/config to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9defa3d9..ee1d0f18 100644 --- a/.gitignore +++ b/.gitignore @@ -67,6 +67,7 @@ cli/.project /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.gz /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.o rack-ui/cache/ +rack-ui/config/ rack-ui/.project EntityResolution/.project EntityResolution/Resolutions/Summary.csv From 7e28f75991adaf10f5cc6eb214ae2b1765df45eb Mon Sep 17 00:00:00 2001 From: 200001934 Date: Tue, 4 Apr 2023 13:36:07 -0400 Subject: [PATCH 22/42] renamed so fetch won't overwrite config --- rack-ui/config/{config.yml => config.sample.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rack-ui/config/{config.yml => config.sample.yml} (100%) diff --git a/rack-ui/config/config.yml b/rack-ui/config/config.sample.yml similarity index 100% rename from rack-ui/config/config.yml rename to rack-ui/config/config.sample.yml From 40214d5642706e35571c8017e6094433d8dbaa33 Mon Sep 17 00:00:00 2001 From: 200001934 Date: Tue, 4 Apr 2023 13:39:49 -0400 Subject: [PATCH 23/42] adjust config.yml --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ee1d0f18..be2905ac 100644 --- a/.gitignore +++ b/.gitignore @@ -67,7 +67,7 @@ cli/.project /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.gz /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.o rack-ui/cache/ -rack-ui/config/ +rack-ui/config/config.yml rack-ui/.project EntityResolution/.project EntityResolution/Resolutions/Summary.csv From ff54f5408f5c1c50bd13c37707f3ac4b5f8e8d45 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 4 Apr 2023 10:53:25 -0700 Subject: [PATCH 24/42] Remove unused provenance-example directory (#959) --- Provenance-Example/.project | 18 -- .../ImplicitModel/SadlBuiltinFunctions.sadl | 245 ------------------ .../ImplicitModel/SadlImplicitModel.sadl | 64 ----- .../OwlModels/configuration.rdf | 9 - Provenance-Example/OwlModels/ont-policy.rdf | 34 --- cli/setup-owl.sh | 2 - 6 files changed, 372 deletions(-) delete mode 100644 Provenance-Example/.project delete mode 100644 Provenance-Example/ImplicitModel/SadlBuiltinFunctions.sadl delete mode 100644 Provenance-Example/ImplicitModel/SadlImplicitModel.sadl delete mode 100644 Provenance-Example/OwlModels/configuration.rdf delete mode 100644 Provenance-Example/OwlModels/ont-policy.rdf diff --git a/Provenance-Example/.project b/Provenance-Example/.project deleted file mode 100644 index b665856d..00000000 --- a/Provenance-Example/.project +++ /dev/null @@ -1,18 +0,0 @@ - - - Provenance-Example - - - RACK-Ontology - - - - org.eclipse.xtext.ui.shared.xtextBuilder - - - - - - org.eclipse.xtext.ui.shared.xtextNature - - diff --git a/Provenance-Example/ImplicitModel/SadlBuiltinFunctions.sadl b/Provenance-Example/ImplicitModel/SadlBuiltinFunctions.sadl deleted file mode 100644 index a7e8f134..00000000 --- a/Provenance-Example/ImplicitModel/SadlBuiltinFunctions.sadl +++ /dev/null @@ -1,245 +0,0 @@ -uri "http://sadl.org/builtinfunctions" alias builtinfunctions. - -External addOne(decimal X) returns decimal: -"org.apache.jena.reasoner.rulesys.builtins#addOne". - -External bound(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#bound". - -External countLiteralValues(string X, string X) returns int: -"org.apache.jena.reasoner.rulesys.builtins#countLiteralValues". - -External difference(decimal X, decimal X) returns decimal: -"org.apache.jena.reasoner.rulesys.builtins#difference". - -External ge(decimal X, decimal X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#ge". - -External le(decimal X, decimal X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#le". - -External isBNode(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#isBNode". - -External isDType(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#isDType". - -External isLiteral(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#isLiteral". - -External listContains(string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listContains". - -External listEntry(string X, int X) returns string: -"org.apache.jena.reasoner.rulesys.builtins#listEntry". - -External listEqual(string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listEqual". - -External listMapAsObject(string X, string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listMapAsObject". - -External listMapAsSubject(string X, string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listMapAsSubject". - -External listNotContains(string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listNotContains". - -External listNotEqual(string X, string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#listNotEqual". - -External notBNode(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#notBNode". - -External notBType(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#notBType". - -External notDType(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#notDType". - -External notLiteral(string X) returns boolean: -"org.apache.jena.reasoner.rulesys.builtins#notLiteral". - -External now() returns dateTime: -"org.apache.jena.reasoner.rulesys.builtins#now". - -External regex(string X, string X) returns string: -"org.apache.jena.reasoner.rulesys.builtins#regex". - -External strConcat(string X, ...) returns string: -"org.apache.jena.reasoner.rulesys.builtins#strConcat". - -External uriConcat(string X, string X) returns string: -"org.apache.jena.reasoner.rulesys.builtins#uriConcat". - -External pow(decimal X, decimal X) returns decimal: -"org.apache.jena.reasoner.rulesys.builtins#pow". - -External sqrt(decimal X) returns decimal: -"org.apache.jena.reasoner.rulesys.builtins#sqrt". - -External unbound(string X) returns string: -"org.apache.jena.reasoner.rulesys.builtins#unbound". - -External isListHead(--): -"com.naturalsemantics.sadl.jena.reasoner.builtin#isListHead". - -External elementAfter(--, --) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#elementAfter". - -External ^index(--, --) returns int: -"com.naturalsemantics.sadl.jena.reasoner.builtin#index". - -External deleteElementFromList(--, int X) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#deleteElementFromList". - -External elementBefore(--, --) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#elementBefore". - -External insertElementInList(--, --, int X) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#insertElementInList". - -External elementInList(--, int X) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#elementInList". - -External sadlListToString(--) returns string: -"com.naturalsemantics.sadl.jena.reasoner.builtin#sadlListToString". - -External lastElement(--) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#lastElement". - -External firstElement(--) returns --: -"com.naturalsemantics.sadl.jena.reasoner.builtin#firstElement". - -External listLength(--) returns int: -"com.naturalsemantics.sadl.jena.reasoner.builtin#listLength". - -External sqrt(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#sqrt". - -External max(decimal X, decimal X, ...) returns decimal: -"com.ge.research.sadl.jena.reasoner.builtin#max". - -External listSubtract(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#listSubtract". - -External list(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#list". - -External tan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#tan". - -External lessThan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#lessThan". - -External localname(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#localname". - -External assign(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#assign". - -External noValuesOtherThan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#noValuesOtherThan". - -External getInstance(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#getInstance". - -External listToString(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#listToString". - -External ^unique(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#unique". - -External pow(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#pow". - -External oneOf(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#oneOf". - -External thereExists(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#thereExists". - -External getClassFromConstraint(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#getClassFromConstraint". - -External noValue(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#noValue". - -External strbefore(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#strbefore". - -External subtractDates(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#subtractDates". - -External acos(decimal X) returns decimal: -"com.ge.research.sadl.jena.reasoner.builtin#acos". - -External atan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#atan". - -External noUnknownValues(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#noUnknownValues". - -External greaterThan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#greaterThan". - -External countMatches(...) returns int: -"com.ge.research.sadl.jena.reasoner.builtin#countMatches". - -External cos(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#cos". - -External abs(decimal X) returns decimal: -"com.ge.research.sadl.jena.reasoner.builtin#abs". - -External notOnlyValue(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#notOnlyValue". - -External sum(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#sum". - -External min(decimal X, decimal X, ...) returns decimal: -"com.ge.research.sadl.jena.reasoner.builtin#min". - -External noSubjectsOtherThan(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#noSubjectsOtherThan". - -External strafter(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#strafter". - -External sin(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#sin". - -External asin(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#asin". - -External listConcat(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#listConcat". - -External average(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#average". - -External mod(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#mod". - -External print(--, ...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#print". - -External floor(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#floor". - -External product(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#product". - -External countUniqueMatches(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#countUniqueMatches". - -External ceiling(...) returns --: -"com.ge.research.sadl.jena.reasoner.builtin#ceiling". - -External ^table(--) returns --: -"org.apache.jena.reasoner.rulesys.builtins#table". - -External tableAll(--) returns --: -"org.apache.jena.reasoner.rulesys.builtins#tableAll". - diff --git a/Provenance-Example/ImplicitModel/SadlImplicitModel.sadl b/Provenance-Example/ImplicitModel/SadlImplicitModel.sadl deleted file mode 100644 index 104c2ae7..00000000 --- a/Provenance-Example/ImplicitModel/SadlImplicitModel.sadl +++ /dev/null @@ -1,64 +0,0 @@ -uri "http://sadl.org/sadlimplicitmodel" alias sadlimplicitmodel. -/****** The content of this model is automatically included in every SADL model ******/ - -impliedProperty is a type of annotation. -expandedProperty is a type of annotation. -ScientificConcept is a class. -UnittedQuantity is a type of ScientificConcept, - described by ^value with values of type decimal, - described by stddev with values of type decimal, - described by unit with values of type string. - -DataDescriptor is a class, described by localDescriptorName (note "If this DataDescriptor is associated with a named parameter, this is the name") with a single value of type string, - described by dataType (note "the simple data type, e.g., float") with a single value of type anyURI, - described by specifiedUnits (note "the array of possible units") with a single value of type string List, - described by augmentedType (note "ties the DataDescriptor to the semantic domain model") with values of type AugmentedType, - described by descriptorVariable (note "This identifies the GPVariable, if any, in the AugmentedType which is associated with this DataDescriptor"). -dataType of DataDescriptor has at most 1 value. -descriptorVariable of DataDescriptor has at most 1 value. - -Language is a class. -{Java, Python, Text, OtherLanguage} are instances of Language. -Script is a class, described by language with a single value of type Language, - described by script with a single value of type string. -^Equation is a class, - described by expression with values of type Script. -arguments describes ^Equation with a single value of type DataDescriptor List. -returnTypes describes ^Equation with a single value of type DataDescriptor List. - -ExternalEquation is a type of ^Equation, - described by externalURI with a single value of type anyURI, - described by externalURL with values of type anyURI. - -AugmentedType is a class. -SemanticType (note "allows direct specification of the semantic type of an argument") is a type of AugmentedType, - described by semType with a single value of type class. -GraphPattern is a class. -{TriplePattern, FunctionPattern} are types of GraphPattern. -gpSubject describes TriplePattern. -gpPredicate describes TriplePattern. -gpObject describes TriplePattern. -builtin describes FunctionPattern with a single value of type ^Equation. -GPAtom is a class. -{GPVariable, GPLiteralValue, GPResource} are types of GPAtom. -gpVariableName describes GPVariable with a single value of type string. -gpLiteralValue describes GPLiteralValue with values of type data. -argValues (note "values of arguments to the built-in") describes FunctionPattern with a single value of type GPAtom List. - -SemanticConstraint (note "used to identify necessary patterns in semantic domain terms") is a type of AugmentedType, - described by constraints with a single value of type GraphPattern List. -ThisArgument (note "allows reference to self within an Argument's constraints") is a DataDescriptor. - -anyDataType (note "union of all relevant data types") is a type of {decimal or boolean or string or date or dateTime or anyURI}. -DataTableRow is a class, - described by rowValues with a single value of type anyDataType List. -DataTable is a class, - described by columnDescriptors with a single value of type DataDescriptor List, - described by dataContent with a single value of type DataTableRow List, - described by dataLocation with a single value of type anyURI. - -^Rule is a class. -NamedQuery is a class. -derivedFrom (note "for use with named structures (Equations, NamedQueries, ...), where it has special SADL syntax") - is a type of annotation. -Plus is a GPAtom. diff --git a/Provenance-Example/OwlModels/configuration.rdf b/Provenance-Example/OwlModels/configuration.rdf deleted file mode 100644 index 4a026ed3..00000000 --- a/Provenance-Example/OwlModels/configuration.rdf +++ /dev/null @@ -1,9 +0,0 @@ - - - file:/RACK/RACK-Ontology - - - - diff --git a/Provenance-Example/OwlModels/ont-policy.rdf b/Provenance-Example/OwlModels/ont-policy.rdf deleted file mode 100644 index dd105a96..00000000 --- a/Provenance-Example/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,34 +0,0 @@ - - - platform:/resource/Provenance-Example/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - - - - - SADL - sadlbasemodel - - - platform:/resource/Provenance-Example/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - - - - - SADL - sadllistmodel - - diff --git a/cli/setup-owl.sh b/cli/setup-owl.sh index 8840f40e..1862cc25 100755 --- a/cli/setup-owl.sh +++ b/cli/setup-owl.sh @@ -73,7 +73,6 @@ in scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/LM-Ontology/OwlModels" "${rack_dir}/LM-Ontology/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/SRI-Ontology/OwlModels" "${rack_dir}/SRI-Ontology/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/RTX-Ontology/OwlModels" "${rack_dir}/RTX-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/Provenance-Example/OwlModels" "${rack_dir}/Provenance-Example/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels" "${rack_dir}/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/sadl-examples/OwlModels" "${rack_dir}/sadl-examples/" @@ -105,7 +104,6 @@ in $DOCKER cp "${container}:/home/ubuntu/RACK/LM-Ontology/OwlModels/" "${rack_dir}/LM-Ontology/" $DOCKER cp "${container}:/home/ubuntu/RACK/SRI-Ontology/OwlModels/" "${rack_dir}/SRI-Ontology/" $DOCKER cp "${container}:/home/ubuntu/RACK/RTX-Ontology/OwlModels/" "${rack_dir}/RTX-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/Provenance-Example/OwlModels/" "${rack_dir}/Provenance-Example/" $DOCKER cp "${container}:/home/ubuntu/RACK/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/" "${rack_dir}/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/" $DOCKER cp "${container}:/home/ubuntu/RACK/sadl-examples/OwlModels/" "${rack_dir}/sadl-examples/" From 535413b370ce05f62af62f3ac853ad429d215d32 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 10:28:17 -0700 Subject: [PATCH 25/42] Fix TESTING sadl syntax issues. --- RACK-Ontology/ontology/TESTING.sadl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/RACK-Ontology/ontology/TESTING.sadl b/RACK-Ontology/ontology/TESTING.sadl index 6949f9fd..4a5e3955 100644 --- a/RACK-Ontology/ontology/TESTING.sadl +++ b/RACK-Ontology/ontology/TESTING.sadl @@ -64,10 +64,10 @@ TEST_RECORD (note "a TEST_RECORD identifies the configuration under which a set testRecordProcedure (note "the TEST_PROCEDURE for which this TEST_RECORD was created") describes TEST_RECORD with a single value of type TEST_PROCEDURE. testRecordSteps (note "the initial TEST_STEPs performed") describes TEST_RECORD with values of type TEST_STEP. testConfiguration (note "the configuration information for this TEST_EXECUTION") describes TEST_RECORD with values of type ENTITY. - targetPackage (note "is the target FILE tested") describes TEST_SCENARIO with values of type FILE. - targetVersion (note "is the version of the targetPackage tested") describes TEST_SCENARIO with a single value of type string. - testPackage (note "is the test FILE executed") describes TEST_SCENARIO with values of type FILE. - testVersion (note "is the version of the testPackage run") describes TEST_SCENARIO with a single value of type string. + targetPackage (note "is the target FILE tested") describes TEST_RECORD with values of type FILE. + targetVersion (note "is the version of the targetPackage tested") describes TEST_RECORD with a single value of type string. + testPackage (note "is the test FILE executed") describes TEST_RECORD with values of type FILE. + testVersion (note "is the version of the testPackage run") describes TEST_RECORD with a single value of type string. TEST_DEVELOPMENT (note "ACTIVITY of creating a TEST to participate in the evaluation of a requirement") @@ -83,12 +83,12 @@ TEST_EXECUTION testLog is a type of goal. TEST_ANNOTATION (note "provides additional information about a TEST_RESULT") is a type of ENTITY. - annotatedValue describes TEST_ANNOTATION with values of TEST_ANNOTATION_VALUE. + annotatedValue describes TEST_ANNOTATION with values of type TEST_ANNOTATION_VALUE. annotatedResult (note "identifies the TEST_RESULT being annotated") describes TEST_ANNOTATION with values of type TEST_RESULT. TEST_ANNOTATION_VALUE (note "values for a TEST_ANNOTATION value") is a type of THING must be one of {IgnoredFailureOOB}. -IgnoredFailureOOB is a TEST_ANNOTATION_VALUE. +IgnoredFailureOOB is a TEST_ANNOTATION_VALUE identifier "IgnoredFailure" title "Ignored Failure based on Out-Of-Band information". From 2d2cfa8cee7f7924ca660118b6bba47d68d7adf0 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 12:20:12 -0700 Subject: [PATCH 26/42] Boeing ontology change for TESTING fold of SCENARIO into RECORD. --- Boeing-Ontology/ontology/Boeing.sadl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Boeing-Ontology/ontology/Boeing.sadl b/Boeing-Ontology/ontology/Boeing.sadl index 6cbadcab..7a2b5db4 100644 --- a/Boeing-Ontology/ontology/Boeing.sadl +++ b/Boeing-Ontology/ontology/Boeing.sadl @@ -91,6 +91,7 @@ SBVT_Test_Log is a type of TEST_LOG. content of SBVT_Test_Log only has values of type SBVT_Test_Record. SBVT_Test_Record is a type of TEST_RECORD. testRecordSteps of SBVT_Test_Record only has values of type SBVT_Test_Step. + // targetVersion replaces systemUnderTestBuildVersion IDD_Test is a type of TEST. // note "verifies" corresponds to "observes" // verifies of IDD_Test only has values of type Signal. @@ -113,9 +114,6 @@ SBVT_Test_Execution is a type of TEST_EXECUTION. testStation of SBVT_Test_Execution has a single value of type Test_Station. testStation is a type of wasAssociatedWith. -SBVT_Test_Scenario is a type of TEST_SCENARIO. - // targetVersion replaces systemUnderTestBuildVersion - BuildVersion is a type of ENTITY. system describes BuildVersion with a single value of type SYSTEM. buildVersion describes BuildVersion with a single value of type Executable. From 346aafe36faabdcae95d047ce0e12a4d30784e71 Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Wed, 5 Apr 2023 09:37:02 -0400 Subject: [PATCH 27/42] Update SemTK version to v2.5.0-20230405 --- .github/workflows/assemble-files.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/assemble-files.yml b/.github/workflows/assemble-files.yml index e38b22de..b8697a5d 100644 --- a/.github/workflows/assemble-files.yml +++ b/.github/workflows/assemble-files.yml @@ -61,7 +61,7 @@ jobs: - name: Download SemTK shell: bash run: | - curl -LSfs https://github.com/ge-semtk/semtk/releases/download/v2.5.0-20230323/semtk-opensource-v2.5.0-20230323-dist.tar.gz -o RACK/rack-box/files/semtk.tar.gz + curl -LSfs https://github.com/ge-semtk/semtk/releases/download/v2.5.0-20230405/semtk-opensource-v2.5.0-20230405-dist.tar.gz -o RACK/rack-box/files/semtk.tar.gz - name: Download CSS stylesheet shell: bash From 5face49cda37351310845e3477034ab540e17e61 Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Wed, 5 Apr 2023 10:22:21 -0400 Subject: [PATCH 28/42] Create RACK UI config file by copying the sample This is a temporary measure only. --- rack-box/scripts/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/rack-box/scripts/install.sh b/rack-box/scripts/install.sh index 489358d8..84511abd 100644 --- a/rack-box/scripts/install.sh +++ b/rack-box/scripts/install.sh @@ -96,6 +96,7 @@ echo "rackui ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rackui mkdir /etc/rackui chown rackui.rackui /etc/rackui envsubst < rackui.service > /etc/systemd/system/rackui.service +cp config/config.sample.yml config/config.yml systemctl enable rackui # Initialize SemTK environment variables From 0595a5d2d99776c51da576ae50d82cd874fd12dd Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Tue, 4 Apr 2023 14:29:07 -0700 Subject: [PATCH 29/42] Generate Turnstile assist-dc owl files via Assemble-Turnstile.sh Replaces Load-Turnstile.sh. --- Turnstile-Example/Assemble-TurnstileData.sh | 19 +++ .../Load-TurnstileData.sh | 109 ------------------ 2 files changed, 19 insertions(+), 109 deletions(-) create mode 100644 Turnstile-Example/Assemble-TurnstileData.sh delete mode 100755 Turnstile-Example/Turnstile-IngestionPackage/Load-TurnstileData.sh diff --git a/Turnstile-Example/Assemble-TurnstileData.sh b/Turnstile-Example/Assemble-TurnstileData.sh new file mode 100644 index 00000000..c30854e6 --- /dev/null +++ b/Turnstile-Example/Assemble-TurnstileData.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Copyright (c) 2020, General Electric Company and Galois, Inc. +set -eu +BASEDIR=$(cd "$(dirname "$0")"; pwd) +echo "$BASEDIR" +TOPDIR="${BASEDIR}/.." +ASSISTDIR="${TOPDIR}/assist" + +cd "$BASEDIR"/Turnstile-IngestionPackage/CounterApplicationImplementation +export PATH="${ASSISTDIR}/bin:${ASSISTDIR}/databin:${PATH}" +make clean +make +make test +make dist +ingest_data -r "${BASEDIR}"/Turnstile-IngestionPackage/turnstile-ingest.rack \ + -O "${TOPDIR}"/GE-Ontology \ + -O "${TOPDIR}"/RACK-Ontology \ + -o "${BASEDIR}"/turnstile-build.owl \ + http://rack001/turnstiledata . diff --git a/Turnstile-Example/Turnstile-IngestionPackage/Load-TurnstileData.sh b/Turnstile-Example/Turnstile-IngestionPackage/Load-TurnstileData.sh deleted file mode 100755 index 0feac6be..00000000 --- a/Turnstile-Example/Turnstile-IngestionPackage/Load-TurnstileData.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash -# Copyright (c) 2020, General Electric Company and Galois, Inc. -set -eu -BASEDIR=$(cd "$(dirname "$0")"; pwd) -echo "$BASEDIR" -if ! command -v rack > /dev/null -then - cat <<-END - ERROR: rack cli tool not found in PATH - - Installation instructions are available at - https://github.com/ge-high-assurance/RACK/wiki/RACK-CLI#install-dependencies - or locally in README.md - - If you've already installed RACK CLI, please activate your virtual environment - - macOS/Linux: source venv/bin/activate - Windows: venv\\Scripts\\activate.bat - PowerShell: venv\\Scripts\\Activate.ps1 - END - exit 1 -fi - -# suppress RACK cli warnings about missing columns -export LOG_LEVEL=ERROR - -if test "$OSTYPE" == "cygwin" -o "$OSTYPE" == "msys"; then -URLBASE=$(cygpath -m "$BASEDIR") -else -URLBASE="$BASEDIR" -fi - -echo "Updating File references..." -find "$BASEDIR" -name "*.csv" -exec sed -i -e "s|{{BASEDIR}}|$URLBASE|g" {} + - -echo "Clear data-graph http://rack001/turnstiledata" -rack data clear --data-graph "http://rack001/turnstiledata" - -echo "Ingesting Counter Application Unit Testing ..." -echo "(Have to do this one first because it ingests triples, as a demonstration. The rest is ingested via nodegroups.)" -rack data import "$BASEDIR"/CounterApplicationUnitTesting/OwlModels/import.yaml - -echo "Ingesting Development Plan Data ..." -rack data import "$BASEDIR"/TurnstileDevelopmentPlanData/import.yaml - -echo "Ingesting Planning Document Evidence ..." -rack data import "$BASEDIR"/PlanningDocuments/import.yaml - -echo "Ingesting Hazard Assessment Evidence ..." -rack data import "$BASEDIR"/HazardAssessment/import.yaml - -echo "Ingesting System Design Evidence ..." -rack data import "$BASEDIR"/TurnstileSystemDesign/import.yaml - -echo "Ingesting Requirements ..." -rack data import "$BASEDIR"/TurnstileSystemRequirements/import.yaml -rack data import "$BASEDIR"/TurnstileHighLevelRequirements/import.yaml -rack data import "$BASEDIR"/TurnstileLowLevelRequirements/import.yaml -echo "Ingesting Requirement Model..." -rack data import "$BASEDIR"/TurnstileRequirementModel/import.yaml - -echo "Ingesting Counter Application Review ..." -rack data import "$BASEDIR"/CounterApplicationReviews/import.yaml - -echo "Ingesting Counter Application Testing ..." -rack data import "$BASEDIR"/CounterApplicationTesting/import.yaml - -echo "Ingesting System Spec ..." -rack data import "$BASEDIR"/TurnstileSystemSpec/import.yaml - -echo "Ingesting Counter Application Requirement Spec ..." -rack data import "$BASEDIR"/CounterApplicationRequirementSpec/import.yaml - -echo "Ingesting Counter Application Software Design ..." -rack data import "$BASEDIR"/CounterApplicationSoftwareDes/import.yaml - -echo "Ingesting System Verification Report ..." -rack data import "$BASEDIR"/SystemVerificationReport/import.yaml - -echo "Ingesting Objectives ..." -rack data import "$BASEDIR"/Objectives/import.yaml - -echo "Ingesting Baselines ..." -rack data import "$BASEDIR"/TurnstileBaselines/import.yaml - -echo "----------------------------------------------------------------------" -echo "Static data ingestion completed. Will now attempt to build the" -echo "Turnstile source code while using ASSIST to capture the dynamic" -echo "build information and upload the result to RACK. This may fail" -echo "if the current environment does not support the software build" -echo "process (it will succeed if run via the RACK-in-a-Box process)." -echo -echo "Example:" -echo " $ docker exec -w /home/ubuntu/RACK/Turnstile-Example/Turnstile-IngestionPackage CONTAINER ./Load-TurnstileData.sh" -echo -echo "Errors after this point will result in partial (but still useable)" -echo "Turnstile sample data" -echo - -( - set -e - cd "$BASEDIR"/CounterApplicationImplementation - export PATH="${BASEDIR}/../../assist/bin:${BASEDIR}/../../assist/databin:${PATH}" - make clean - make - make test - make dist - ingest_data -r "${BASEDIR}/turnstile-ingest.rack" -O "${BASEDIR}"/../../GE-Ontology http://rack001/turnstiledata . -) From 9b916294d384ff40b83604ef927000ee6eee1118 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 4 Apr 2023 15:03:30 -0700 Subject: [PATCH 30/42] Incorporate turnstile build data into turnstile manifest --- Turnstile-Example/Assemble-TurnstileData.sh | 5 ++++- .../Turnstile-IngestionPackage/BuildProcess/.gitignore | 1 + .../Turnstile-IngestionPackage/BuildProcess/README.md | 3 +++ .../Turnstile-IngestionPackage/BuildProcess/import.yaml | 3 +++ Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml | 1 + 5 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/.gitignore create mode 100644 Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/README.md create mode 100644 Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml diff --git a/Turnstile-Example/Assemble-TurnstileData.sh b/Turnstile-Example/Assemble-TurnstileData.sh index c30854e6..fa8fbcd9 100644 --- a/Turnstile-Example/Assemble-TurnstileData.sh +++ b/Turnstile-Example/Assemble-TurnstileData.sh @@ -15,5 +15,8 @@ make dist ingest_data -r "${BASEDIR}"/Turnstile-IngestionPackage/turnstile-ingest.rack \ -O "${TOPDIR}"/GE-Ontology \ -O "${TOPDIR}"/RACK-Ontology \ - -o "${BASEDIR}"/turnstile-build.owl \ + -o "${BASEDIR}"/Turnstile-IngestionPackage/BuildProcess/turnstile-build.owl \ http://rack001/turnstiledata . + +cd "$BASEDIR" +rack manifest build Turnstile-IngestionPackage/manifest.yaml turnstile-ingestion-package diff --git a/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/.gitignore b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/.gitignore new file mode 100644 index 00000000..1eefc674 --- /dev/null +++ b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/.gitignore @@ -0,0 +1 @@ +/turnstile-build.owl diff --git a/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/README.md b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/README.md new file mode 100644 index 00000000..e310333e --- /dev/null +++ b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/README.md @@ -0,0 +1,3 @@ +# Build Process Data + +This directory contains `turnstile-build.owl` which is generated by `Assemble-TurnstileData.sh` diff --git a/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml new file mode 100644 index 00000000..29be2aa1 --- /dev/null +++ b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml @@ -0,0 +1,3 @@ +data-graph: "http://rack001/turnstiledata" +ingestion-steps: +- owl: turnstile-build.owl diff --git a/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml b/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml index f4a08b3c..096ad50b 100644 --- a/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml +++ b/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml @@ -26,3 +26,4 @@ steps: - data: SystemVerificationReport/import.yaml - data: Objectives/import.yaml - data: TurnstileBaselines/import.yaml + - data: BuildProcess/import.yaml From 04fdcaac693c4b3d1a3cb57fc83c475823bfbbd3 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 4 Apr 2023 15:06:24 -0700 Subject: [PATCH 31/42] Update Turnstile readme --- Turnstile-Example/Assemble-TurnstileData.sh | 0 Turnstile-Example/Turnstile-IngestionPackage/README.md | 5 +++-- 2 files changed, 3 insertions(+), 2 deletions(-) mode change 100644 => 100755 Turnstile-Example/Assemble-TurnstileData.sh diff --git a/Turnstile-Example/Assemble-TurnstileData.sh b/Turnstile-Example/Assemble-TurnstileData.sh old mode 100644 new mode 100755 diff --git a/Turnstile-Example/Turnstile-IngestionPackage/README.md b/Turnstile-Example/Turnstile-IngestionPackage/README.md index 56b04ec6..4271c325 100644 --- a/Turnstile-Example/Turnstile-IngestionPackage/README.md +++ b/Turnstile-Example/Turnstile-IngestionPackage/README.md @@ -34,8 +34,9 @@ The script [setup-turnstile.sh](../../cli/setup-turnstile.sh) loads the [GE onto ## Ingest the turnstile data into RACK: Browse to the dataset location and load the data via the provided shell script. ```sh -(venv) $ cd ${RACK}/Turnstile-Example/Turnstile-IngestionPackage -(venv) $ ./Load-TurnstileData.sh +(venv) $ cd ${RACK}/Turnstile-Example +(venv) $ ./Assemble-TurnstileData.sh # this generates turnstile-ingestion-package.zip +(venv) $ rack manifest import turnstile-ingestion-package.zip ``` ## Export the data from RACK From 7732625aa4bad268380ce439ca8ac30d59d568ce Mon Sep 17 00:00:00 2001 From: John Interrante Date: Fri, 7 Apr 2023 10:42:50 -0400 Subject: [PATCH 32/42] Add Turnstile ingestion package to next release Modify the release workflow to build the Turnstile ingestion package and attach it to the release. Take advantage of the fact that Ubuntu 22.04 already has swi-prolog v8 to simplify all places that had to add swi-prolog's ppa repository before. assemble-turnstile-data.yml: Add new reusable workflow to assemble Turnstile ingestion package and upload it to artifacts or releases. continuous.yml: Remove commands to add swi-prolog's ppa repository. release.yml: Add new job to call assemble-turnstile-data workflow. .gitignore: Ignore turnstile-ingestion-package.zip build artifact. RACK-Ontology/OwlModels/ont-policy.rdf: Updated when unpacking latest OWL files. README.md: Explain commands to add swi-prolog's ppa repository are not needed on Ubuntu 22.04 or later. rack-box/http/user-data: Remove swi-prolog's ppa repository. rack-box/scripts/install.sh: Remove commands to add swi-prolog's ppa repository. --- .github/workflows/assemble-turnstile-data.yml | 61 ++++ .github/workflows/continuous.yml | 2 - .github/workflows/release.yml | 9 + .gitignore | 1 + RACK-Ontology/OwlModels/ont-policy.rdf | 310 ++++++++++-------- .../README.md | 1 + rack-box/http/user-data | 4 - rack-box/scripts/install.sh | 2 - 8 files changed, 239 insertions(+), 151 deletions(-) create mode 100644 .github/workflows/assemble-turnstile-data.yml diff --git a/.github/workflows/assemble-turnstile-data.yml b/.github/workflows/assemble-turnstile-data.yml new file mode 100644 index 00000000..63e45b8b --- /dev/null +++ b/.github/workflows/assemble-turnstile-data.yml @@ -0,0 +1,61 @@ +# Assembles Turnstile ingestion package (reusable workflow) + +on: + workflow_call: + +jobs: + +# assemble-turnstile-data job: +# - Downloads rack-box files from artifacts +# - Unpacks CLI wheels and OWL/CDR files +# - Assembles Turnstile ingestion package +# - Uploads ingestion package to artifacts or releases + + assemble-turnstile-data: + runs-on: ubuntu-22.04 + + steps: + - name: Check out RACK source + uses: actions/checkout@v3 + with: + repository: ge-high-assurance/RACK + path: RACK + + - name: Download rack-box files from artifacts + uses: actions/download-artifact@v3 + with: + name: rack-box-files + path: RACK/rack-box/files + + - name: Unpack CLI wheels and OWL/CDR files + run: | + tar xfz RACK/rack-box/files/rack-cli.tar.gz + tar xfz RACK/rack-box/files/rack.tar.gz + + - name: Install RACK CLI + run: | + pip3 install RACK/cli/wheels/*.whl + sudo apt-get install -qq --yes swi-prolog + + - name: Assemble Turnstile ingestion package + run: | + RACK/Turnstile-Example/Assemble-TurnstileData.sh + + - name: Upload ingestion package to artifacts + uses: actions/upload-artifact@v3 + if: github.event_name != 'release' + with: + name: turnstile-ingestion-package.zip + path: | + RACK/Turnstile-Example/turnstile-ingestion-package.zip + + # softprops/action-gh-release has many issues and PRs filed + # against it; replace it with "gh release upload" if CI fails + # run: gh release upload ${{ github.event.release.tag_name }} RACK/Turnstile-Example/turnstile-ingestion-package.zip --clobber + + - name: Upload ingestion package to releases + uses: softprops/action-gh-release@v1 + if: github.event_name == 'release' + with: + files: | + RACK/Turnstile-Example/turnstile-ingestion-package.zip diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml index 9c0f837b..dc915ead 100644 --- a/.github/workflows/continuous.yml +++ b/.github/workflows/continuous.yml @@ -45,8 +45,6 @@ jobs: - name: Lint RACK Ontology run: | - sudo apt-add-repository ppa:swi-prolog/stable - sudo apt-get update -qq --yes sudo apt-get install -qq --yes swi-prolog ./assist/bin/check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87bd64cf..b571fb23 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,6 +13,15 @@ jobs: assemble-files: uses: ./.github/workflows/assemble-files.yml +# assemble-turnstile-data job: +# - Assembles Turnstile ingestion package +# - Uploads ingestion package to release + + assemble-turnstile-data: + needs: assemble-files + uses: ./.github/workflows/assemble-turnstile-data.yml + secrets: inherit + # build-docker-image job: # - Builds rack-box docker image # - Pushes docker image to Docker Hub diff --git a/.gitignore b/.gitignore index be2905ac..85cd9de5 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,7 @@ cli/.project /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.exe /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.gz /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.o +/Turnstile-Example/turnstile-ingestion-package.zip rack-ui/cache/ rack-ui/config/config.yml rack-ui/.project diff --git a/RACK-Ontology/OwlModels/ont-policy.rdf b/RACK-Ontology/OwlModels/ont-policy.rdf index 717f884d..9ef1f17e 100644 --- a/RACK-Ontology/OwlModels/ont-policy.rdf +++ b/RACK-Ontology/OwlModels/ont-policy.rdf @@ -2,253 +2,277 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:j.0="http://jena.hpl.hp.com/schemas/2003/03/ont-manager#"> - platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxD.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D.sadl + m881D - MIL-STD-881D-AppxD - - - - platform:/resource/RACK-Ontology/ontology/SYSTEM.sadl - SADL - - sys - + + - platform:/resource/RACK-Ontology/ontology/SECURITY.sadl - Sec - SADL + + genpropinfo - - + SADL + + platform:/resource/RACK-Ontology/ontology/GeneratePropInfoCSV.sadl - sadllistmodel - SADL + platform:/resource/RACK-Ontology/ontology/FILE.sadl + file - - + SADL + + - platform:/resource/RACK-Ontology/ontology/MITRE-CWE/MITRE-CWE.sadl - + platform:/resource/RACK-Ontology/ontology/HAZARD.sadl + H SADL - CWE - + + + platform:/resource/RACK-Ontology/ontology/HARDWARE.sadl + - SRL_Metrics + SADL + hw + - platform:/resource/RACK-Ontology/ontology/DO-330/DO-330.sadl - - SADL + + Ag - DO-330 - + SADL + + platform:/resource/RACK-Ontology/ontology/AGENTS.sadl - platform:/resource/RACK-Ontology/ontology/PROV-S.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/SECURITY.sadl + - provs - + SADL + Sec + - platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxC.sadl - + platform:/resource/RACK-Ontology/ontology/CLAIM.sadl + claim SADL - MIL-STD-881D-AppxC - + + - platform:/resource/RACK-Ontology/ontology/ANALYSIS.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/SOFTWARE.sadl + sw - An - + SADL + + - platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxA.sadl - - SADL + SRL_Metrics - MIL-STD-881D-AppxA - - platform:/resource/RACK-Ontology/ontology/DO-178C/DO-178C.sadl - - SADL + + MIL-STD-881D-AppxA - DO-178C - + SADL + + platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxA.sadl - platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D.sadl - - SADL + + DO-330 - m881D - + SADL + + platform:/resource/RACK-Ontology/ontology/DO-330/DO-330.sadl - platform:/resource/RACK-Ontology/ontology/ARP-4754A/ARP-4754A.sadl - - SADL + + - ARP-4754A - + SADL + sadllistmodel platform:/resource/RACK-Ontology/ontology/DOCUMENT.sadl - - SADL - D + + SADL + - platform:/resource/RACK-Ontology/ontology/FILE.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/PROCESS.sadl + Pr - file - + SADL + + - platform:/resource/RACK-Ontology/ontology/BASELINE.sadl - + + Rv SADL - baseline - + + platform:/resource/RACK-Ontology/ontology/REVIEW.sadl - platform:/resource/RACK-Ontology/ontology/HAZARD.sadl - + + baseline SADL - H - + + platform:/resource/RACK-Ontology/ontology/BASELINE.sadl - platform:/resource/RACK-Ontology/ontology/PROCESS.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/TESTING.sadl + tst - Pr - + SADL + + - platform:/resource/RACK-Ontology/ontology/SOFTWARE.sadl - + + CWE SADL - sw - + + platform:/resource/RACK-Ontology/ontology/MITRE-CWE/MITRE-CWE.sadl - platform:/resource/RACK-Ontology/ontology/HARDWARE.sadl - hw - SADL + + MIL-STD-881D-AppxB - - + SADL + + platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxB.sadl - platform:/resource/RACK-Ontology/ontology/REVIEW.sadl - - SADL + platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxC.sadl + MIL-STD-881D-AppxC - Rv - + SADL + + - platform:/resource/RACK-Ontology/ontology/CONFIDENCE.sadl - - SADL + + DO-178C - CONFIDENCE - + SADL + + platform:/resource/RACK-Ontology/ontology/DO-178C/DO-178C.sadl - platform:/resource/RACK-Ontology/ontology/REQUIREMENTS.sadl - - SADL + + CONFIDENCE - Rq - + SADL + + platform:/resource/RACK-Ontology/ontology/CONFIDENCE.sadl - platform:/resource/RACK-Ontology/ontology/MODEL.sadl - M - SADL + + - - + SADL + sadlimplicitmodel + platform:/resource/RACK-Ontology/ImplicitModel/SadlImplicitModel.sadl - platform:/resource/RACK-Ontology/ontology/TESTING.sadl - + platform:/resource/RACK-Ontology/ontology/RESOLUTIONS.sadl + Rs SADL - tst - + + - platform:/resource/RACK-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - builtinfunctions + + + SADL + builtinfunctions + platform:/resource/RACK-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl + + + platform:/resource/RACK-Ontology/ontology/ANALYSIS.sadl + An - - + SADL + + - platform:/resource/RACK-Ontology/ontology/AGENTS.sadl - + platform:/resource/RACK-Ontology/ontology/EntityResolution.sadl + EntityResolution SADL - Ag - + + - sadlbasemodel - SADL + platform:/resource/RACK-Ontology/ontology/SYSTEM.sadl + sys - - + SADL + + - platform:/resource/RACK-Ontology/ontology/GeneratePropInfoCSV.sadl - + platform:/resource/RACK-Ontology/ontology/PROV-S.sadl + provs + SADL + + + + + + Rq - genpropinfo - + SADL + + platform:/resource/RACK-Ontology/ontology/REQUIREMENTS.sadl - platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxB.sadl - + + ARP-4754A + SADL + + platform:/resource/RACK-Ontology/ontology/ARP-4754A/ARP-4754A.sadl + + + + - MIL-STD-881D-AppxB - + SADL + sadlbasemodel - platform:/resource/RACK-Ontology/ImplicitModel/SadlImplicitModel.sadl - sadlimplicitmodel + + + SADL + M + platform:/resource/RACK-Ontology/ontology/MODEL.sadl + + + platform:/resource/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxD.sadl + MIL-STD-881D-AppxD - - + SADL + + diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/README.md b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/README.md index ee4ca0e8..49bc9e49 100644 --- a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/README.md +++ b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/README.md @@ -43,6 +43,7 @@ $ swipl --version Prolog can be installed/updated on Debian/Ubuntu via the following steps: ``` +# You can skip adding ppa repo on Ubuntu 22.04 or later $ sudo add-apt-repository ppa:swi-prolog/stable $ sudo apt-get update $ sude apt-get install swi-prolog diff --git a/rack-box/http/user-data b/rack-box/http/user-data index 234b8fbf..8be6bb5d 100644 --- a/rack-box/http/user-data +++ b/rack-box/http/user-data @@ -13,10 +13,6 @@ autoinstall: storage: layout: name: direct - apt: - sources: - swi-prolog: - source: "ppa:swi-prolog/stable" ssh: install-server: true packages: diff --git a/rack-box/scripts/install.sh b/rack-box/scripts/install.sh index 84511abd..b69f9d26 100644 --- a/rack-box/scripts/install.sh +++ b/rack-box/scripts/install.sh @@ -14,8 +14,6 @@ apt-get update -yqq apt-get install -yqq ca-certificates software-properties-common cp GE_External_Root_CA_2_1.crt /usr/local/share/ca-certificates update-ca-certificates -add-apt-repository -yu ppa:swi-prolog/stable -apt-get update -yqq # If you change packages here, change them in rack-box/http/user-data too From 69b50d61ac859cf2124e687321a9d1d0edc543f2 Mon Sep 17 00:00:00 2001 From: John Interrante Date: Fri, 7 Apr 2023 14:42:11 -0400 Subject: [PATCH 33/42] Test assemble-turnstile-data.yml Add assemble-turnstile-data.yml to manual.yml so we can test it manually. Also remove trailing whitespace and other excess characters from some other workflows. --- .github/workflows/assemble-turnstile-data.yml | 4 ++-- .github/workflows/build-virtual-machine.yml | 4 ++-- .github/workflows/continuous.yml | 4 ++-- .github/workflows/manual.yml | 13 +++++++++++-- .github/workflows/update-wiki.yml | 4 ++-- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/assemble-turnstile-data.yml b/.github/workflows/assemble-turnstile-data.yml index 63e45b8b..0b0d265e 100644 --- a/.github/workflows/assemble-turnstile-data.yml +++ b/.github/workflows/assemble-turnstile-data.yml @@ -9,7 +9,7 @@ jobs: # - Downloads rack-box files from artifacts # - Unpacks CLI wheels and OWL/CDR files # - Assembles Turnstile ingestion package -# - Uploads ingestion package to artifacts or releases +# - Uploads ingestion package to artifacts or release assemble-turnstile-data: runs-on: ubuntu-22.04 @@ -53,7 +53,7 @@ jobs: # against it; replace it with "gh release upload" if CI fails # run: gh release upload ${{ github.event.release.tag_name }} RACK/Turnstile-Example/turnstile-ingestion-package.zip --clobber - - name: Upload ingestion package to releases + - name: Upload ingestion package to release uses: softprops/action-gh-release@v1 if: github.event_name == 'release' with: diff --git a/.github/workflows/build-virtual-machine.yml b/.github/workflows/build-virtual-machine.yml index fda5d91f..9cc8b310 100644 --- a/.github/workflows/build-virtual-machine.yml +++ b/.github/workflows/build-virtual-machine.yml @@ -13,7 +13,7 @@ jobs: # build-virtual-machine job: # - Downloads rack-box files from artifacts # - Builds rack-box virtual machine -# - Uploads virtual machine to artifacts or releases +# - Uploads virtual machine to artifacts or release build-virtual-machine: runs-on: macos-12 @@ -64,7 +64,7 @@ jobs: # against it; replace it with "gh release upload" if CI fails # run: gh release upload ${{ github.event.release.tag_name }} RACK/rack-box/GitHub-Release-README.md RACK/rack-box/rack-box-${{ inputs.version }}.zip* --clobber - - name: Upload virtual machine to releases + - name: Upload virtual machine to release uses: softprops/action-gh-release@v1 if: github.event_name == 'release' with: diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml index dc915ead..9c176840 100644 --- a/.github/workflows/continuous.yml +++ b/.github/workflows/continuous.yml @@ -3,8 +3,8 @@ name: RACK Continuous Integration Workflow on: push: - branches: [ '**' ] - tags-ignore: [ '**' ] + branches: [ '*' ] + tags-ignore: [ '*' ] jobs: diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 423404a9..9f616a68 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -2,7 +2,7 @@ name: RACK Build Virtual Machine Workflow on: - workflow_dispatch: + workflow_dispatch: inputs: version: required: false @@ -17,9 +17,18 @@ jobs: assemble-files: uses: ./.github/workflows/assemble-files.yml +# assemble-turnstile-data job: +# - Assembles Turnstile ingestion package +# - Uploads ingestion package to artifacts + + assemble-turnstile-data: + needs: assemble-files + uses: ./.github/workflows/assemble-turnstile-data.yml + secrets: inherit + # build-virtual-machine job: # - Builds rack-box virtual machine -# - Uploads virtual machine to workflow +# - Uploads virtual machine to artifacts build-virtual-machine: needs: assemble-files diff --git a/.github/workflows/update-wiki.yml b/.github/workflows/update-wiki.yml index 62d34d13..f369cc4a 100644 --- a/.github/workflows/update-wiki.yml +++ b/.github/workflows/update-wiki.yml @@ -27,7 +27,7 @@ jobs: with: repository: ge-high-assurance/RACK.wiki path: RACK.wiki - + - name: Set up Python uses: actions/setup-python@v4 with: @@ -47,7 +47,7 @@ jobs: - name: Install csvtomd run: | pip3 install csvtomd --user - + - name: Update query wiki page run: | csvtomd RACK/nodegroups/queries/store_data.csv > temp.md From 5937cdd4c935806e427c001304e517bd2faff1fd Mon Sep 17 00:00:00 2001 From: russell-d-e <62702525+russell-d-e@users.noreply.github.com> Date: Tue, 11 Apr 2023 12:31:02 -0400 Subject: [PATCH 34/42] Update Boeing.sadl (#963) adding Procurement_Req --- Boeing-Ontology/ontology/Boeing.sadl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Boeing-Ontology/ontology/Boeing.sadl b/Boeing-Ontology/ontology/Boeing.sadl index a8324ab6..bdf52c25 100644 --- a/Boeing-Ontology/ontology/Boeing.sadl +++ b/Boeing-Ontology/ontology/Boeing.sadl @@ -13,6 +13,8 @@ import "http://arcos.rack/SOFTWARE". import "http://arcos.rack/SYSTEM". import "http://arcos.rack/TESTING". +Procurement_Req (note "A Requirement identified in a procurement specification") is a type of REQUIREMENT. + PIDS_Req (note "A Requirement identified in the Prime Item Development Specification") is a type of REQUIREMENT. CSID_Req (note "A Requirement identified in the Crew Systems Interface Document") is a type of REQUIREMENT. From d497287426ac99acffbd51858ebf4722af06dae2 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 11 Apr 2023 14:53:19 -0700 Subject: [PATCH 35/42] Organize all the overlays together (#962) * Organize all the overlays together This changes all overlays to be top-level packages that can be included by referencing a single, overlay-top-level manifest. A new arcos overlay is now defined that pulls in all the overlays needed for the demonstration application --- Boeing-Ontology/OwlModels/ont-policy.rdf | 42 ---------------- EntityResolution/manifest.yaml | 19 +++++++ GE-Ontology/OwlModels/ont-policy.rdf | 50 ------------------- GrammaTech-Ontology/OwlModels/ont-policy.rdf | 42 ---------------- LM-Ontology/OwlModels/ont-policy.rdf | 42 ---------------- .../OwlModels/{import.yaml => model.yaml} | 0 RACK-Ontology/manifest.yaml | 7 +++ RTX-Ontology/OwlModels/ont-policy.rdf | 42 ---------------- SRI-Ontology/OwlModels/ont-policy.rdf | 50 ------------------- STR-Ontology/OwlModels/ont-policy.rdf | 42 ---------------- .../BuildProcess/{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../OwlModels/{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../Objectives/{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../{import.yaml => data.yaml} | 0 .../Turnstile-IngestionPackage/manifest.yaml | 40 ++++++++------- cli/setup-arcos.sh | 2 +- cli/setup-owl.sh | 28 +++++------ cli/setup-rack.sh | 2 +- cli/setup-turnstile.sh | 11 ---- cli/tests/rack_test.py | 6 +-- manifests/arcos.yaml | 23 --------- manifests/entity_resolution.yaml | 17 ------- manifests/rack.yaml | 10 ---- manifests/turnstile.yaml | 12 ----- nodegroups/generate-cdrs.sh | 16 +++--- overlays/ARP-4754A/.project | 12 +++++ .../ARP-4754A/AGENT_1.csv | 0 .../ARP-4754A/AGENT_2.csv | 0 .../ARP-4754A/OBJECTIVE_1.csv | 0 .../ARP-4754A/OBJECTIVE_2.csv | 0 .../ARP-4754A/SECTION_1.csv | 0 .../ARP-4754A/SECTION_2.csv | 0 .../ARP-4754A/SPECIFICATION_1.csv | 0 .../ARP-4754A/SPECIFICATION_2.csv | 0 .../ARP-4754A/data.yaml | 0 overlays/ARP-4754A/manifest.yaml | 9 ++++ .../Boeing-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../OwlModels/configuration.rdf | 0 .../Boeing-Ontology/OwlModels/model.yaml | 0 overlays/Boeing-Ontology/manifest.yaml | 7 +++ .../Boeing-Ontology}/ontology/Boeing.sadl | 0 overlays/CAPEC/.project | 12 +++++ .../ontology => overlays}/CAPEC/CAPEC1.csv | 0 .../ontology => overlays}/CAPEC/CAPEC2.csv | 0 .../import.yaml => overlays/CAPEC/data.yaml | 0 overlays/CAPEC/manifest.yaml | 9 ++++ overlays/DO-178C/.project | 12 +++++ .../ontology => overlays}/DO-178C/AGENT_1.csv | 0 .../DO-178C/OBJECTIVE_1.csv | 0 .../DO-178C/OBJECTIVE_2.csv | 0 .../DO-178C/SECTION_1.csv | 0 .../DO-178C/SECTION_2.csv | 0 .../DO-178C/SPECIFICATION_1.csv | 0 .../DO-178C/SPECIFICATION_2.csv | 0 .../import.yaml => overlays/DO-178C/data.yaml | 0 overlays/DO-178C/manifest.yaml | 9 ++++ overlays/DO-330/.project | 12 +++++ .../ontology => overlays}/DO-330/AGENT_1.csv | 0 .../DO-330/OBJECTIVE_1.csv | 0 .../DO-330/OBJECTIVE_2.csv | 0 .../DO-330/SECTION_1.csv | 0 .../DO-330/SECTION_2.csv | 0 .../DO-330/SPECIFICATION_1.csv | 0 .../DO-330/SPECIFICATION_2.csv | 0 .../import.yaml => overlays/DO-330/data.yaml | 0 overlays/DO-330/manifest.yaml | 9 ++++ .../GE-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../GE-Ontology}/OwlModels/configuration.rdf | 0 .../GE-Ontology/OwlModels/model.yaml | 0 .../GE-Ontology}/README.md | 0 overlays/GE-Ontology/manifest.yaml | 7 +++ .../GE-Ontology}/ontology/CPS.sadl | 0 .../GE-Ontology}/ontology/GE.sadl | 0 .../GrammaTech-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../GrammaTech-Ontology}/Mapping.md | 0 .../OwlModels/configuration.rdf | 0 .../GrammaTech-Ontology/OwlModels/model.yaml | 0 overlays/GrammaTech-Ontology/manifest.yaml | 7 +++ .../ontology/GrammaTech.sadl | 0 .../LM-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../LM-Ontology}/OwlModels/configuration.rdf | 0 .../LM-Ontology/OwlModels/model.yaml | 0 overlays/LM-Ontology/manifest.yaml | 7 +++ .../LM-Ontology}/ontology/LM.sadl | 0 overlays/MIL-STD-881D/.project | 18 +++++++ .../MIL-STD-881D/MIL-STD-881D-AppxA.sadl | 0 .../MIL-STD-881D/MIL-STD-881D-AppxB.sadl | 0 .../MIL-STD-881D/MIL-STD-881D-AppxC.sadl | 0 .../MIL-STD-881D/MIL-STD-881D-AppxD.sadl | 0 .../MIL-STD-881D/MIL-STD-881D.sadl | 0 overlays/MIL-STD-881D/OwlModels/model.yaml | 6 +++ overlays/MIL-STD-881D/manifest.yaml | 7 +++ overlays/MITRE-CWE/.project | 18 +++++++ .../ontology => overlays}/MITRE-CWE/CAPEC.csv | 0 .../MITRE-CWE/CAPEC_CWE.csv | 0 .../MITRE-CWE/CWE_EFFECTIVENESS.csv | 0 .../MITRE-CWE/CWE_METHOD.csv | 0 .../MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv | 0 .../MITRE-CWE/MITRE-CWE.sadl | 0 .../MITRE-CWE/MITRE_CWE.csv | 0 overlays/MITRE-CWE/OwlModels/model.yaml | 2 + .../MITRE-CWE/data.yaml | 0 .../MITRE-CWE/gen-capec.py | 0 overlays/MITRE-CWE/manifest.yaml | 11 ++++ overlays/NIST-800-53/.project | 12 +++++ .../NIST-800-53/NIST-800-53_1.csv | 0 .../NIST-800-53/NIST-800-53_2.csv | 0 .../NIST-800-53/data.yaml | 0 overlays/NIST-800-53/manifest.yaml | 9 ++++ .../RTX-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../RTX-Ontology}/OwlModels/configuration.rdf | 0 .../RTX-Ontology/OwlModels/model.yaml | 0 overlays/RTX-Ontology/manifest.yaml | 7 +++ .../RTX-Ontology}/ontology/RTX.sadl | 0 .../SRI-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../SRI-Ontology}/OwlModels/configuration.rdf | 0 .../SRI-Ontology/OwlModels/model.yaml | 0 overlays/SRI-Ontology/manifest.yaml | 8 +++ .../SRI-Ontology}/ontology/SRI-SS.sadl | 0 .../SRI-Ontology}/ontology/SRI.sadl | 0 .../STR-Ontology}/.project | 0 .../ImplicitModel/SadlBuiltinFunctions.sadl | 0 .../ImplicitModel/SadlImplicitModel.sadl | 0 .../STR-Ontology}/Mapping.md | 0 .../STR-Ontology}/OwlModels/configuration.rdf | 0 .../STR-Ontology/OwlModels/model.yaml | 0 overlays/STR-Ontology/manifest.yaml | 7 +++ .../STR-Ontology}/ontology/STR.sadl | 0 overlays/arcos/manifest.yaml | 20 ++++++++ overlays/claims/.project | 12 +++++ .../claims/CONCERN_TYPES.csv | 0 .../claims/PROPERTY_TYPES.csv | 0 .../ontology => overlays}/claims/THEORIES.csv | 0 .../import.yaml => overlays/claims/data.yaml | 0 overlays/claims/manifest.yaml | 9 ++++ 162 files changed, 330 insertions(+), 431 deletions(-) delete mode 100644 Boeing-Ontology/OwlModels/ont-policy.rdf create mode 100644 EntityResolution/manifest.yaml delete mode 100644 GE-Ontology/OwlModels/ont-policy.rdf delete mode 100644 GrammaTech-Ontology/OwlModels/ont-policy.rdf delete mode 100644 LM-Ontology/OwlModels/ont-policy.rdf rename RACK-Ontology/OwlModels/{import.yaml => model.yaml} (100%) create mode 100644 RACK-Ontology/manifest.yaml delete mode 100644 RTX-Ontology/OwlModels/ont-policy.rdf delete mode 100644 SRI-Ontology/OwlModels/ont-policy.rdf delete mode 100644 STR-Ontology/OwlModels/ont-policy.rdf rename Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationRequirementSpec/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationReviews/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationSoftwareDes/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationTesting/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/HazardAssessment/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/Objectives/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/PlanningDocuments/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/SystemVerificationReport/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileBaselines/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileDevelopmentPlanData/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileHighLevelRequirements/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileLowLevelRequirements/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileRequirementModel/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileSecurity/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemDesign/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemRequirements/{import.yaml => data.yaml} (100%) rename Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemSpec/{import.yaml => data.yaml} (100%) delete mode 100755 cli/setup-turnstile.sh delete mode 100644 manifests/arcos.yaml delete mode 100644 manifests/entity_resolution.yaml delete mode 100644 manifests/rack.yaml delete mode 100644 manifests/turnstile.yaml create mode 100644 overlays/ARP-4754A/.project rename {RACK-Ontology/ontology => overlays}/ARP-4754A/AGENT_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/AGENT_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/OBJECTIVE_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/OBJECTIVE_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/SECTION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/SECTION_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/SPECIFICATION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/ARP-4754A/SPECIFICATION_2.csv (100%) rename RACK-Ontology/ontology/ARP-4754A/import.yaml => overlays/ARP-4754A/data.yaml (100%) create mode 100644 overlays/ARP-4754A/manifest.yaml rename {Boeing-Ontology => overlays/Boeing-Ontology}/.project (100%) rename {Boeing-Ontology => overlays/Boeing-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {Boeing-Ontology => overlays/Boeing-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {Boeing-Ontology => overlays/Boeing-Ontology}/OwlModels/configuration.rdf (100%) rename Boeing-Ontology/OwlModels/import.yaml => overlays/Boeing-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/Boeing-Ontology/manifest.yaml rename {Boeing-Ontology => overlays/Boeing-Ontology}/ontology/Boeing.sadl (100%) create mode 100644 overlays/CAPEC/.project rename {RACK-Ontology/ontology => overlays}/CAPEC/CAPEC1.csv (100%) rename {RACK-Ontology/ontology => overlays}/CAPEC/CAPEC2.csv (100%) rename RACK-Ontology/ontology/CAPEC/import.yaml => overlays/CAPEC/data.yaml (100%) create mode 100644 overlays/CAPEC/manifest.yaml create mode 100644 overlays/DO-178C/.project rename {RACK-Ontology/ontology => overlays}/DO-178C/AGENT_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/OBJECTIVE_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/OBJECTIVE_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/SECTION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/SECTION_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/SPECIFICATION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-178C/SPECIFICATION_2.csv (100%) rename RACK-Ontology/ontology/DO-178C/import.yaml => overlays/DO-178C/data.yaml (100%) create mode 100644 overlays/DO-178C/manifest.yaml create mode 100644 overlays/DO-330/.project rename {RACK-Ontology/ontology => overlays}/DO-330/AGENT_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/OBJECTIVE_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/OBJECTIVE_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/SECTION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/SECTION_2.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/SPECIFICATION_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/DO-330/SPECIFICATION_2.csv (100%) rename RACK-Ontology/ontology/DO-330/import.yaml => overlays/DO-330/data.yaml (100%) create mode 100644 overlays/DO-330/manifest.yaml rename {GE-Ontology => overlays/GE-Ontology}/.project (100%) rename {GE-Ontology => overlays/GE-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {GE-Ontology => overlays/GE-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {GE-Ontology => overlays/GE-Ontology}/OwlModels/configuration.rdf (100%) rename GE-Ontology/OwlModels/import.yaml => overlays/GE-Ontology/OwlModels/model.yaml (100%) rename {GE-Ontology => overlays/GE-Ontology}/README.md (100%) create mode 100644 overlays/GE-Ontology/manifest.yaml rename {GE-Ontology => overlays/GE-Ontology}/ontology/CPS.sadl (100%) rename {GE-Ontology => overlays/GE-Ontology}/ontology/GE.sadl (100%) rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/.project (100%) rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/Mapping.md (100%) rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/OwlModels/configuration.rdf (100%) rename GrammaTech-Ontology/OwlModels/import.yaml => overlays/GrammaTech-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/GrammaTech-Ontology/manifest.yaml rename {GrammaTech-Ontology => overlays/GrammaTech-Ontology}/ontology/GrammaTech.sadl (100%) rename {LM-Ontology => overlays/LM-Ontology}/.project (100%) rename {LM-Ontology => overlays/LM-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {LM-Ontology => overlays/LM-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {LM-Ontology => overlays/LM-Ontology}/OwlModels/configuration.rdf (100%) rename LM-Ontology/OwlModels/import.yaml => overlays/LM-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/LM-Ontology/manifest.yaml rename {LM-Ontology => overlays/LM-Ontology}/ontology/LM.sadl (100%) create mode 100644 overlays/MIL-STD-881D/.project rename {RACK-Ontology/ontology => overlays}/MIL-STD-881D/MIL-STD-881D-AppxA.sadl (100%) rename {RACK-Ontology/ontology => overlays}/MIL-STD-881D/MIL-STD-881D-AppxB.sadl (100%) rename {RACK-Ontology/ontology => overlays}/MIL-STD-881D/MIL-STD-881D-AppxC.sadl (100%) rename {RACK-Ontology/ontology => overlays}/MIL-STD-881D/MIL-STD-881D-AppxD.sadl (100%) rename {RACK-Ontology/ontology => overlays}/MIL-STD-881D/MIL-STD-881D.sadl (100%) create mode 100644 overlays/MIL-STD-881D/OwlModels/model.yaml create mode 100644 overlays/MIL-STD-881D/manifest.yaml create mode 100644 overlays/MITRE-CWE/.project rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/CAPEC.csv (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/CAPEC_CWE.csv (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/CWE_EFFECTIVENESS.csv (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/CWE_METHOD.csv (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/MITRE-CWE.sadl (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/MITRE_CWE.csv (100%) create mode 100644 overlays/MITRE-CWE/OwlModels/model.yaml rename RACK-Ontology/ontology/MITRE-CWE/import.yaml => overlays/MITRE-CWE/data.yaml (100%) rename {RACK-Ontology/ontology => overlays}/MITRE-CWE/gen-capec.py (100%) create mode 100644 overlays/MITRE-CWE/manifest.yaml create mode 100644 overlays/NIST-800-53/.project rename {RACK-Ontology/ontology => overlays}/NIST-800-53/NIST-800-53_1.csv (100%) rename {RACK-Ontology/ontology => overlays}/NIST-800-53/NIST-800-53_2.csv (100%) rename RACK-Ontology/ontology/NIST-800-53/import.yaml => overlays/NIST-800-53/data.yaml (100%) create mode 100644 overlays/NIST-800-53/manifest.yaml rename {RTX-Ontology => overlays/RTX-Ontology}/.project (100%) rename {RTX-Ontology => overlays/RTX-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {RTX-Ontology => overlays/RTX-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {RTX-Ontology => overlays/RTX-Ontology}/OwlModels/configuration.rdf (100%) rename RTX-Ontology/OwlModels/import.yaml => overlays/RTX-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/RTX-Ontology/manifest.yaml rename {RTX-Ontology => overlays/RTX-Ontology}/ontology/RTX.sadl (100%) rename {SRI-Ontology => overlays/SRI-Ontology}/.project (100%) rename {SRI-Ontology => overlays/SRI-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {SRI-Ontology => overlays/SRI-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {SRI-Ontology => overlays/SRI-Ontology}/OwlModels/configuration.rdf (100%) rename SRI-Ontology/OwlModels/import.yaml => overlays/SRI-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/SRI-Ontology/manifest.yaml rename {SRI-Ontology => overlays/SRI-Ontology}/ontology/SRI-SS.sadl (100%) rename {SRI-Ontology => overlays/SRI-Ontology}/ontology/SRI.sadl (100%) rename {STR-Ontology => overlays/STR-Ontology}/.project (100%) rename {STR-Ontology => overlays/STR-Ontology}/ImplicitModel/SadlBuiltinFunctions.sadl (100%) rename {STR-Ontology => overlays/STR-Ontology}/ImplicitModel/SadlImplicitModel.sadl (100%) rename {STR-Ontology => overlays/STR-Ontology}/Mapping.md (100%) rename {STR-Ontology => overlays/STR-Ontology}/OwlModels/configuration.rdf (100%) rename STR-Ontology/OwlModels/import.yaml => overlays/STR-Ontology/OwlModels/model.yaml (100%) create mode 100644 overlays/STR-Ontology/manifest.yaml rename {STR-Ontology => overlays/STR-Ontology}/ontology/STR.sadl (100%) create mode 100644 overlays/arcos/manifest.yaml create mode 100644 overlays/claims/.project rename {RACK-Ontology/ontology => overlays}/claims/CONCERN_TYPES.csv (100%) rename {RACK-Ontology/ontology => overlays}/claims/PROPERTY_TYPES.csv (100%) rename {RACK-Ontology/ontology => overlays}/claims/THEORIES.csv (100%) rename RACK-Ontology/ontology/claims/import.yaml => overlays/claims/data.yaml (100%) create mode 100644 overlays/claims/manifest.yaml diff --git a/Boeing-Ontology/OwlModels/ont-policy.rdf b/Boeing-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index 7e45e3ff..00000000 --- a/Boeing-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,42 +0,0 @@ - - - platform:/resource/Boeing-Ontology/ontology/Boeing.sadl - - - SADL - BoeingModel - - - - - - - SADL - sadlbasemodel - - - platform:/resource/Boeing-Ontology/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - - platform:/resource/Boeing-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - - - - - SADL - sadllistmodel - - diff --git a/EntityResolution/manifest.yaml b/EntityResolution/manifest.yaml new file mode 100644 index 00000000..4ed2854f --- /dev/null +++ b/EntityResolution/manifest.yaml @@ -0,0 +1,19 @@ +name: 'Entity Resolution' + +copy-to-default-graph: true +perform-entity-resolution: true +perform-triplestore-optimization: true + +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/data + +steps: + - manifest: ../RACK-Ontology/manifest.yaml + - data: TestData/Package-1/import.yaml + - data: TestData/Package-2/import.yaml + - data: TestData/Package-3/import.yaml + - data: TestData/Resolutions-1/import.yaml + - data: TestData/Resolutions-2/import.yaml diff --git a/GE-Ontology/OwlModels/ont-policy.rdf b/GE-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index 356dd505..00000000 --- a/GE-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - SADL - turnstile - platform:/resource/GE-Ontology/ontology/GE.sadl - - - platform:/resource/GE-Ontology/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - - platform:/resource/GE-Ontology/ontology/CPS.sadl - - - SADL - CPS - - - - - - - SADL - sadlbasemodel - - - - - - SADL - sadllistmodel - - - platform:/resource/GE-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - diff --git a/GrammaTech-Ontology/OwlModels/ont-policy.rdf b/GrammaTech-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index 93e9d63d..00000000 --- a/GrammaTech-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - SADL - sadllistmodel - - - platform:/resource/GrammaTech-Ontology/ontology/GrammaTech.sadl - - - SADL - Acert - - - - platform:/resource/GrammaTech-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - - - - - SADL - sadlbasemodel - - - platform:/resource/GrammaTech-Ontology/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - diff --git a/LM-Ontology/OwlModels/ont-policy.rdf b/LM-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index f00ac878..00000000 --- a/LM-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,42 +0,0 @@ - - - platform:/resource/LM-Ontology/ontology/LM.sadl - - - SADL - sacm - - - - platform:/resource/LM-Ontology/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - - platform:/resource/LM-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - - - - - SADL - sadlbasemodel - - - - - - SADL - sadllistmodel - - diff --git a/RACK-Ontology/OwlModels/import.yaml b/RACK-Ontology/OwlModels/model.yaml similarity index 100% rename from RACK-Ontology/OwlModels/import.yaml rename to RACK-Ontology/OwlModels/model.yaml diff --git a/RACK-Ontology/manifest.yaml b/RACK-Ontology/manifest.yaml new file mode 100644 index 00000000..34e547cd --- /dev/null +++ b/RACK-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: RACK-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- model: OwlModels/model.yaml +- nodegroups: ../nodegroups/queries diff --git a/RTX-Ontology/OwlModels/ont-policy.rdf b/RTX-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index 7a46e6b1..00000000 --- a/RTX-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,42 +0,0 @@ - - - platform:/resource/RTX-Ontology/ontology/RTX.sadl - aace - SADL - - - - - - platform:/resource/RTX-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - builtinfunctions - SADL - - - - - - sadllistmodel - SADL - - - - - - platform:/resource/RTX-Ontology/ImplicitModel/SadlImplicitModel.sadl - sadlimplicitmodel - SADL - - - - - - sadlbasemodel - SADL - - - - - diff --git a/SRI-Ontology/OwlModels/ont-policy.rdf b/SRI-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index 9e365204..00000000 --- a/SRI-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,50 +0,0 @@ - - - platform:/resource/SRI-Ontology/ontology/SRI.sadl - DesCert - SADL - - - - - - platform:/resource/SRI-Ontology/ontology/SRI-SS.sadl - SS - SADL - - - - - - platform:/resource/SRI-Ontology/ImplicitModel/SadlImplicitModel.sadl - sadlimplicitmodel - SADL - - - - - - platform:/resource/SRI-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - builtinfunctions - SADL - - - - - - sadlbasemodel - SADL - - - - - - sadllistmodel - SADL - - - - - diff --git a/STR-Ontology/OwlModels/ont-policy.rdf b/STR-Ontology/OwlModels/ont-policy.rdf deleted file mode 100644 index ff6a5ca3..00000000 --- a/STR-Ontology/OwlModels/ont-policy.rdf +++ /dev/null @@ -1,42 +0,0 @@ - - - sadllistmodel - SADL - - - - - - platform:/resource/STR-Ontology/ontology/STR.sadl - - - SADL - Arbiter - - - - platform:/resource/STR-Ontology/ImplicitModel/SadlImplicitModel.sadl - - - SADL - sadlimplicitmodel - - - - sadlbasemodel - SADL - - - - - - platform:/resource/STR-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl - - - SADL - builtinfunctions - - - diff --git a/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/BuildProcess/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationRequirementSpec/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationRequirementSpec/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationRequirementSpec/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationRequirementSpec/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationReviews/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationReviews/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationReviews/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationReviews/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationSoftwareDes/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationSoftwareDes/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationSoftwareDes/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationSoftwareDes/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationTesting/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationTesting/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationTesting/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationTesting/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/HazardAssessment/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/HazardAssessment/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/HazardAssessment/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/HazardAssessment/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/Objectives/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/Objectives/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/Objectives/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/Objectives/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/PlanningDocuments/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/PlanningDocuments/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/PlanningDocuments/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/PlanningDocuments/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/SystemVerificationReport/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/SystemVerificationReport/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/SystemVerificationReport/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/SystemVerificationReport/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileBaselines/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileBaselines/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileBaselines/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileBaselines/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileDevelopmentPlanData/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileDevelopmentPlanData/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileDevelopmentPlanData/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileDevelopmentPlanData/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileHighLevelRequirements/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileHighLevelRequirements/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileHighLevelRequirements/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileHighLevelRequirements/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileLowLevelRequirements/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileLowLevelRequirements/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileLowLevelRequirements/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileLowLevelRequirements/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileRequirementModel/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileRequirementModel/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileRequirementModel/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileRequirementModel/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSecurity/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSecurity/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileSecurity/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileSecurity/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemDesign/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemDesign/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemDesign/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemDesign/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemRequirements/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemRequirements/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemRequirements/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemRequirements/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemSpec/import.yaml b/Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemSpec/data.yaml similarity index 100% rename from Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemSpec/import.yaml rename to Turnstile-Example/Turnstile-IngestionPackage/TurnstileSystemSpec/data.yaml diff --git a/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml b/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml index 096ad50b..a11a00ae 100644 --- a/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml +++ b/Turnstile-Example/Turnstile-IngestionPackage/manifest.yaml @@ -8,22 +8,24 @@ footprint: - http://rack001/do-178c steps: - - manifest: ../../manifests/turnstile.yaml - - data: CounterApplicationUnitTesting/OwlModels/import.yaml - - data: TurnstileDevelopmentPlanData/import.yaml - - data: PlanningDocuments/import.yaml - - data: HazardAssessment/import.yaml - - data: TurnstileSystemDesign/import.yaml - - data: TurnstileSystemRequirements/import.yaml - - data: TurnstileHighLevelRequirements/import.yaml - - data: TurnstileLowLevelRequirements/import.yaml - - data: TurnstileRequirementModel/import.yaml - - data: CounterApplicationReviews/import.yaml - - data: CounterApplicationTesting/import.yaml - - data: TurnstileSystemSpec/import.yaml - - data: CounterApplicationRequirementSpec/import.yaml - - data: CounterApplicationSoftwareDes/import.yaml - - data: SystemVerificationReport/import.yaml - - data: Objectives/import.yaml - - data: TurnstileBaselines/import.yaml - - data: BuildProcess/import.yaml + - manifest: ../../RACK-Ontology/manifest.yaml + - manifest: ../../overlays/GE-Ontology/manifest.yaml + - manifest: ../../overlays/DO-178C/manifest.yaml + - data: CounterApplicationUnitTesting/OwlModels/data.yaml + - data: TurnstileDevelopmentPlanData/data.yaml + - data: PlanningDocuments/data.yaml + - data: HazardAssessment/data.yaml + - data: TurnstileSystemDesign/data.yaml + - data: TurnstileSystemRequirements/data.yaml + - data: TurnstileHighLevelRequirements/data.yaml + - data: TurnstileLowLevelRequirements/data.yaml + - data: TurnstileRequirementModel/data.yaml + - data: CounterApplicationReviews/data.yaml + - data: CounterApplicationTesting/data.yaml + - data: TurnstileSystemSpec/data.yaml + - data: CounterApplicationRequirementSpec/data.yaml + - data: CounterApplicationSoftwareDes/data.yaml + - data: SystemVerificationReport/data.yaml + - data: Objectives/data.yaml + - data: TurnstileBaselines/data.yaml + - data: BuildProcess/data.yaml diff --git a/cli/setup-arcos.sh b/cli/setup-arcos.sh index 8546b637..af361643 100755 --- a/cli/setup-arcos.sh +++ b/cli/setup-arcos.sh @@ -7,5 +7,5 @@ set -eu TMP=$(mktemp -d -t ingestion_package_XXXXXX) || exit 1 trap 'rm -rf "$TMP"; trap - EXIT; exit' EXIT INT HUP -rack manifest build ../manifests/arcos.yaml "${TMP}/output" +rack manifest build ../overlays/arcos/manifest.yaml "${TMP}/output" rack manifest import --clear "${TMP}/output.zip" diff --git a/cli/setup-owl.sh b/cli/setup-owl.sh index 1862cc25..cd4dd3cf 100755 --- a/cli/setup-owl.sh +++ b/cli/setup-owl.sh @@ -66,13 +66,13 @@ in echo "[setup-owl] Copying OwlModels" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/RACK-Ontology/OwlModels" "${rack_dir}/RACK-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/GE-Ontology/OwlModels" "${rack_dir}/GE-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/GrammaTech-Ontology/OwlModels" "${rack_dir}/GrammaTech-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/STR-Ontology/OwlModels" "${rack_dir}/STR-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/Boeing-Ontology/OwlModels" "${rack_dir}/Boeing-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/LM-Ontology/OwlModels" "${rack_dir}/LM-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/SRI-Ontology/OwlModels" "${rack_dir}/SRI-Ontology/" - scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/RTX-Ontology/OwlModels" "${rack_dir}/RTX-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/GE-Ontology/OwlModels" "${rack_dir}/overlays/GE-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/GrammaTech-Ontology/OwlModels" "${rack_dir}/overlays/GrammaTech-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/STR-Ontology/OwlModels" "${rack_dir}/overlays/STR-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/Boeing-Ontology/OwlModels" "${rack_dir}/overlays/Boeing-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/LM-Ontology/OwlModels" "${rack_dir}/overlays/LM-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/SRI-Ontology/OwlModels" "${rack_dir}/overlays/SRI-Ontology/" + scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/overlays/RTX-Ontology/OwlModels" "${rack_dir}/overlays/RTX-Ontology/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels" "${rack_dir}/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/" scp -q -i rack_ssh_key -r "ubuntu@${virtualbox_ip}:RACK/sadl-examples/OwlModels" "${rack_dir}/sadl-examples/" @@ -97,13 +97,13 @@ in echo "[setup-owl] Copying OwlModels" $DOCKER cp "${container}:/home/ubuntu/RACK/RACK-Ontology/OwlModels/" "${rack_dir}/RACK-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/GE-Ontology/OwlModels/" "${rack_dir}/GE-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/GrammaTech-Ontology/OwlModels/" "${rack_dir}/GrammaTech-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/STR-Ontology/OwlModels/" "${rack_dir}/STR-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/Boeing-Ontology/OwlModels/" "${rack_dir}/Boeing-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/LM-Ontology/OwlModels/" "${rack_dir}/LM-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/SRI-Ontology/OwlModels/" "${rack_dir}/SRI-Ontology/" - $DOCKER cp "${container}:/home/ubuntu/RACK/RTX-Ontology/OwlModels/" "${rack_dir}/RTX-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/GE-Ontology/OwlModels/" "${rack_dir}/overlays/GE-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/GrammaTech-Ontology/OwlModels/" "${rack_dir}/overlays/GrammaTech-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/STR-Ontology/OwlModels/" "${rack_dir}/overlays/STR-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/Boeing-Ontology/OwlModels/" "${rack_dir}/overlays/Boeing-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/LM-Ontology/OwlModels/" "${rack_dir}/overlays/LM-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/SRI-Ontology/OwlModels/" "${rack_dir}/overlays/SRI-Ontology/" + $DOCKER cp "${container}:/home/ubuntu/RACK/overlays/RTX-Ontology/OwlModels/" "${rack_dir}/overlays/RTX-Ontology/" $DOCKER cp "${container}:/home/ubuntu/RACK/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/OwlModels/" "${rack_dir}/Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationUnitTesting/" $DOCKER cp "${container}:/home/ubuntu/RACK/sadl-examples/OwlModels/" "${rack_dir}/sadl-examples/" diff --git a/cli/setup-rack.sh b/cli/setup-rack.sh index ce17372a..068f3ac1 100755 --- a/cli/setup-rack.sh +++ b/cli/setup-rack.sh @@ -7,5 +7,5 @@ set -eu TMP=$(mktemp -d -t ingestion_package_XXXXXX) || exit 1 trap 'rm -rf "$TMP"; trap - EXIT; exit' EXIT INT HUP -rack manifest build ../manifests/rack.yaml "${TMP}/output" +rack manifest build ../RACK-Ontology/manifest.yaml "${TMP}/output" rack manifest import --clear "${TMP}/output.zip" diff --git a/cli/setup-turnstile.sh b/cli/setup-turnstile.sh deleted file mode 100755 index 0483cd42..00000000 --- a/cli/setup-turnstile.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# Copyright (c) 2020, General Electric Company and Galois, Inc. -set -eu - -./ensure-cli-in-PATH.sh - -TMP=$(mktemp -d -t ingestion_package_XXXXXX) || exit 1 -trap 'rm -rf "$TMP"; trap - EXIT; exit' EXIT INT HUP - -rack manifest build ../manifests/turnstile.yaml "${TMP}/output" -rack manifest import --clear "${TMP}/output.zip" diff --git a/cli/tests/rack_test.py b/cli/tests/rack_test.py index 1bafdf90..9272858a 100644 --- a/cli/tests/rack_test.py +++ b/cli/tests/rack_test.py @@ -10,13 +10,9 @@ from rack import ingest_data_driver, ingest_owl_driver, run_query, sparql_connection, Url -def test_load_csv(rack_in_a_box: str) -> None: - # Just test that it doesn't raise an exception - ingest_data_driver(Path("../Turnstile-Ontology/99-Utils/Data/Model.yaml"), Url(rack_in_a_box), None, None, None, None, False) - def test_load_owl(rack_in_a_box: str) -> None: # Just test that it doesn't raise an exception - ingest_owl_driver(Path("../RACK-Ontology/OwlModels/import.yaml"), Url(rack_in_a_box), None, None, None, False) + ingest_owl_driver(Path("../RACK-Ontology/OwlModels/model.yaml"), Url(rack_in_a_box), None, None, None, False) def test_run_query(rack_in_a_box: str) -> None: conn = sparql_connection(Url(rack_in_a_box), None, None, [], None, None) diff --git a/manifests/arcos.yaml b/manifests/arcos.yaml deleted file mode 100644 index 5679a0d7..00000000 --- a/manifests/arcos.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: 'ARCOS ontology' - -footprint: - model-graphs: - - http://rack001/model - data-graphs: - - http://rack001/nist-800-53 - - http://rack001/mitre-cwe - -steps: - - manifest: rack.yaml - - - model: ../Boeing-Ontology/OwlModels/import.yaml - - model: ../GrammaTech-Ontology/OwlModels/import.yaml - - model: ../LM-Ontology/OwlModels/import.yaml - - model: ../SRI-Ontology/OwlModels/import.yaml - - model: ../STR-Ontology/OwlModels/import.yaml - - model: ../RTX-Ontology/OwlModels/import.yaml - - data: ../RACK-Ontology/ontology/NIST-800-53/import.yaml - - model: ../RACK-Ontology/OwlModels/MITRE-CWE.yaml - - nodegroups: ../nodegroups/arcos.cwe - - data: ../RACK-Ontology/ontology/MITRE-CWE/import.yaml - - data: ../RACK-Ontology/ontology/claims/import.yaml diff --git a/manifests/entity_resolution.yaml b/manifests/entity_resolution.yaml deleted file mode 100644 index ad8613ab..00000000 --- a/manifests/entity_resolution.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: 'Entity Resolution' -copy-to-default-graph: true -perform-entity-resolution: true -perform-triplestore-optimization: true -footprint: - model-graphs: - - http://rack001/model - data-graphs: - - http://rack001/data - -steps: - - manifest: rack.yaml - - data: ../EntityResolution/TestData/Package-1/import.yaml - - data: ../EntityResolution/TestData/Package-2/import.yaml - - data: ../EntityResolution/TestData/Package-3/import.yaml - - data: ../EntityResolution/TestData/Resolutions-1/import.yaml - - data: ../EntityResolution/TestData/Resolutions-2/import.yaml diff --git a/manifests/rack.yaml b/manifests/rack.yaml deleted file mode 100644 index d002739f..00000000 --- a/manifests/rack.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: 'RACK ontology' -description: 'Base ontology for assurance case curation' - -footprint: - model-graphs: - - http://rack001/model - -steps: - - model: ../RACK-Ontology/OwlModels/import.yaml - - nodegroups: ../nodegroups/queries diff --git a/manifests/turnstile.yaml b/manifests/turnstile.yaml deleted file mode 100644 index aa0b66ca..00000000 --- a/manifests/turnstile.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: 'Turnstile ingestion' - -footprint: - model-graphs: - - http://rack001/model - data-graphs: - - http://rack001/do-178c - -steps: - - manifest: rack.yaml - - model: ../GE-Ontology/OwlModels/import.yaml - - data: ../RACK-Ontology/ontology/DO-178C/import.yaml diff --git a/nodegroups/generate-cdrs.sh b/nodegroups/generate-cdrs.sh index c3c083fe..053dae85 100755 --- a/nodegroups/generate-cdrs.sh +++ b/nodegroups/generate-cdrs.sh @@ -15,14 +15,14 @@ cli/ensure-cli-in-PATH.sh # Import ontologies rack model clear -rack model import RACK-Ontology/OwlModels/import.yaml -rack model import GE-Ontology/OwlModels/import.yaml -rack model import Boeing-Ontology/OwlModels/import.yaml -rack model import GrammaTech-Ontology/OwlModels/import.yaml -rack model import LM-Ontology/OwlModels/import.yaml -rack model import SRI-Ontology/OwlModels/import.yaml -rack model import STR-Ontology/OwlModels/import.yaml -rack model import RTX-Ontology/OwlModels/import.yaml +rack model import RACK-Ontology/OwlModels/model.yaml +rack model import overlays/GE-Ontology/OwlModels/model.yaml +rack model import overlays/Boeing-Ontology/OwlModels/model.yaml +rack model import overlays/GrammaTech-Ontology/OwlModels/model.yaml +rack model import overlays/LM-Ontology/OwlModels/model.yaml +rack model import overlays/SRI-Ontology/OwlModels/model.yaml +rack model import overlays/STR-Ontology/OwlModels/model.yaml +rack model import overlays/RTX-Ontology/OwlModels/model.yaml # Remove old CDR files diff --git a/overlays/ARP-4754A/.project b/overlays/ARP-4754A/.project new file mode 100644 index 00000000..25b2327d --- /dev/null +++ b/overlays/ARP-4754A/.project @@ -0,0 +1,12 @@ + + + ARP-4754A + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/ARP-4754A/AGENT_1.csv b/overlays/ARP-4754A/AGENT_1.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/AGENT_1.csv rename to overlays/ARP-4754A/AGENT_1.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/AGENT_2.csv b/overlays/ARP-4754A/AGENT_2.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/AGENT_2.csv rename to overlays/ARP-4754A/AGENT_2.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/OBJECTIVE_1.csv b/overlays/ARP-4754A/OBJECTIVE_1.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/OBJECTIVE_1.csv rename to overlays/ARP-4754A/OBJECTIVE_1.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/OBJECTIVE_2.csv b/overlays/ARP-4754A/OBJECTIVE_2.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/OBJECTIVE_2.csv rename to overlays/ARP-4754A/OBJECTIVE_2.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/SECTION_1.csv b/overlays/ARP-4754A/SECTION_1.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/SECTION_1.csv rename to overlays/ARP-4754A/SECTION_1.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/SECTION_2.csv b/overlays/ARP-4754A/SECTION_2.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/SECTION_2.csv rename to overlays/ARP-4754A/SECTION_2.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/SPECIFICATION_1.csv b/overlays/ARP-4754A/SPECIFICATION_1.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/SPECIFICATION_1.csv rename to overlays/ARP-4754A/SPECIFICATION_1.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/SPECIFICATION_2.csv b/overlays/ARP-4754A/SPECIFICATION_2.csv similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/SPECIFICATION_2.csv rename to overlays/ARP-4754A/SPECIFICATION_2.csv diff --git a/RACK-Ontology/ontology/ARP-4754A/import.yaml b/overlays/ARP-4754A/data.yaml similarity index 100% rename from RACK-Ontology/ontology/ARP-4754A/import.yaml rename to overlays/ARP-4754A/data.yaml diff --git a/overlays/ARP-4754A/manifest.yaml b/overlays/ARP-4754A/manifest.yaml new file mode 100644 index 00000000..8a576bc4 --- /dev/null +++ b/overlays/ARP-4754A/manifest.yaml @@ -0,0 +1,9 @@ +name: ARP-4754A +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/arp-4754a +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml diff --git a/Boeing-Ontology/.project b/overlays/Boeing-Ontology/.project similarity index 100% rename from Boeing-Ontology/.project rename to overlays/Boeing-Ontology/.project diff --git a/Boeing-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/Boeing-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from Boeing-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/Boeing-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/Boeing-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/Boeing-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from Boeing-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/Boeing-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/Boeing-Ontology/OwlModels/configuration.rdf b/overlays/Boeing-Ontology/OwlModels/configuration.rdf similarity index 100% rename from Boeing-Ontology/OwlModels/configuration.rdf rename to overlays/Boeing-Ontology/OwlModels/configuration.rdf diff --git a/Boeing-Ontology/OwlModels/import.yaml b/overlays/Boeing-Ontology/OwlModels/model.yaml similarity index 100% rename from Boeing-Ontology/OwlModels/import.yaml rename to overlays/Boeing-Ontology/OwlModels/model.yaml diff --git a/overlays/Boeing-Ontology/manifest.yaml b/overlays/Boeing-Ontology/manifest.yaml new file mode 100644 index 00000000..4adb3cdc --- /dev/null +++ b/overlays/Boeing-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: Boeing-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/Boeing-Ontology/ontology/Boeing.sadl b/overlays/Boeing-Ontology/ontology/Boeing.sadl similarity index 100% rename from Boeing-Ontology/ontology/Boeing.sadl rename to overlays/Boeing-Ontology/ontology/Boeing.sadl diff --git a/overlays/CAPEC/.project b/overlays/CAPEC/.project new file mode 100644 index 00000000..5cac0049 --- /dev/null +++ b/overlays/CAPEC/.project @@ -0,0 +1,12 @@ + + + CAPEC + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/CAPEC/CAPEC1.csv b/overlays/CAPEC/CAPEC1.csv similarity index 100% rename from RACK-Ontology/ontology/CAPEC/CAPEC1.csv rename to overlays/CAPEC/CAPEC1.csv diff --git a/RACK-Ontology/ontology/CAPEC/CAPEC2.csv b/overlays/CAPEC/CAPEC2.csv similarity index 100% rename from RACK-Ontology/ontology/CAPEC/CAPEC2.csv rename to overlays/CAPEC/CAPEC2.csv diff --git a/RACK-Ontology/ontology/CAPEC/import.yaml b/overlays/CAPEC/data.yaml similarity index 100% rename from RACK-Ontology/ontology/CAPEC/import.yaml rename to overlays/CAPEC/data.yaml diff --git a/overlays/CAPEC/manifest.yaml b/overlays/CAPEC/manifest.yaml new file mode 100644 index 00000000..651ca5bd --- /dev/null +++ b/overlays/CAPEC/manifest.yaml @@ -0,0 +1,9 @@ +name: CAPEC +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/capec +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml diff --git a/overlays/DO-178C/.project b/overlays/DO-178C/.project new file mode 100644 index 00000000..56d5d3b6 --- /dev/null +++ b/overlays/DO-178C/.project @@ -0,0 +1,12 @@ + + + DO-178C + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/DO-178C/AGENT_1.csv b/overlays/DO-178C/AGENT_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/AGENT_1.csv rename to overlays/DO-178C/AGENT_1.csv diff --git a/RACK-Ontology/ontology/DO-178C/OBJECTIVE_1.csv b/overlays/DO-178C/OBJECTIVE_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/OBJECTIVE_1.csv rename to overlays/DO-178C/OBJECTIVE_1.csv diff --git a/RACK-Ontology/ontology/DO-178C/OBJECTIVE_2.csv b/overlays/DO-178C/OBJECTIVE_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/OBJECTIVE_2.csv rename to overlays/DO-178C/OBJECTIVE_2.csv diff --git a/RACK-Ontology/ontology/DO-178C/SECTION_1.csv b/overlays/DO-178C/SECTION_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/SECTION_1.csv rename to overlays/DO-178C/SECTION_1.csv diff --git a/RACK-Ontology/ontology/DO-178C/SECTION_2.csv b/overlays/DO-178C/SECTION_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/SECTION_2.csv rename to overlays/DO-178C/SECTION_2.csv diff --git a/RACK-Ontology/ontology/DO-178C/SPECIFICATION_1.csv b/overlays/DO-178C/SPECIFICATION_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/SPECIFICATION_1.csv rename to overlays/DO-178C/SPECIFICATION_1.csv diff --git a/RACK-Ontology/ontology/DO-178C/SPECIFICATION_2.csv b/overlays/DO-178C/SPECIFICATION_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-178C/SPECIFICATION_2.csv rename to overlays/DO-178C/SPECIFICATION_2.csv diff --git a/RACK-Ontology/ontology/DO-178C/import.yaml b/overlays/DO-178C/data.yaml similarity index 100% rename from RACK-Ontology/ontology/DO-178C/import.yaml rename to overlays/DO-178C/data.yaml diff --git a/overlays/DO-178C/manifest.yaml b/overlays/DO-178C/manifest.yaml new file mode 100644 index 00000000..3214266a --- /dev/null +++ b/overlays/DO-178C/manifest.yaml @@ -0,0 +1,9 @@ +name: DO-178C +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/do-178c +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml diff --git a/overlays/DO-330/.project b/overlays/DO-330/.project new file mode 100644 index 00000000..5f1fdc45 --- /dev/null +++ b/overlays/DO-330/.project @@ -0,0 +1,12 @@ + + + DO-330 + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/DO-330/AGENT_1.csv b/overlays/DO-330/AGENT_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/AGENT_1.csv rename to overlays/DO-330/AGENT_1.csv diff --git a/RACK-Ontology/ontology/DO-330/OBJECTIVE_1.csv b/overlays/DO-330/OBJECTIVE_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/OBJECTIVE_1.csv rename to overlays/DO-330/OBJECTIVE_1.csv diff --git a/RACK-Ontology/ontology/DO-330/OBJECTIVE_2.csv b/overlays/DO-330/OBJECTIVE_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/OBJECTIVE_2.csv rename to overlays/DO-330/OBJECTIVE_2.csv diff --git a/RACK-Ontology/ontology/DO-330/SECTION_1.csv b/overlays/DO-330/SECTION_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/SECTION_1.csv rename to overlays/DO-330/SECTION_1.csv diff --git a/RACK-Ontology/ontology/DO-330/SECTION_2.csv b/overlays/DO-330/SECTION_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/SECTION_2.csv rename to overlays/DO-330/SECTION_2.csv diff --git a/RACK-Ontology/ontology/DO-330/SPECIFICATION_1.csv b/overlays/DO-330/SPECIFICATION_1.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/SPECIFICATION_1.csv rename to overlays/DO-330/SPECIFICATION_1.csv diff --git a/RACK-Ontology/ontology/DO-330/SPECIFICATION_2.csv b/overlays/DO-330/SPECIFICATION_2.csv similarity index 100% rename from RACK-Ontology/ontology/DO-330/SPECIFICATION_2.csv rename to overlays/DO-330/SPECIFICATION_2.csv diff --git a/RACK-Ontology/ontology/DO-330/import.yaml b/overlays/DO-330/data.yaml similarity index 100% rename from RACK-Ontology/ontology/DO-330/import.yaml rename to overlays/DO-330/data.yaml diff --git a/overlays/DO-330/manifest.yaml b/overlays/DO-330/manifest.yaml new file mode 100644 index 00000000..600d16b5 --- /dev/null +++ b/overlays/DO-330/manifest.yaml @@ -0,0 +1,9 @@ +name: DO-330 +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/do-330 +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml diff --git a/GE-Ontology/.project b/overlays/GE-Ontology/.project similarity index 100% rename from GE-Ontology/.project rename to overlays/GE-Ontology/.project diff --git a/GE-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/GE-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from GE-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/GE-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/GE-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/GE-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from GE-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/GE-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/GE-Ontology/OwlModels/configuration.rdf b/overlays/GE-Ontology/OwlModels/configuration.rdf similarity index 100% rename from GE-Ontology/OwlModels/configuration.rdf rename to overlays/GE-Ontology/OwlModels/configuration.rdf diff --git a/GE-Ontology/OwlModels/import.yaml b/overlays/GE-Ontology/OwlModels/model.yaml similarity index 100% rename from GE-Ontology/OwlModels/import.yaml rename to overlays/GE-Ontology/OwlModels/model.yaml diff --git a/GE-Ontology/README.md b/overlays/GE-Ontology/README.md similarity index 100% rename from GE-Ontology/README.md rename to overlays/GE-Ontology/README.md diff --git a/overlays/GE-Ontology/manifest.yaml b/overlays/GE-Ontology/manifest.yaml new file mode 100644 index 00000000..7193b1a0 --- /dev/null +++ b/overlays/GE-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: GE-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/GE-Ontology/ontology/CPS.sadl b/overlays/GE-Ontology/ontology/CPS.sadl similarity index 100% rename from GE-Ontology/ontology/CPS.sadl rename to overlays/GE-Ontology/ontology/CPS.sadl diff --git a/GE-Ontology/ontology/GE.sadl b/overlays/GE-Ontology/ontology/GE.sadl similarity index 100% rename from GE-Ontology/ontology/GE.sadl rename to overlays/GE-Ontology/ontology/GE.sadl diff --git a/GrammaTech-Ontology/.project b/overlays/GrammaTech-Ontology/.project similarity index 100% rename from GrammaTech-Ontology/.project rename to overlays/GrammaTech-Ontology/.project diff --git a/GrammaTech-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/GrammaTech-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from GrammaTech-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/GrammaTech-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/GrammaTech-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/GrammaTech-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from GrammaTech-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/GrammaTech-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/GrammaTech-Ontology/Mapping.md b/overlays/GrammaTech-Ontology/Mapping.md similarity index 100% rename from GrammaTech-Ontology/Mapping.md rename to overlays/GrammaTech-Ontology/Mapping.md diff --git a/GrammaTech-Ontology/OwlModels/configuration.rdf b/overlays/GrammaTech-Ontology/OwlModels/configuration.rdf similarity index 100% rename from GrammaTech-Ontology/OwlModels/configuration.rdf rename to overlays/GrammaTech-Ontology/OwlModels/configuration.rdf diff --git a/GrammaTech-Ontology/OwlModels/import.yaml b/overlays/GrammaTech-Ontology/OwlModels/model.yaml similarity index 100% rename from GrammaTech-Ontology/OwlModels/import.yaml rename to overlays/GrammaTech-Ontology/OwlModels/model.yaml diff --git a/overlays/GrammaTech-Ontology/manifest.yaml b/overlays/GrammaTech-Ontology/manifest.yaml new file mode 100644 index 00000000..8710827d --- /dev/null +++ b/overlays/GrammaTech-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: GrammaTech-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/GrammaTech-Ontology/ontology/GrammaTech.sadl b/overlays/GrammaTech-Ontology/ontology/GrammaTech.sadl similarity index 100% rename from GrammaTech-Ontology/ontology/GrammaTech.sadl rename to overlays/GrammaTech-Ontology/ontology/GrammaTech.sadl diff --git a/LM-Ontology/.project b/overlays/LM-Ontology/.project similarity index 100% rename from LM-Ontology/.project rename to overlays/LM-Ontology/.project diff --git a/LM-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/LM-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from LM-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/LM-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/LM-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/LM-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from LM-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/LM-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/LM-Ontology/OwlModels/configuration.rdf b/overlays/LM-Ontology/OwlModels/configuration.rdf similarity index 100% rename from LM-Ontology/OwlModels/configuration.rdf rename to overlays/LM-Ontology/OwlModels/configuration.rdf diff --git a/LM-Ontology/OwlModels/import.yaml b/overlays/LM-Ontology/OwlModels/model.yaml similarity index 100% rename from LM-Ontology/OwlModels/import.yaml rename to overlays/LM-Ontology/OwlModels/model.yaml diff --git a/overlays/LM-Ontology/manifest.yaml b/overlays/LM-Ontology/manifest.yaml new file mode 100644 index 00000000..287ed527 --- /dev/null +++ b/overlays/LM-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: LM-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/LM-Ontology/ontology/LM.sadl b/overlays/LM-Ontology/ontology/LM.sadl similarity index 100% rename from LM-Ontology/ontology/LM.sadl rename to overlays/LM-Ontology/ontology/LM.sadl diff --git a/overlays/MIL-STD-881D/.project b/overlays/MIL-STD-881D/.project new file mode 100644 index 00000000..d0ae3039 --- /dev/null +++ b/overlays/MIL-STD-881D/.project @@ -0,0 +1,18 @@ + + + MIL-STD-881D + + + RACK-Ontology + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxA.sadl b/overlays/MIL-STD-881D/MIL-STD-881D-AppxA.sadl similarity index 100% rename from RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxA.sadl rename to overlays/MIL-STD-881D/MIL-STD-881D-AppxA.sadl diff --git a/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxB.sadl b/overlays/MIL-STD-881D/MIL-STD-881D-AppxB.sadl similarity index 100% rename from RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxB.sadl rename to overlays/MIL-STD-881D/MIL-STD-881D-AppxB.sadl diff --git a/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxC.sadl b/overlays/MIL-STD-881D/MIL-STD-881D-AppxC.sadl similarity index 100% rename from RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxC.sadl rename to overlays/MIL-STD-881D/MIL-STD-881D-AppxC.sadl diff --git a/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxD.sadl b/overlays/MIL-STD-881D/MIL-STD-881D-AppxD.sadl similarity index 100% rename from RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D-AppxD.sadl rename to overlays/MIL-STD-881D/MIL-STD-881D-AppxD.sadl diff --git a/RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D.sadl b/overlays/MIL-STD-881D/MIL-STD-881D.sadl similarity index 100% rename from RACK-Ontology/ontology/MIL-STD-881D/MIL-STD-881D.sadl rename to overlays/MIL-STD-881D/MIL-STD-881D.sadl diff --git a/overlays/MIL-STD-881D/OwlModels/model.yaml b/overlays/MIL-STD-881D/OwlModels/model.yaml new file mode 100644 index 00000000..56e23bc8 --- /dev/null +++ b/overlays/MIL-STD-881D/OwlModels/model.yaml @@ -0,0 +1,6 @@ +files: + - MIL-STD-881D.owl + - MIL-STD-881D-AppxA.owl + - MIL-STD-881D-AppxB.owl + - MIL-STD-881D-AppxC.owl + - MIL-STD-881D-AppxD.owl diff --git a/overlays/MIL-STD-881D/manifest.yaml b/overlays/MIL-STD-881D/manifest.yaml new file mode 100644 index 00000000..e467bd81 --- /dev/null +++ b/overlays/MIL-STD-881D/manifest.yaml @@ -0,0 +1,7 @@ +name: MIL-STD-881D +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/overlays/MITRE-CWE/.project b/overlays/MITRE-CWE/.project new file mode 100644 index 00000000..3c2c1475 --- /dev/null +++ b/overlays/MITRE-CWE/.project @@ -0,0 +1,18 @@ + + + MITRE-CWE + + + RACK-Ontology + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/RACK-Ontology/ontology/MITRE-CWE/CAPEC.csv b/overlays/MITRE-CWE/CAPEC.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/CAPEC.csv rename to overlays/MITRE-CWE/CAPEC.csv diff --git a/RACK-Ontology/ontology/MITRE-CWE/CAPEC_CWE.csv b/overlays/MITRE-CWE/CAPEC_CWE.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/CAPEC_CWE.csv rename to overlays/MITRE-CWE/CAPEC_CWE.csv diff --git a/RACK-Ontology/ontology/MITRE-CWE/CWE_EFFECTIVENESS.csv b/overlays/MITRE-CWE/CWE_EFFECTIVENESS.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/CWE_EFFECTIVENESS.csv rename to overlays/MITRE-CWE/CWE_EFFECTIVENESS.csv diff --git a/RACK-Ontology/ontology/MITRE-CWE/CWE_METHOD.csv b/overlays/MITRE-CWE/CWE_METHOD.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/CWE_METHOD.csv rename to overlays/MITRE-CWE/CWE_METHOD.csv diff --git a/RACK-Ontology/ontology/MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv b/overlays/MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv rename to overlays/MITRE-CWE/CWE_TOOL_EFFECTIVENESS.csv diff --git a/RACK-Ontology/ontology/MITRE-CWE/MITRE-CWE.sadl b/overlays/MITRE-CWE/MITRE-CWE.sadl similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/MITRE-CWE.sadl rename to overlays/MITRE-CWE/MITRE-CWE.sadl diff --git a/RACK-Ontology/ontology/MITRE-CWE/MITRE_CWE.csv b/overlays/MITRE-CWE/MITRE_CWE.csv similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/MITRE_CWE.csv rename to overlays/MITRE-CWE/MITRE_CWE.csv diff --git a/overlays/MITRE-CWE/OwlModels/model.yaml b/overlays/MITRE-CWE/OwlModels/model.yaml new file mode 100644 index 00000000..9f545b8a --- /dev/null +++ b/overlays/MITRE-CWE/OwlModels/model.yaml @@ -0,0 +1,2 @@ +files: +- MITRE-CWE.owl \ No newline at end of file diff --git a/RACK-Ontology/ontology/MITRE-CWE/import.yaml b/overlays/MITRE-CWE/data.yaml similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/import.yaml rename to overlays/MITRE-CWE/data.yaml diff --git a/RACK-Ontology/ontology/MITRE-CWE/gen-capec.py b/overlays/MITRE-CWE/gen-capec.py similarity index 100% rename from RACK-Ontology/ontology/MITRE-CWE/gen-capec.py rename to overlays/MITRE-CWE/gen-capec.py diff --git a/overlays/MITRE-CWE/manifest.yaml b/overlays/MITRE-CWE/manifest.yaml new file mode 100644 index 00000000..54ff723a --- /dev/null +++ b/overlays/MITRE-CWE/manifest.yaml @@ -0,0 +1,11 @@ +name: MITRE-CWE +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/mitre-cwe +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml +- data: data.yaml +- nodegroups: ../../nodegroups/arcos.cwe diff --git a/overlays/NIST-800-53/.project b/overlays/NIST-800-53/.project new file mode 100644 index 00000000..9cd1aae5 --- /dev/null +++ b/overlays/NIST-800-53/.project @@ -0,0 +1,12 @@ + + + NIST-800-53 + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/NIST-800-53/NIST-800-53_1.csv b/overlays/NIST-800-53/NIST-800-53_1.csv similarity index 100% rename from RACK-Ontology/ontology/NIST-800-53/NIST-800-53_1.csv rename to overlays/NIST-800-53/NIST-800-53_1.csv diff --git a/RACK-Ontology/ontology/NIST-800-53/NIST-800-53_2.csv b/overlays/NIST-800-53/NIST-800-53_2.csv similarity index 100% rename from RACK-Ontology/ontology/NIST-800-53/NIST-800-53_2.csv rename to overlays/NIST-800-53/NIST-800-53_2.csv diff --git a/RACK-Ontology/ontology/NIST-800-53/import.yaml b/overlays/NIST-800-53/data.yaml similarity index 100% rename from RACK-Ontology/ontology/NIST-800-53/import.yaml rename to overlays/NIST-800-53/data.yaml diff --git a/overlays/NIST-800-53/manifest.yaml b/overlays/NIST-800-53/manifest.yaml new file mode 100644 index 00000000..0021a15e --- /dev/null +++ b/overlays/NIST-800-53/manifest.yaml @@ -0,0 +1,9 @@ +name: NIST-800-53 +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/nist-800-53 +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml diff --git a/RTX-Ontology/.project b/overlays/RTX-Ontology/.project similarity index 100% rename from RTX-Ontology/.project rename to overlays/RTX-Ontology/.project diff --git a/RTX-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/RTX-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from RTX-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/RTX-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/RTX-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/RTX-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from RTX-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/RTX-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/RTX-Ontology/OwlModels/configuration.rdf b/overlays/RTX-Ontology/OwlModels/configuration.rdf similarity index 100% rename from RTX-Ontology/OwlModels/configuration.rdf rename to overlays/RTX-Ontology/OwlModels/configuration.rdf diff --git a/RTX-Ontology/OwlModels/import.yaml b/overlays/RTX-Ontology/OwlModels/model.yaml similarity index 100% rename from RTX-Ontology/OwlModels/import.yaml rename to overlays/RTX-Ontology/OwlModels/model.yaml diff --git a/overlays/RTX-Ontology/manifest.yaml b/overlays/RTX-Ontology/manifest.yaml new file mode 100644 index 00000000..3f6264e4 --- /dev/null +++ b/overlays/RTX-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: RTX-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/RTX-Ontology/ontology/RTX.sadl b/overlays/RTX-Ontology/ontology/RTX.sadl similarity index 100% rename from RTX-Ontology/ontology/RTX.sadl rename to overlays/RTX-Ontology/ontology/RTX.sadl diff --git a/SRI-Ontology/.project b/overlays/SRI-Ontology/.project similarity index 100% rename from SRI-Ontology/.project rename to overlays/SRI-Ontology/.project diff --git a/SRI-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/SRI-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from SRI-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/SRI-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/SRI-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/SRI-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from SRI-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/SRI-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/SRI-Ontology/OwlModels/configuration.rdf b/overlays/SRI-Ontology/OwlModels/configuration.rdf similarity index 100% rename from SRI-Ontology/OwlModels/configuration.rdf rename to overlays/SRI-Ontology/OwlModels/configuration.rdf diff --git a/SRI-Ontology/OwlModels/import.yaml b/overlays/SRI-Ontology/OwlModels/model.yaml similarity index 100% rename from SRI-Ontology/OwlModels/import.yaml rename to overlays/SRI-Ontology/OwlModels/model.yaml diff --git a/overlays/SRI-Ontology/manifest.yaml b/overlays/SRI-Ontology/manifest.yaml new file mode 100644 index 00000000..d4c0c1be --- /dev/null +++ b/overlays/SRI-Ontology/manifest.yaml @@ -0,0 +1,8 @@ +name: SRI-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../Boeing-Ontology/manifest.yaml +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/SRI-Ontology/ontology/SRI-SS.sadl b/overlays/SRI-Ontology/ontology/SRI-SS.sadl similarity index 100% rename from SRI-Ontology/ontology/SRI-SS.sadl rename to overlays/SRI-Ontology/ontology/SRI-SS.sadl diff --git a/SRI-Ontology/ontology/SRI.sadl b/overlays/SRI-Ontology/ontology/SRI.sadl similarity index 100% rename from SRI-Ontology/ontology/SRI.sadl rename to overlays/SRI-Ontology/ontology/SRI.sadl diff --git a/STR-Ontology/.project b/overlays/STR-Ontology/.project similarity index 100% rename from STR-Ontology/.project rename to overlays/STR-Ontology/.project diff --git a/STR-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl b/overlays/STR-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl similarity index 100% rename from STR-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl rename to overlays/STR-Ontology/ImplicitModel/SadlBuiltinFunctions.sadl diff --git a/STR-Ontology/ImplicitModel/SadlImplicitModel.sadl b/overlays/STR-Ontology/ImplicitModel/SadlImplicitModel.sadl similarity index 100% rename from STR-Ontology/ImplicitModel/SadlImplicitModel.sadl rename to overlays/STR-Ontology/ImplicitModel/SadlImplicitModel.sadl diff --git a/STR-Ontology/Mapping.md b/overlays/STR-Ontology/Mapping.md similarity index 100% rename from STR-Ontology/Mapping.md rename to overlays/STR-Ontology/Mapping.md diff --git a/STR-Ontology/OwlModels/configuration.rdf b/overlays/STR-Ontology/OwlModels/configuration.rdf similarity index 100% rename from STR-Ontology/OwlModels/configuration.rdf rename to overlays/STR-Ontology/OwlModels/configuration.rdf diff --git a/STR-Ontology/OwlModels/import.yaml b/overlays/STR-Ontology/OwlModels/model.yaml similarity index 100% rename from STR-Ontology/OwlModels/import.yaml rename to overlays/STR-Ontology/OwlModels/model.yaml diff --git a/overlays/STR-Ontology/manifest.yaml b/overlays/STR-Ontology/manifest.yaml new file mode 100644 index 00000000..26a5c895 --- /dev/null +++ b/overlays/STR-Ontology/manifest.yaml @@ -0,0 +1,7 @@ +name: STR-Ontology +footprint: + model-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- model: OwlModels/model.yaml diff --git a/STR-Ontology/ontology/STR.sadl b/overlays/STR-Ontology/ontology/STR.sadl similarity index 100% rename from STR-Ontology/ontology/STR.sadl rename to overlays/STR-Ontology/ontology/STR.sadl diff --git a/overlays/arcos/manifest.yaml b/overlays/arcos/manifest.yaml new file mode 100644 index 00000000..9e07dade --- /dev/null +++ b/overlays/arcos/manifest.yaml @@ -0,0 +1,20 @@ +name: 'ARCOS ontology' + +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/nist-800-53 + - http://rack001/mitre-cwe + +steps: + - manifest: ../../RACK-Ontology/manifest.yaml + - manifest: ../Boeing-Ontology/manifest.yaml + - manifest: ../GrammaTech-Ontology/manifest.yaml + - manifest: ../LM-Ontology/manifest.yaml + - manifest: ../SRI-Ontology/manifest.yaml + - manifest: ../STR-Ontology/manifest.yaml + - manifest: ../RTX-Ontology/manifest.yaml + - manifest: ../NIST-800-53/manifest.yaml + - manifest: ../MITRE-CWE/manifest.yaml + - manifest: ../claims/manifest.yaml diff --git a/overlays/claims/.project b/overlays/claims/.project new file mode 100644 index 00000000..558be978 --- /dev/null +++ b/overlays/claims/.project @@ -0,0 +1,12 @@ + + + claims + + + RACK-Ontology + + + + + + diff --git a/RACK-Ontology/ontology/claims/CONCERN_TYPES.csv b/overlays/claims/CONCERN_TYPES.csv similarity index 100% rename from RACK-Ontology/ontology/claims/CONCERN_TYPES.csv rename to overlays/claims/CONCERN_TYPES.csv diff --git a/RACK-Ontology/ontology/claims/PROPERTY_TYPES.csv b/overlays/claims/PROPERTY_TYPES.csv similarity index 100% rename from RACK-Ontology/ontology/claims/PROPERTY_TYPES.csv rename to overlays/claims/PROPERTY_TYPES.csv diff --git a/RACK-Ontology/ontology/claims/THEORIES.csv b/overlays/claims/THEORIES.csv similarity index 100% rename from RACK-Ontology/ontology/claims/THEORIES.csv rename to overlays/claims/THEORIES.csv diff --git a/RACK-Ontology/ontology/claims/import.yaml b/overlays/claims/data.yaml similarity index 100% rename from RACK-Ontology/ontology/claims/import.yaml rename to overlays/claims/data.yaml diff --git a/overlays/claims/manifest.yaml b/overlays/claims/manifest.yaml new file mode 100644 index 00000000..f176ccd5 --- /dev/null +++ b/overlays/claims/manifest.yaml @@ -0,0 +1,9 @@ +name: claims +footprint: + model-graphs: + - http://rack001/model + data-graphs: + - http://rack001/model +steps: +- manifest: ../../RACK-Ontology/manifest.yaml +- data: data.yaml From 1e3aca0fada6ed05a832080e7f7205a446d44c56 Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Mon, 17 Apr 2023 14:04:07 -0400 Subject: [PATCH 36/42] On RACK UI load page, add link to Turnstile ingestion package as a sample --- rack-ui/pages/load.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rack-ui/pages/load.py b/rack-ui/pages/load.py index 06e49ed3..8044accf 100644 --- a/rack-ui/pages/load.py +++ b/rack-ui/pages/load.py @@ -79,7 +79,7 @@ def get_warning_banner_str() -> str: # page elements layout = html.Div([ html.H2("Load data"), - dcc.Markdown("_Load data into RACK_"), + dcc.Markdown("_Load a data ingestion package ([sample here](https://github.com/ge-high-assurance/RACK/releases/latest/download/turnstile-ingestion-package.zip)) into RACK_"), html.Div(dcc.Markdown(get_warning_banner_str()), className="warningbanner"), dbc.Row([ dbc.Col(dcc.Upload(html.Button(id="select-button", children="Select ingestion package"), id='select-button-upload', accept=".zip", multiple=False), width="auto") # button to show upload dialog to pick ingestion package From 10408373de6487706ac52acdba3fc5ff301bb87b Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Wed, 19 Apr 2023 15:28:16 -0700 Subject: [PATCH 37/42] rearrange nodegroup folders under their respective projects (#966) --- RACK-Ontology/manifest.yaml | 2 +- .../nodegroups}/GetDataInsertedByFromGuid.json | 0 {nodegroups/queries => RACK-Ontology/nodegroups}/README.md | 0 .../nodegroups}/query Compilation Inputs.json | 0 .../nodegroups}/query Files of a Given Format.json | 0 .../nodegroups}/query Hazard structure.json | 0 .../nodegroups}/query Interface structure.json | 0 .../nodegroups}/query Models for Thing.json | 0 .../nodegroups}/query Requirement Review same Agent.json | 0 .../nodegroups}/query Requirements decomposition.json | 0 .../nodegroups}/query Requirements with Tests.json | 0 .../query Requirements with failed test result.json | 0 .../nodegroups}/query Requirements without Tests.json | 0 .../query Requirements without passed test v2.json | 0 .../nodegroups}/query Requirements without passed test.json | 0 .../nodegroups}/query System Structure.json | 0 .../nodegroups}/query Terms consumedBy Requirement.json | 0 .../nodegroups}/query Testcase without requirement.json | 0 .../nodegroups}/query Trace Hazards to Tests.json | 0 .../nodegroups}/query Trace Requirements to Tests.json | 0 .../query dataVer INTERFACE without destination SYSTEM.json | 0 .../query dataVer INTERFACE without source SYSTEM.json | 0 .../query dataVer SBVT_Result without confirms_SBVT_Test.json | 0 .../query dataVer SBVT_Test without REQUIREMENT.json | 0 ... SRS_Req dataInsertedBy other than SRS Data Ingestion.json | 0 .../query dataVer SRS_Req without CSID or PIDS.json | 0 .../query dataVer SRS_Req without description.json | 0 .../query dataVer SRS_Req without verifies SBVT_Test.json | 0 .../query dataVer SYSTEM without partOf SYSTEM.json | 0 .../query dataVer SubDD_Req without satisfies SRS_Req.json | 0 .../query dataVer only REQUIREMENT subclasses.json | 0 .../nodegroups}/query dataVer unlinked SWCOMPONENT.json | 0 .../nodegroups}/report data verification.json | 0 .../nodegroups}/setup-arcos-ApachePhase2.json | 0 .../queries => RACK-Ontology/nodegroups}/store_data.csv | 0 cli/README.md | 2 +- cli/save-nodegroups.sh | 3 +-- nodegroups/README.md | 4 ---- .../{queries => }/setAside/query nonuniqueIdentifiers.json | 0 nodegroups/{queries => }/setAside/query test empty thing.json | 0 nodegroups/{queries => }/setAside/store_data.csv | 0 overlays/MITRE-CWE/manifest.yaml | 2 +- .../MITRE-CWE/nodegroups}/CWE effectiveness association.json | 0 .../MITRE-CWE/nodegroups}/CWE effectivenesses.json | 0 .../MITRE-CWE/nodegroups}/CWE ingestion.json | 0 .../MITRE-CWE/nodegroups}/CWE methods.json | 0 .../MITRE-CWE/nodegroups}/store_data.csv | 0 47 files changed, 4 insertions(+), 9 deletions(-) rename {nodegroups/queries => RACK-Ontology/nodegroups}/GetDataInsertedByFromGuid.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/README.md (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Compilation Inputs.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Files of a Given Format.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Hazard structure.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Interface structure.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Models for Thing.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirement Review same Agent.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements decomposition.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements with Tests.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements with failed test result.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements without Tests.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements without passed test v2.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Requirements without passed test.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query System Structure.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Terms consumedBy Requirement.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Testcase without requirement.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Trace Hazards to Tests.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query Trace Requirements to Tests.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer INTERFACE without destination SYSTEM.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer INTERFACE without source SYSTEM.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SBVT_Result without confirms_SBVT_Test.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SBVT_Test without REQUIREMENT.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SRS_Req dataInsertedBy other than SRS Data Ingestion.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SRS_Req without CSID or PIDS.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SRS_Req without description.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SRS_Req without verifies SBVT_Test.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SYSTEM without partOf SYSTEM.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer SubDD_Req without satisfies SRS_Req.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer only REQUIREMENT subclasses.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/query dataVer unlinked SWCOMPONENT.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/report data verification.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/setup-arcos-ApachePhase2.json (100%) rename {nodegroups/queries => RACK-Ontology/nodegroups}/store_data.csv (100%) rename nodegroups/{queries => }/setAside/query nonuniqueIdentifiers.json (100%) rename nodegroups/{queries => }/setAside/query test empty thing.json (100%) rename nodegroups/{queries => }/setAside/store_data.csv (100%) rename {nodegroups/arcos.cwe => overlays/MITRE-CWE/nodegroups}/CWE effectiveness association.json (100%) rename {nodegroups/arcos.cwe => overlays/MITRE-CWE/nodegroups}/CWE effectivenesses.json (100%) rename {nodegroups/arcos.cwe => overlays/MITRE-CWE/nodegroups}/CWE ingestion.json (100%) rename {nodegroups/arcos.cwe => overlays/MITRE-CWE/nodegroups}/CWE methods.json (100%) rename {nodegroups/arcos.cwe => overlays/MITRE-CWE/nodegroups}/store_data.csv (100%) diff --git a/RACK-Ontology/manifest.yaml b/RACK-Ontology/manifest.yaml index 34e547cd..3d7ee987 100644 --- a/RACK-Ontology/manifest.yaml +++ b/RACK-Ontology/manifest.yaml @@ -4,4 +4,4 @@ footprint: - http://rack001/model steps: - model: OwlModels/model.yaml -- nodegroups: ../nodegroups/queries +- nodegroups: nodegroups diff --git a/nodegroups/queries/GetDataInsertedByFromGuid.json b/RACK-Ontology/nodegroups/GetDataInsertedByFromGuid.json similarity index 100% rename from nodegroups/queries/GetDataInsertedByFromGuid.json rename to RACK-Ontology/nodegroups/GetDataInsertedByFromGuid.json diff --git a/nodegroups/queries/README.md b/RACK-Ontology/nodegroups/README.md similarity index 100% rename from nodegroups/queries/README.md rename to RACK-Ontology/nodegroups/README.md diff --git a/nodegroups/queries/query Compilation Inputs.json b/RACK-Ontology/nodegroups/query Compilation Inputs.json similarity index 100% rename from nodegroups/queries/query Compilation Inputs.json rename to RACK-Ontology/nodegroups/query Compilation Inputs.json diff --git a/nodegroups/queries/query Files of a Given Format.json b/RACK-Ontology/nodegroups/query Files of a Given Format.json similarity index 100% rename from nodegroups/queries/query Files of a Given Format.json rename to RACK-Ontology/nodegroups/query Files of a Given Format.json diff --git a/nodegroups/queries/query Hazard structure.json b/RACK-Ontology/nodegroups/query Hazard structure.json similarity index 100% rename from nodegroups/queries/query Hazard structure.json rename to RACK-Ontology/nodegroups/query Hazard structure.json diff --git a/nodegroups/queries/query Interface structure.json b/RACK-Ontology/nodegroups/query Interface structure.json similarity index 100% rename from nodegroups/queries/query Interface structure.json rename to RACK-Ontology/nodegroups/query Interface structure.json diff --git a/nodegroups/queries/query Models for Thing.json b/RACK-Ontology/nodegroups/query Models for Thing.json similarity index 100% rename from nodegroups/queries/query Models for Thing.json rename to RACK-Ontology/nodegroups/query Models for Thing.json diff --git a/nodegroups/queries/query Requirement Review same Agent.json b/RACK-Ontology/nodegroups/query Requirement Review same Agent.json similarity index 100% rename from nodegroups/queries/query Requirement Review same Agent.json rename to RACK-Ontology/nodegroups/query Requirement Review same Agent.json diff --git a/nodegroups/queries/query Requirements decomposition.json b/RACK-Ontology/nodegroups/query Requirements decomposition.json similarity index 100% rename from nodegroups/queries/query Requirements decomposition.json rename to RACK-Ontology/nodegroups/query Requirements decomposition.json diff --git a/nodegroups/queries/query Requirements with Tests.json b/RACK-Ontology/nodegroups/query Requirements with Tests.json similarity index 100% rename from nodegroups/queries/query Requirements with Tests.json rename to RACK-Ontology/nodegroups/query Requirements with Tests.json diff --git a/nodegroups/queries/query Requirements with failed test result.json b/RACK-Ontology/nodegroups/query Requirements with failed test result.json similarity index 100% rename from nodegroups/queries/query Requirements with failed test result.json rename to RACK-Ontology/nodegroups/query Requirements with failed test result.json diff --git a/nodegroups/queries/query Requirements without Tests.json b/RACK-Ontology/nodegroups/query Requirements without Tests.json similarity index 100% rename from nodegroups/queries/query Requirements without Tests.json rename to RACK-Ontology/nodegroups/query Requirements without Tests.json diff --git a/nodegroups/queries/query Requirements without passed test v2.json b/RACK-Ontology/nodegroups/query Requirements without passed test v2.json similarity index 100% rename from nodegroups/queries/query Requirements without passed test v2.json rename to RACK-Ontology/nodegroups/query Requirements without passed test v2.json diff --git a/nodegroups/queries/query Requirements without passed test.json b/RACK-Ontology/nodegroups/query Requirements without passed test.json similarity index 100% rename from nodegroups/queries/query Requirements without passed test.json rename to RACK-Ontology/nodegroups/query Requirements without passed test.json diff --git a/nodegroups/queries/query System Structure.json b/RACK-Ontology/nodegroups/query System Structure.json similarity index 100% rename from nodegroups/queries/query System Structure.json rename to RACK-Ontology/nodegroups/query System Structure.json diff --git a/nodegroups/queries/query Terms consumedBy Requirement.json b/RACK-Ontology/nodegroups/query Terms consumedBy Requirement.json similarity index 100% rename from nodegroups/queries/query Terms consumedBy Requirement.json rename to RACK-Ontology/nodegroups/query Terms consumedBy Requirement.json diff --git a/nodegroups/queries/query Testcase without requirement.json b/RACK-Ontology/nodegroups/query Testcase without requirement.json similarity index 100% rename from nodegroups/queries/query Testcase without requirement.json rename to RACK-Ontology/nodegroups/query Testcase without requirement.json diff --git a/nodegroups/queries/query Trace Hazards to Tests.json b/RACK-Ontology/nodegroups/query Trace Hazards to Tests.json similarity index 100% rename from nodegroups/queries/query Trace Hazards to Tests.json rename to RACK-Ontology/nodegroups/query Trace Hazards to Tests.json diff --git a/nodegroups/queries/query Trace Requirements to Tests.json b/RACK-Ontology/nodegroups/query Trace Requirements to Tests.json similarity index 100% rename from nodegroups/queries/query Trace Requirements to Tests.json rename to RACK-Ontology/nodegroups/query Trace Requirements to Tests.json diff --git a/nodegroups/queries/query dataVer INTERFACE without destination SYSTEM.json b/RACK-Ontology/nodegroups/query dataVer INTERFACE without destination SYSTEM.json similarity index 100% rename from nodegroups/queries/query dataVer INTERFACE without destination SYSTEM.json rename to RACK-Ontology/nodegroups/query dataVer INTERFACE without destination SYSTEM.json diff --git a/nodegroups/queries/query dataVer INTERFACE without source SYSTEM.json b/RACK-Ontology/nodegroups/query dataVer INTERFACE without source SYSTEM.json similarity index 100% rename from nodegroups/queries/query dataVer INTERFACE without source SYSTEM.json rename to RACK-Ontology/nodegroups/query dataVer INTERFACE without source SYSTEM.json diff --git a/nodegroups/queries/query dataVer SBVT_Result without confirms_SBVT_Test.json b/RACK-Ontology/nodegroups/query dataVer SBVT_Result without confirms_SBVT_Test.json similarity index 100% rename from nodegroups/queries/query dataVer SBVT_Result without confirms_SBVT_Test.json rename to RACK-Ontology/nodegroups/query dataVer SBVT_Result without confirms_SBVT_Test.json diff --git a/nodegroups/queries/query dataVer SBVT_Test without REQUIREMENT.json b/RACK-Ontology/nodegroups/query dataVer SBVT_Test without REQUIREMENT.json similarity index 100% rename from nodegroups/queries/query dataVer SBVT_Test without REQUIREMENT.json rename to RACK-Ontology/nodegroups/query dataVer SBVT_Test without REQUIREMENT.json diff --git a/nodegroups/queries/query dataVer SRS_Req dataInsertedBy other than SRS Data Ingestion.json b/RACK-Ontology/nodegroups/query dataVer SRS_Req dataInsertedBy other than SRS Data Ingestion.json similarity index 100% rename from nodegroups/queries/query dataVer SRS_Req dataInsertedBy other than SRS Data Ingestion.json rename to RACK-Ontology/nodegroups/query dataVer SRS_Req dataInsertedBy other than SRS Data Ingestion.json diff --git a/nodegroups/queries/query dataVer SRS_Req without CSID or PIDS.json b/RACK-Ontology/nodegroups/query dataVer SRS_Req without CSID or PIDS.json similarity index 100% rename from nodegroups/queries/query dataVer SRS_Req without CSID or PIDS.json rename to RACK-Ontology/nodegroups/query dataVer SRS_Req without CSID or PIDS.json diff --git a/nodegroups/queries/query dataVer SRS_Req without description.json b/RACK-Ontology/nodegroups/query dataVer SRS_Req without description.json similarity index 100% rename from nodegroups/queries/query dataVer SRS_Req without description.json rename to RACK-Ontology/nodegroups/query dataVer SRS_Req without description.json diff --git a/nodegroups/queries/query dataVer SRS_Req without verifies SBVT_Test.json b/RACK-Ontology/nodegroups/query dataVer SRS_Req without verifies SBVT_Test.json similarity index 100% rename from nodegroups/queries/query dataVer SRS_Req without verifies SBVT_Test.json rename to RACK-Ontology/nodegroups/query dataVer SRS_Req without verifies SBVT_Test.json diff --git a/nodegroups/queries/query dataVer SYSTEM without partOf SYSTEM.json b/RACK-Ontology/nodegroups/query dataVer SYSTEM without partOf SYSTEM.json similarity index 100% rename from nodegroups/queries/query dataVer SYSTEM without partOf SYSTEM.json rename to RACK-Ontology/nodegroups/query dataVer SYSTEM without partOf SYSTEM.json diff --git a/nodegroups/queries/query dataVer SubDD_Req without satisfies SRS_Req.json b/RACK-Ontology/nodegroups/query dataVer SubDD_Req without satisfies SRS_Req.json similarity index 100% rename from nodegroups/queries/query dataVer SubDD_Req without satisfies SRS_Req.json rename to RACK-Ontology/nodegroups/query dataVer SubDD_Req without satisfies SRS_Req.json diff --git a/nodegroups/queries/query dataVer only REQUIREMENT subclasses.json b/RACK-Ontology/nodegroups/query dataVer only REQUIREMENT subclasses.json similarity index 100% rename from nodegroups/queries/query dataVer only REQUIREMENT subclasses.json rename to RACK-Ontology/nodegroups/query dataVer only REQUIREMENT subclasses.json diff --git a/nodegroups/queries/query dataVer unlinked SWCOMPONENT.json b/RACK-Ontology/nodegroups/query dataVer unlinked SWCOMPONENT.json similarity index 100% rename from nodegroups/queries/query dataVer unlinked SWCOMPONENT.json rename to RACK-Ontology/nodegroups/query dataVer unlinked SWCOMPONENT.json diff --git a/nodegroups/queries/report data verification.json b/RACK-Ontology/nodegroups/report data verification.json similarity index 100% rename from nodegroups/queries/report data verification.json rename to RACK-Ontology/nodegroups/report data verification.json diff --git a/nodegroups/queries/setup-arcos-ApachePhase2.json b/RACK-Ontology/nodegroups/setup-arcos-ApachePhase2.json similarity index 100% rename from nodegroups/queries/setup-arcos-ApachePhase2.json rename to RACK-Ontology/nodegroups/setup-arcos-ApachePhase2.json diff --git a/nodegroups/queries/store_data.csv b/RACK-Ontology/nodegroups/store_data.csv similarity index 100% rename from nodegroups/queries/store_data.csv rename to RACK-Ontology/nodegroups/store_data.csv diff --git a/cli/README.md b/cli/README.md index b7975ff9..f7e4c008 100644 --- a/cli/README.md +++ b/cli/README.md @@ -342,7 +342,7 @@ The script can automate loading a directory full of nodegroups indexed by a `store_data.csv` file. ```shell -(venv) $ rack nodegroups import ../nodegroups/ingestion/arcos.rack +(venv) $ rack nodegroups import ../RACK-Ontology/nodegroups Storing nodegroups... OK ``` diff --git a/cli/save-nodegroups.sh b/cli/save-nodegroups.sh index 97c33150..bcc013c2 100755 --- a/cli/save-nodegroups.sh +++ b/cli/save-nodegroups.sh @@ -11,5 +11,4 @@ then exit 1 fi -rack nodegroups export "^ingest" ../../nodegroups/ingestion -rack nodegroups export "^query " ../../nodegroups/queries +rack nodegroups export "^query " ../RACK-Ontology/nodegroups diff --git a/nodegroups/README.md b/nodegroups/README.md index 2b8c9ca8..ff09a532 100644 --- a/nodegroups/README.md +++ b/nodegroups/README.md @@ -7,10 +7,6 @@ and generate INSERT queries. ## Sub-folders -Each sub-folder has nodegroups for particular purposes or applications. - -- **queries** - Sample derived RACK queries - These sub-folders will be in RACK-in-a-Box images but not in the git repository because these sub-folders are automatically generated: diff --git a/nodegroups/queries/setAside/query nonuniqueIdentifiers.json b/nodegroups/setAside/query nonuniqueIdentifiers.json similarity index 100% rename from nodegroups/queries/setAside/query nonuniqueIdentifiers.json rename to nodegroups/setAside/query nonuniqueIdentifiers.json diff --git a/nodegroups/queries/setAside/query test empty thing.json b/nodegroups/setAside/query test empty thing.json similarity index 100% rename from nodegroups/queries/setAside/query test empty thing.json rename to nodegroups/setAside/query test empty thing.json diff --git a/nodegroups/queries/setAside/store_data.csv b/nodegroups/setAside/store_data.csv similarity index 100% rename from nodegroups/queries/setAside/store_data.csv rename to nodegroups/setAside/store_data.csv diff --git a/overlays/MITRE-CWE/manifest.yaml b/overlays/MITRE-CWE/manifest.yaml index 54ff723a..e8bc6657 100644 --- a/overlays/MITRE-CWE/manifest.yaml +++ b/overlays/MITRE-CWE/manifest.yaml @@ -7,5 +7,5 @@ footprint: steps: - manifest: ../../RACK-Ontology/manifest.yaml - model: OwlModels/model.yaml +- nodegroups: nodegroups - data: data.yaml -- nodegroups: ../../nodegroups/arcos.cwe diff --git a/nodegroups/arcos.cwe/CWE effectiveness association.json b/overlays/MITRE-CWE/nodegroups/CWE effectiveness association.json similarity index 100% rename from nodegroups/arcos.cwe/CWE effectiveness association.json rename to overlays/MITRE-CWE/nodegroups/CWE effectiveness association.json diff --git a/nodegroups/arcos.cwe/CWE effectivenesses.json b/overlays/MITRE-CWE/nodegroups/CWE effectivenesses.json similarity index 100% rename from nodegroups/arcos.cwe/CWE effectivenesses.json rename to overlays/MITRE-CWE/nodegroups/CWE effectivenesses.json diff --git a/nodegroups/arcos.cwe/CWE ingestion.json b/overlays/MITRE-CWE/nodegroups/CWE ingestion.json similarity index 100% rename from nodegroups/arcos.cwe/CWE ingestion.json rename to overlays/MITRE-CWE/nodegroups/CWE ingestion.json diff --git a/nodegroups/arcos.cwe/CWE methods.json b/overlays/MITRE-CWE/nodegroups/CWE methods.json similarity index 100% rename from nodegroups/arcos.cwe/CWE methods.json rename to overlays/MITRE-CWE/nodegroups/CWE methods.json diff --git a/nodegroups/arcos.cwe/store_data.csv b/overlays/MITRE-CWE/nodegroups/store_data.csv similarity index 100% rename from nodegroups/arcos.cwe/store_data.csv rename to overlays/MITRE-CWE/nodegroups/store_data.csv From 70a9bf281f8d96cdb93a3115445a7988f13609e5 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Wed, 19 Apr 2023 15:34:42 -0700 Subject: [PATCH 38/42] update wiki workflow for new nodegroup path --- .github/workflows/update-wiki.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-wiki.yml b/.github/workflows/update-wiki.yml index f369cc4a..79a3f438 100644 --- a/.github/workflows/update-wiki.yml +++ b/.github/workflows/update-wiki.yml @@ -5,7 +5,7 @@ on: push: branches: [ master ] paths: - - 'nodegroups/queries/store_data.csv' + - 'RACK-Ontology/nodegroups/store_data.csv' jobs: @@ -50,7 +50,7 @@ jobs: - name: Update query wiki page run: | - csvtomd RACK/nodegroups/queries/store_data.csv > temp.md + csvtomd RACK/RACK-Ontology/nodegroups/store_data.csv > temp.md cat RACK.wiki/_RACK-Predefined-Queries-header.md temp.md RACK.wiki/_RACK-Predefined-Queries-footer.md > RACK.wiki/RACK-Predefined-Queries.md cd RACK.wiki git config user.name github-actions From d89d7880d76ab32c720b777addac1cc591fa768f Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Fri, 21 Apr 2023 06:35:05 -0400 Subject: [PATCH 39/42] Make RACK UI use default config file which can be optionally overridden `rack-ui/config/config-default.yml` is in GIT and is the default config file `rack-ui/config/config-override.yml` is GIT-ignored. If the file is present, any individual setting in it overrides the default --- .gitignore | 2 +- rack-box/scripts/install.sh | 1 - rack-ui/config/config-default.yml | 5 +++++ rack-ui/config/config.sample.yml | 3 --- rack-ui/pages/helper.py | 16 ++++++++++++++++ rack-ui/pages/load.py | 4 +--- 6 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 rack-ui/config/config-default.yml delete mode 100644 rack-ui/config/config.sample.yml diff --git a/.gitignore b/.gitignore index 85cd9de5..d8bb3a9f 100644 --- a/.gitignore +++ b/.gitignore @@ -68,7 +68,7 @@ cli/.project /Turnstile-Example/Turnstile-IngestionPackage/CounterApplicationImplementation/*.o /Turnstile-Example/turnstile-ingestion-package.zip rack-ui/cache/ -rack-ui/config/config.yml +rack-ui/config/config-override.yml rack-ui/.project EntityResolution/.project EntityResolution/Resolutions/Summary.csv diff --git a/rack-box/scripts/install.sh b/rack-box/scripts/install.sh index b69f9d26..e6db765e 100644 --- a/rack-box/scripts/install.sh +++ b/rack-box/scripts/install.sh @@ -94,7 +94,6 @@ echo "rackui ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rackui mkdir /etc/rackui chown rackui.rackui /etc/rackui envsubst < rackui.service > /etc/systemd/system/rackui.service -cp config/config.sample.yml config/config.yml systemctl enable rackui # Initialize SemTK environment variables diff --git a/rack-ui/config/config-default.yml b/rack-ui/config/config-default.yml new file mode 100644 index 00000000..b607a16b --- /dev/null +++ b/rack-ui/config/config-default.yml @@ -0,0 +1,5 @@ +# RACK UI default configuration +# Note: if config/config-override.yml is present, each of its entries will override the corresponding entry below + +# text to display as warning banner on load page (if empty string, no banner will appear) +load-warning: '' \ No newline at end of file diff --git a/rack-ui/config/config.sample.yml b/rack-ui/config/config.sample.yml deleted file mode 100644 index a84ce78e..00000000 --- a/rack-ui/config/config.sample.yml +++ /dev/null @@ -1,3 +0,0 @@ -# text to display as warning banner on load page (if empty string, no banner will appear) -load-warning: '' -#load-warning: 'Caution! Do not upload sensitive data' \ No newline at end of file diff --git a/rack-ui/pages/helper.py b/rack-ui/pages/helper.py index 7e3d3281..72215a7a 100644 --- a/rack-ui/pages/helper.py +++ b/rack-ui/pages/helper.py @@ -1,6 +1,7 @@ """ Helper functions """ +import yaml import tempfile import traceback import dash @@ -13,6 +14,21 @@ # configuration SPARQLGRAPH_BASE_URL = "http://localhost:8080" +CONFIG_FILE_DEFAULT = "config/config-default.yml" +CONFIG_FILE_OVERRIDE = "config/config-override.yml" + +def get_config(key) -> str: + """ Load default config, override it with custom config if present """ + # TODO read config once, store for subsequent use + with open(CONFIG_FILE_DEFAULT) as f: + config_obj = yaml.safe_load(f) + try: + with open(CONFIG_FILE_OVERRIDE) as f: + config_custom = yaml.safe_load(f) + config_obj.update(config_custom) # override + except FileNotFoundError: + pass + return config_obj.get(key) def get_temp_dir() -> str: """ Get a temp dir """ diff --git a/rack-ui/pages/load.py b/rack-ui/pages/load.py index 8044accf..3fd777d6 100644 --- a/rack-ui/pages/load.py +++ b/rack-ui/pages/load.py @@ -1,6 +1,5 @@ """ Content for the "load data" page """ -import yaml import time import io import base64 @@ -21,8 +20,7 @@ # get text for warning banner def get_warning_banner_str() -> str: - config_obj = yaml.safe_load(open("config/config.yml")) - return config_obj.get('load-warning') + return get_config('load-warning') # display strings CLEAR_BEFORE_LOADING_STR = "Clear before loading" From be944262b7b922193d83ae8e40f682c64ca01aa4 Mon Sep 17 00:00:00 2001 From: Siu <200005944@ge.com> Date: Mon, 24 Apr 2023 12:13:24 -0400 Subject: [PATCH 40/42] add query nodegroups for claims & properties --- ...laim_Property_PropertyResult_Activity.json | 244 ++++++++++++ ..._Claim_Property_PropertyResult_Review.json | 342 ++++++++++++++++ .../query_Claim_declares_addresses.json | 372 ++++++++++++++++++ .../query_Claim_declares_scopeOf.json | 192 +++++++++ RACK-Ontology/nodegroups/store_data.csv | 4 + 5 files changed, 1154 insertions(+) create mode 100644 RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Activity.json create mode 100644 RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Review.json create mode 100644 RACK-Ontology/nodegroups/query_Claim_declares_addresses.json create mode 100644 RACK-Ontology/nodegroups/query_Claim_declares_scopeOf.json diff --git a/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Activity.json b/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Activity.json new file mode 100644 index 00000000..cfaf1fc3 --- /dev/null +++ b/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Activity.json @@ -0,0 +1,244 @@ +{ + "version": 3, + "sparqlConn": { + "name": "RACK local fuseki Apache Phase 2", + "domain": "", + "enableOwlImports": false, + "model": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/model" + } + ], + "data": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/data" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/mitre-cwe" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/nist-800-53" + } + ] + }, + "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#identifier", + "Constraints": "", + "SparqlID": "?declares_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/PROCESS#PROPERTY", + "SparqlID": "?PROPERTY", + "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#identifier", + "Constraints": "", + "SparqlID": "?CLAIM_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": true, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "declares", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#declares" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#CLAIM", + "SparqlID": "?CLAIM", + "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#identifier", + "Constraints": "", + "SparqlID": "?wasGeneratedBy_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/PROV-S#ACTIVITY", + "SparqlID": "?ACTIVITY", + "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#identifier", + "Constraints": "", + "SparqlID": "?identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "demonstrates", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#demonstrates" + }, + { + "SnodeSparqlIDs": [ + "?ACTIVITY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ACTIVITY" + ], + "ConnectBy": "wasGeneratedBy", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROV-S#wasGeneratedBy" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#PROPERTY_RESULT", + "SparqlID": "?PROPERTY_RESULT", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + } + ], + "orderBy": [], + "groupBy": [], + "unionHash": {}, + "columnOrder": [] + }, + "importSpec": { + "version": "1", + "baseURI": "", + "columns": [], + "dataValidator": [], + "texts": [], + "transforms": [], + "nodes": [ + { + "sparqlID": "?PROPERTY_RESULT", + "type": "http://arcos.rack/CLAIM#PROPERTY_RESULT", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?ACTIVITY", + "type": "http://arcos.rack/PROV-S#ACTIVITY", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?CLAIM", + "type": "http://arcos.rack/CLAIM#CLAIM", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?PROPERTY", + "type": "http://arcos.rack/PROCESS#PROPERTY", + "mapping": [], + "props": [] + } + ] + }, + "plotSpecs": [] +} \ No newline at end of file diff --git a/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Review.json b/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Review.json new file mode 100644 index 00000000..005a188f --- /dev/null +++ b/RACK-Ontology/nodegroups/query_Claim_Property_PropertyResult_Review.json @@ -0,0 +1,342 @@ +{ + "version": 3, + "sparqlConn": { + "name": "RACK local fuseki Apache Phase 2", + "domain": "", + "enableOwlImports": false, + "model": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/model" + } + ], + "data": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/data" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/mitre-cwe" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/nist-800-53" + } + ] + }, + "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#identifier", + "Constraints": "", + "SparqlID": "?REVIEW_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/REVIEW#REVIEW", + "SparqlID": "?REVIEW", + "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#identifier", + "Constraints": "", + "SparqlID": "?REVIEW_STATE_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/REVIEW#REVIEW_STATE", + "SparqlID": "?REVIEW_STATE", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + }, + { + "propList": [], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?REVIEW_STATE" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/REVIEW#REVIEW_STATE" + ], + "ConnectBy": "reviewResult", + "Connected": true, + "UriConnectBy": "http://arcos.rack/REVIEW#reviewResult" + }, + { + "SnodeSparqlIDs": [ + "?REVIEW" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/REVIEW#REVIEW" + ], + "ConnectBy": "wasGeneratedBy", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROV-S#wasGeneratedBy" + } + ], + "fullURIName": "http://arcos.rack/REVIEW#REVIEW_LOG", + "SparqlID": "?REVIEW_LOG", + "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#identifier", + "Constraints": "", + "SparqlID": "?declares_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/PROCESS#PROPERTY", + "SparqlID": "?PROPERTY", + "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#identifier", + "Constraints": "", + "SparqlID": "?identifier", + "isReturned": false, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false, + "binding": "?PROPERTY_RESULT_identifier", + "isBindingReturned": true + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "demonstrates", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#demonstrates" + }, + { + "SnodeSparqlIDs": [ + "?REVIEW" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ACTIVITY" + ], + "ConnectBy": "wasGeneratedBy", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROV-S#wasGeneratedBy" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#PROPERTY_RESULT", + "SparqlID": "?PROPERTY_RESULT", + "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#identifier", + "Constraints": "", + "SparqlID": "?CLAIM_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": true, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "declares", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#declares" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#CLAIM", + "SparqlID": "?CLAIM", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + } + ], + "orderBy": [], + "groupBy": [], + "unionHash": {}, + "columnOrder": [ + "?CLAIM_identifier", + "?declares_identifier", + "?PROPERTY_RESULT_identifier", + "?REVIEW_identifier", + "?REVIEW_STATE_identifier" + ] + }, + "importSpec": { + "version": "1", + "baseURI": "", + "columns": [], + "dataValidator": [], + "texts": [], + "transforms": [], + "nodes": [ + { + "sparqlID": "?CLAIM", + "type": "http://arcos.rack/CLAIM#CLAIM", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?PROPERTY_RESULT", + "type": "http://arcos.rack/CLAIM#PROPERTY_RESULT", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?PROPERTY", + "type": "http://arcos.rack/PROCESS#PROPERTY", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?REVIEW_LOG", + "type": "http://arcos.rack/REVIEW#REVIEW_LOG", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?REVIEW_STATE", + "type": "http://arcos.rack/REVIEW#REVIEW_STATE", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?REVIEW", + "type": "http://arcos.rack/REVIEW#REVIEW", + "mapping": [], + "props": [] + } + ] + }, + "plotSpecs": [] +} \ No newline at end of file diff --git a/RACK-Ontology/nodegroups/query_Claim_declares_addresses.json b/RACK-Ontology/nodegroups/query_Claim_declares_addresses.json new file mode 100644 index 00000000..53f94c8f --- /dev/null +++ b/RACK-Ontology/nodegroups/query_Claim_declares_addresses.json @@ -0,0 +1,372 @@ +{ + "version": 3, + "sparqlConn": { + "name": "RACK local fuseki Apache Phase 2", + "domain": "", + "enableOwlImports": false, + "model": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/model" + } + ], + "data": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/data" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/mitre-cwe" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/nist-800-53" + } + ] + }, + "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#identifier", + "Constraints": "", + "SparqlID": "?scopeOf_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/SECURITY#CONTROL", + "SparqlID": "?CONTROL", + "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#identifier", + "Constraints": "", + "SparqlID": "?outcome_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/CLAIM#TEST_EXECUTION_OUTCOME", + "SparqlID": "?TEST_EXECUTION_OUTCOME", + "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#identifier", + "Constraints": "", + "SparqlID": "?declares_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?CONTROL" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ENTITY" + ], + "ConnectBy": "scopeOf", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROCESS#scopeOf" + } + ], + "fullURIName": "http://arcos.rack/PROCESS#PROPERTY", + "SparqlID": "?PROPERTY", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + }, + { + "propList": [], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "demonstrates", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#demonstrates" + }, + { + "SnodeSparqlIDs": [ + "?TEST_EXECUTION_OUTCOME" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/CLAIM#TEST_EXECUTION_OUTCOME" + ], + "ConnectBy": "testExecutionOutcome", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#testExecutionOutcome" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#TEST_EXECUTION_PROPERTY_RESULT", + "SparqlID": "?TEST_EXECUTION_PROPERTY_RESULT", + "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#identifier", + "Constraints": "", + "SparqlID": "?addresses_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/PROV-S#ENTITY", + "SparqlID": "?ENTITY", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + }, + { + "propList": [], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?ENTITY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ENTITY" + ], + "ConnectBy": "content", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROV-S#content" + } + ], + "fullURIName": "http://arcos.rack/PROV-S#COLLECTION", + "SparqlID": "?COLLECTION", + "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#identifier", + "Constraints": "", + "SparqlID": "?CLAIM_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?COLLECTION" + ], + "OptionalMinus": [ + 1 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ENTITY" + ], + "ConnectBy": "addresses", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#addresses" + }, + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "declares", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#declares" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#CLAIM", + "SparqlID": "?CLAIM", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + } + ], + "orderBy": [], + "groupBy": [], + "unionHash": {}, + "columnOrder": [] + }, + "importSpec": { + "version": "1", + "baseURI": "", + "columns": [], + "dataValidator": [], + "texts": [], + "transforms": [], + "nodes": [ + { + "sparqlID": "?CLAIM", + "type": "http://arcos.rack/CLAIM#CLAIM", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?COLLECTION", + "type": "http://arcos.rack/PROV-S#COLLECTION", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?ENTITY", + "type": "http://arcos.rack/PROV-S#ENTITY", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?TEST_EXECUTION_PROPERTY_RESULT", + "type": "http://arcos.rack/CLAIM#TEST_EXECUTION_PROPERTY_RESULT", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?PROPERTY", + "type": "http://arcos.rack/PROCESS#PROPERTY", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?TEST_EXECUTION_OUTCOME", + "type": "http://arcos.rack/CLAIM#TEST_EXECUTION_OUTCOME", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?CONTROL", + "type": "http://arcos.rack/SECURITY#CONTROL", + "mapping": [], + "props": [] + } + ] + }, + "plotSpecs": [] +} \ No newline at end of file diff --git a/RACK-Ontology/nodegroups/query_Claim_declares_scopeOf.json b/RACK-Ontology/nodegroups/query_Claim_declares_scopeOf.json new file mode 100644 index 00000000..e1143534 --- /dev/null +++ b/RACK-Ontology/nodegroups/query_Claim_declares_scopeOf.json @@ -0,0 +1,192 @@ +{ + "version": 3, + "sparqlConn": { + "name": "RACK local fuseki Apache Phase 2", + "domain": "", + "enableOwlImports": false, + "model": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/model" + } + ], + "data": [ + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/data" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/mitre-cwe" + }, + { + "type": "fuseki", + "url": "http://localhost:3030/RACK", + "graph": "http://rack001/nist-800-53" + } + ] + }, + "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#identifier", + "Constraints": "", + "SparqlID": "?scopeOf_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [], + "fullURIName": "http://arcos.rack/SECURITY#CONTROL", + "SparqlID": "?CONTROL", + "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#identifier", + "Constraints": "", + "SparqlID": "?declares_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?CONTROL" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROV-S#ENTITY" + ], + "ConnectBy": "scopeOf", + "Connected": true, + "UriConnectBy": "http://arcos.rack/PROCESS#scopeOf" + } + ], + "fullURIName": "http://arcos.rack/PROCESS#PROPERTY", + "SparqlID": "?PROPERTY", + "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#identifier", + "Constraints": "", + "SparqlID": "?CLAIM_identifier", + "isReturned": true, + "optMinus": 0, + "isRuntimeConstrained": false, + "instanceValues": [], + "isMarkedForDeletion": false + } + ], + "nodeList": [ + { + "SnodeSparqlIDs": [ + "?PROPERTY" + ], + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "DeletionMarkers": [ + false + ], + "range": [ + "http://arcos.rack/PROCESS#PROPERTY" + ], + "ConnectBy": "declares", + "Connected": true, + "UriConnectBy": "http://arcos.rack/CLAIM#declares" + } + ], + "fullURIName": "http://arcos.rack/CLAIM#CLAIM", + "SparqlID": "?CLAIM", + "isReturned": false, + "isRuntimeConstrained": false, + "valueConstraint": "", + "instanceValue": null, + "deletionMode": "NO_DELETE" + } + ], + "orderBy": [], + "groupBy": [], + "unionHash": {}, + "columnOrder": [] + }, + "importSpec": { + "version": "1", + "baseURI": "", + "columns": [], + "dataValidator": [], + "texts": [], + "transforms": [], + "nodes": [ + { + "sparqlID": "?CLAIM", + "type": "http://arcos.rack/CLAIM#CLAIM", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?PROPERTY", + "type": "http://arcos.rack/PROCESS#PROPERTY", + "mapping": [], + "props": [] + }, + { + "sparqlID": "?CONTROL", + "type": "http://arcos.rack/SECURITY#CONTROL", + "mapping": [], + "props": [] + } + ] + }, + "plotSpecs": [] +} \ No newline at end of file diff --git a/RACK-Ontology/nodegroups/store_data.csv b/RACK-Ontology/nodegroups/store_data.csv index b5f83b44..6118076c 100644 --- a/RACK-Ontology/nodegroups/store_data.csv +++ b/RACK-Ontology/nodegroups/store_data.csv @@ -31,3 +31,7 @@ query dataVer unlinked SWCOMPONENT,Find SWCOMPONENT w/o -wasImpactedBy-> REQUIRE report data verification,Run the dataVer nodegroups,rack,report data verification.json,Report setup ARCOS Apache Phase 2,doesn't return anything; used to setup the connections with Apache datagraphs,rack,setup-arcos-ApachePhase2.json,PrefabNodeGroup query Requirement Review same Agent,Demonstration of a nodegroup that isn't a tree structure,rack,query Requirement Review same Agent.json,PrefabNodeGroup +query Claim declares Property,Query for Claim that declares a Property demonstrated by a Test Execution,rack,query_Claim_declares_addresses.json,PrefabNodeGroup +query Claim declares Property with scopeOf Control,Query for Claim that declares a Property with the scopeOf a Control,rack,query_Claim_declares_scopeOf.json,PrefabNodeGroup +query Claim Property PropertyResult Activity,Query for Claim that declares a Property demonstrated by a Property Result generated by an Activity,rack,query_Claim_Property_PropertyResult_Activity.json,PrefabNodeGroup +query Claim Property PropertyResult Review,Query for Claim that declares a Property demonstrated by a Property Result generated by a Review w/Results,rack,query_Claim_Property_PropertyResult_Review.json,PrefabNodeGroup From 45906744f7acfd2f69532ecf0eb8945ac6c20a41 Mon Sep 17 00:00:00 2001 From: Jenny Williams Date: Tue, 25 Apr 2023 11:55:24 -0400 Subject: [PATCH 41/42] Update SemTK version to v2.5.0-20230425 --- .github/workflows/assemble-files.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/assemble-files.yml b/.github/workflows/assemble-files.yml index b8697a5d..cad11a84 100644 --- a/.github/workflows/assemble-files.yml +++ b/.github/workflows/assemble-files.yml @@ -61,7 +61,7 @@ jobs: - name: Download SemTK shell: bash run: | - curl -LSfs https://github.com/ge-semtk/semtk/releases/download/v2.5.0-20230405/semtk-opensource-v2.5.0-20230405-dist.tar.gz -o RACK/rack-box/files/semtk.tar.gz + curl -LSfs https://github.com/ge-semtk/semtk/releases/download/v2.5.0-20230425/semtk-opensource-v2.5.0-20230425-dist.tar.gz -o RACK/rack-box/files/semtk.tar.gz - name: Download CSS stylesheet shell: bash From 781b74c795ce049cff6d2e4456dfd65a823e829d Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Mon, 1 May 2023 13:25:07 -0700 Subject: [PATCH 42/42] Update Orienteering.md Remove in-progress information. --- RACK-Ontology/Orienteering.md | 48 ----------------------------------- 1 file changed, 48 deletions(-) diff --git a/RACK-Ontology/Orienteering.md b/RACK-Ontology/Orienteering.md index 2e0611b4..78d6feee 100644 --- a/RACK-Ontology/Orienteering.md +++ b/RACK-Ontology/Orienteering.md @@ -523,51 +523,3 @@ minimum scenario is that there is a `TEST_RECORD` that fully matches the `TEST_SCENARIO` and contains a `TEST_RESULT` that confirms every `TEST`; the additional information captured in the above multi-stage scenario is enhanced information that is not always available. - - ----- temporary below -------------------------------------------------- - -Changes: - -1. Currently, TEST_STEP is a collection of TESTs that also has a nextStep to a - single TEST_STEP. It seems confusing for a single STEP to have several TESTS, - and this does not provide any information about the relationship of the TESTS - in the TEST_STEP. [Or it implies that unrelated tests are a layer below - sequenced tests, which is the inverse of TC6.1]. - - a. Proposed change: TEST_STEP is an ENTITY with thisStep and 0 or more values - of nextStep, which have a range of type TEST. - - -2. Nothing points to the executable and version tested - - a: Proposed change: add TEST_SCENARIO - -3. How to retire tests, or update tests? [TC7.2] - - Also, should there be a TEST_EXECUTABLE which is a FILE.FILE, but which also - has a "testFileProcedure" to link to the TEST_PROCEDURE for the files it - contains? That might be a duplicate/conflict with - TEST_RECORD.testRecordProcedure though. - -4. Modify `TEST_RECORD`, which currently parallels `TEST_STEP` but doesn't add - any new information. The original idea was that the output side paralleled - the input side, but it's not clear that the parallel to the `TEST_STEP` can be - extracted reliably from the test output. There's also a concern about if - `TEST_RECORD.nextRecord` conflicts with `TEST_STEP.nextStep` what that would - mean. - - Taking a step back from this approach, it seems that ultimately the - `TEST_RESULTS` should match up to the `TESTS` in 1:1 fashion, and if there's - too many of either, that is a reasonable indication of a mismatch for TA3 - analysis. Other than that, there doesn't seem to be any useful information - imparted by trying to have the `TEST_RECORD` as a parallel to `TEST_STEP` (it - doesn't fulfill any of the considerations discussed above). - - Instead, *`TEST_RECORD` can be used to track the run of a subset of tests - (where the `TEST_RECORD` corresponds to a `.out` file captured from a - `TEST_EXECUTION`)*. - -5. Add fields to TEST_EXECUTION - -6. Adds TEST_ANNOTATION