diff --git a/GrammaTech-Ontology/OwlModels/GrammaTech.owl b/GrammaTech-Ontology/OwlModels/GrammaTech.owl index dfd225d9..6673c6bb 100644 --- a/GrammaTech-Ontology/OwlModels/GrammaTech.owl +++ b/GrammaTech-Ontology/OwlModels/GrammaTech.owl @@ -10,21 +10,19 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:base="http://arcos.acert/GrammaTech"> - + + + - - - - This ontology was created from a SADL file 'GrammaTech.sadl' and should not be directly edited. + + + - - - @@ -47,11 +45,24 @@ High-level reasons for ACERT test result failure + + + reason for failure, e.g.: timeout, crash, bad output + + specifies what should hold by this requirement if the requirement conditions are met + + + + + optional part that can be used to set certain conditions apart from other conditions in the ifText part + + + Additional detail describing the failure reason @@ -60,12 +71,17 @@ confidence that this was the given-portion of the text - + confidence that this was requirement text - + + + + conditions under which this requirement holds + + maximum bytes of resident memory used by test execution @@ -80,11 +96,11 @@ confidence that this was the then-portion of the text - + confidence that this was the if-portion of the text - + diff --git a/GrammaTech-Ontology/ontology/GrammaTech.sadl b/GrammaTech-Ontology/ontology/GrammaTech.sadl index ad304ce2..0a4c9a9f 100644 --- a/GrammaTech-Ontology/ontology/GrammaTech.sadl +++ b/GrammaTech-Ontology/ontology/GrammaTech.sadl @@ -4,17 +4,28 @@ import "http://arcos.rack/TESTING". import "http://arcos.rack/DOCUMENT". import "http://arcos.rack/SOFTWARE". import "http://arcos.rack/REQUIREMENTS". +import "http://arcos.rack/MODEL". /* ACERT requirements have confidence parameters on text extraction */ -AcertRequirement is a type of REQUIREMENT. +AcertRequirementModel is a type of MODEL. + textConfidence (note "confidence that this was requirement text") - describes AcertRequirement with values of type double. + describes AcertRequirementModel with values of type double. + + ifText (note "conditions under which this requirement holds") + describes AcertRequirementModel with values of type string. ifTextConfidence (note "confidence that this was the if-portion of the text") - describes AcertRequirement with values of type double. + describes AcertRequirementModel with values of type double. + + thenText (note "specifies what should hold by this requirement if the requirement conditions are met") + describes AcertRequirementModel with values of type string. thenTextConfidence (note "confidence that this was the then-portion of the text") - describes AcertRequirement with values of type double. + describes AcertRequirementModel with values of type double. + + givenText (note "optional part that can be used to set certain conditions apart from other conditions in the ifText part") + describes AcertRequirementModel with values of type string. givenTextConfidence (note "confidence that this was the given-portion of the text") - describes AcertRequirement with values of type double. + describes AcertRequirementModel with values of type double. AcertTestResult is a type of TEST_RESULT. failureReason (note "reason for failure, e.g.: timeout, crash, bad output") diff --git a/RACK-Ontology/OwlModels/MODEL.owl b/RACK-Ontology/OwlModels/MODEL.owl new file mode 100644 index 00000000..35afc6d5 --- /dev/null +++ b/RACK-Ontology/OwlModels/MODEL.owl @@ -0,0 +1,37 @@ + + + + + + + This ontology was created from a SADL file 'MODEL.sadl' and should not be directly edited. + + + + + 1 + + + + + + A physical, mathematical, or otherwise logical representation of a system, entity, phenomenon, or process + + + + The thing being modeled + + + + diff --git a/RACK-Ontology/OwlModels/REQUIREMENTS.owl b/RACK-Ontology/OwlModels/REQUIREMENTS.owl index c29a9ada..4da8bbf3 100644 --- a/RACK-Ontology/OwlModels/REQUIREMENTS.owl +++ b/RACK-Ontology/OwlModels/REQUIREMENTS.owl @@ -28,18 +28,18 @@ Defines some conceptual data that may be collected somewhere and used somewhere else - - - ENTITY(s) (e.g. HAZARD) that is being mitigated by this REQUIREMENT - - - ENTITY(s) (e.g. REQUIREMENT) that consumes this information + + + ENTITY(s) (e.g. HAZARD) that is being mitigated by this REQUIREMENT + + + AGENT(s) responsible for producing a REQUIREMENT @@ -90,19 +90,4 @@ - - specifies what should hold by this requirement if the requirement conditions are met - - - - - conditions under which this requirement holds - - - - - optional part that can be used to set certain conditions apart from other conditions in the ifText part - - - diff --git a/RACK-Ontology/OwlModels/import.yaml b/RACK-Ontology/OwlModels/import.yaml index 2b78a11a..982faaca 100644 --- a/RACK-Ontology/OwlModels/import.yaml +++ b/RACK-Ontology/OwlModels/import.yaml @@ -9,6 +9,7 @@ files: - DOCUMENT.owl - FILE.owl - HAZARD.owl +- MODEL.owl - PROCESS.owl - PROV-S.owl - REQUIREMENTS.owl diff --git a/RACK-Ontology/ontology/MODEL.sadl b/RACK-Ontology/ontology/MODEL.sadl new file mode 100644 index 00000000..e349329f --- /dev/null +++ b/RACK-Ontology/ontology/MODEL.sadl @@ -0,0 +1,25 @@ +/* Copyright (c) 2021, General Electric Company, Galois, Inc. + * + * All Rights Reserved + * + * This material is based upon work supported by the Defense Advanced Research + * Projects Agency (DARPA) under Contract No. FA8750-20-C-0203. + * + * Any opinions, findings and conclusions or recommendations expressed in this + * material are those of the author(s) and do not necessarily reflect the views + * of the Defense Advanced Research Projects Agency (DARPA). + */ + +/************** edit history ***************** + * + * em - 12 Feb 2021 - Initial revision + * + *********************************************/ + + +uri "http://arcos.rack/MODEL" alias M. +import "http://arcos.rack/PROV-S". + +MODEL (note "A physical, mathematical, or otherwise logical representation of a system, entity, phenomenon, or process") + is a type of ENTITY. + models (note "The thing being modeled") describes MODEL with a single value of type THING. diff --git a/RACK-Ontology/ontology/REQUIREMENTS.sadl b/RACK-Ontology/ontology/REQUIREMENTS.sadl index 5ed79722..590e6054 100644 --- a/RACK-Ontology/ontology/REQUIREMENTS.sadl +++ b/RACK-Ontology/ontology/REQUIREMENTS.sadl @@ -21,22 +21,12 @@ uri "http://arcos.rack/REQUIREMENTS" alias Rq. import "http://arcos.rack/HAZARD". +// The natural language text of a requirement can be captured in the +// *description* property common to all RACK data. REQUIREMENT (note "Captures (both high- and low-level) properties of a process or artifact that are to be assessed") is a type of ENTITY. - // The "text" string can optionally be subdivided into sub-parts : givenText, ifText, thenText - // This corresponds to how rules are defined in SADL and note that in a SADL rule whatever is in - // givenText can simply be included in the ifText part. - // Note that modulo naming changes this structure also matches the structure - // that GrammaTech had which was : Given, When, Then parts. - // The structure of requirements in ASSERT subsume this structure of requirements. - givenText (note "optional part that can be used to set certain conditions apart from other conditions in the ifText part") describes REQUIREMENT with values of type string. - - ifText (note "conditions under which this requirement holds") describes REQUIREMENT with values of type string. - - thenText (note "specifies what should hold by this requirement if the requirement conditions are met") describes REQUIREMENT with values of type string. - governs (note "ENTITY(s) that are the subject of the requirement") describes REQUIREMENT with values of type ENTITY. governs is a type of wasImpactedBy. diff --git a/STR-Ontology/OwlModels/STR.owl b/STR-Ontology/OwlModels/STR.owl index 88f53b8a..3e04161c 100644 --- a/STR-Ontology/OwlModels/STR.owl +++ b/STR-Ontology/OwlModels/STR.owl @@ -9,6 +9,7 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:base="http://arcos.arbiter/STR"> + @@ -41,6 +42,10 @@ The communication interface of a concrete software component. + + A requirement statement written in the Easy Approach to Requirements Syntax language. + + A concrete software component with an explicitly identified input/output interface @@ -70,6 +75,11 @@ + + Text of statement written in the EARS requirements language. + + + The type of information communicated over this port diff --git a/STR-Ontology/ontology/STR.sadl b/STR-Ontology/ontology/STR.sadl index 82e656e8..d48be81c 100644 --- a/STR-Ontology/ontology/STR.sadl +++ b/STR-Ontology/ontology/STR.sadl @@ -2,6 +2,7 @@ uri "http://arcos.arbiter/STR" alias Arbiter. import "http://arcos.rack/SYSTEM". import "http://arcos.rack/SOFTWARE". +import "http://arcos.rack/MODEL". StrSystem (note "A component of the logical system with a concept of sequencing dependency") is a type of SYSTEM. @@ -32,3 +33,9 @@ StrComponent (note "A concrete software component with an explicitly identified describes StrComponent with values of type StrOutPort. recvsVia (note "Links a component to its incoming interface") describes StrComponent with values of type StrInPort. + +StrEarsModel (note "A requirement statement written in the Easy Approach to Requirements Syntax language.") + is a type of MODEL. + + earsStatement (note "Text of statement written in the EARS requirements language.") + describes StrEarsModel with values of type string. diff --git a/nodegroups/queries/query Models for Thing.json b/nodegroups/queries/query Models for Thing.json new file mode 100644 index 00000000..9b482eba --- /dev/null +++ b/nodegroups/queries/query Models for Thing.json @@ -0,0 +1,141 @@ +{ + "importSpec": { + "baseURI": "", + "columns": [], + "dataValidator": [], + "nodes": [ + { + "mapping": [], + "props": [], + "sparqlID": "?MODEL", + "type": "http://arcos.rack/MODEL#MODEL" + }, + { + "mapping": [], + "props": [], + "sparqlID": "?THING", + "type": "http://arcos.rack/PROV-S#THING" + } + ], + "texts": [], + "transforms": [], + "version": "1" + }, + "sNodeGroup": { + "limit": 0, + "offset": 0, + "orderBy": [], + "sNodeList": [ + { + "NodeName": "THING", + "SparqlID": "?THING", + "deletionMode": "NO_DELETE", + "fullURIName": "http://arcos.rack/PROV-S#THING", + "instanceValue": null, + "isReturned": false, + "isRuntimeConstrained": false, + "nodeList": [], + "propList": [ + { + "Constraints": "", + "KeyName": "identifier", + "SparqlID": "?thing_id", + "UriRelationship": "http://arcos.rack/PROV-S#identifier", + "ValueType": "string", + "fullURIName": "", + "instanceValues": [], + "isMarkedForDeletion": false, + "isReturned": false, + "isRuntimeConstrained": true, + "optMinus": 0, + "relationship": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "valueConstraint": "" + }, + { + "NodeName": "MODEL", + "SparqlID": "?MODEL", + "binding": "?model", + "deletionMode": "NO_DELETE", + "fullURIName": "http://arcos.rack/MODEL#MODEL", + "instanceValue": null, + "isBindingReturned": true, + "isReturned": false, + "isRuntimeConstrained": false, + "isTypeReturned": true, + "nodeList": [ + { + "ConnectBy": "models", + "Connected": true, + "DeletionMarkers": [ + false + ], + "KeyName": "models", + "OptionalMinus": [ + 0 + ], + "Qualifiers": [ + "" + ], + "SnodeSparqlIDs": [ + "?THING" + ], + "UriConnectBy": "http://arcos.rack/MODEL#models", + "UriValueType": "http://arcos.rack/PROV-S#THING", + "ValueType": "THING" + } + ], + "propList": [ + { + "Constraints": "", + "KeyName": "identifier", + "SparqlID": "?model_id", + "UriRelationship": "http://arcos.rack/PROV-S#identifier", + "ValueType": "string", + "fullURIName": "", + "instanceValues": [], + "isMarkedForDeletion": false, + "isReturned": true, + "isRuntimeConstrained": false, + "optMinus": 0, + "relationship": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "valueConstraint": "" + } + ], + "unionHash": {}, + "version": 12 + }, + "sparqlConn": { + "data": [ + { + "graph": "http://rack001/data", + "type": "fuseki", + "url": "http://localhost:3030/RACK" + }, + { + "graph": "http://rack001/do-178c", + "type": "fuseki", + "url": "http://localhost:3030/RACK" + }, + { + "graph": "http://rack001/boeing", + "type": "fuseki", + "url": "http://localhost:3030/RACK" + } + ], + "domain": "", + "enableOwlImports": true, + "model": [ + { + "graph": "http://rack001/model", + "type": "fuseki", + "url": "http://localhost:3030/RACK" + } + ], + "name": "RACK" + }, + "version": 2 +} diff --git a/nodegroups/queries/store_data.csv b/nodegroups/queries/store_data.csv index ddf04012..f638eb8e 100644 --- a/nodegroups/queries/store_data.csv +++ b/nodegroups/queries/store_data.csv @@ -15,3 +15,4 @@ query Compilation Inputs,Find inputs used in compilation of executables,langston query System Structure,Extract system subcomponent structure contained under a given top-level anchor system,eric,query System Structure.json query test empty thing,Check for non-SYSTEM typed things with identifer and no other properties,200001934,query test empty thing.json query Requirements without passed test,"No Test, or no test result, or failure",200001934,query Requirements without passed test.json +query Models for Thing,Query that finds all the models and their types given a target THING identifier,em,query Models for Thing.json