Skip to content

Commit

Permalink
Incorporate ontology review for SYSTEM
Browse files Browse the repository at this point in the history
  • Loading branch information
glguy committed Jan 5, 2021
1 parent e142740 commit 7d88c02
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 53 deletions.
76 changes: 48 additions & 28 deletions RACK-Ontology/OwlModels/SYSTEM.owl
Expand Up @@ -40,81 +40,101 @@
<rdfs:subClassOf rdf:resource="PROV-S#ACTIVITY"/>
</owl:Class>
<owl:Class rdf:ID="SYSTEM">
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>1</owl:maxCardinality>
<owl:onProperty>
<owl:DatatypeProperty rdf:ID="functionalityOverview"/>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>1</owl:maxCardinality>
<owl:onProperty>
<owl:ObjectProperty rdf:ID="producedBy"/>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:comment xml:lang="en">SYSTEMs classify logical parts of the whole system being developed</rdfs:comment>
<rdfs:subClassOf rdf:resource="PROV-S#ENTITY"/>
</owl:Class>
<owl:Class rdf:ID="INTERFACE">
<rdfs:comment xml:lang="en">INTERFACEs describe directed connections between an ENTITY (e.g. SYSTEM) providing what another ENTITY (e.g. SYSTEM) requires</rdfs:comment>
<rdfs:subClassOf>
<owl:Restriction>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>1</owl:maxCardinality>
<owl:onProperty>
<owl:DatatypeProperty rdf:ID="commodity"/>
</owl:onProperty>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:comment xml:lang="en">INTERFACEs describe directed connections between a SYSTEM providing what another SYSTEM requires</rdfs:comment>
<rdfs:subClassOf rdf:resource="PROV-S#ENTITY"/>
</owl:Class>
<owl:Class rdf:ID="OP_PROCEDURE">
<rdfs:comment xml:lang="en">system operational procedures employed, e.g. going through a checklist, limiting people near runways, etc.</rdfs:comment>
<rdfs:subClassOf rdf:resource="DOCUMENT#PROCEDURE"/>
</owl:Class>
<owl:ObjectProperty rdf:ID="provides">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<rdfs:comment xml:lang="en">List of entities that this SYSTEM provides to others</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ENTITY"/>
<rdfs:range rdf:resource="#FUNCTION"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="partOf">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<rdfs:comment xml:lang="en">Used to define a relationship to a higher level system</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ENTITY"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="function">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<rdfs:comment xml:lang="en">functionality / capability of a SYSTEM</rdfs:comment>
<rdfs:range rdf:resource="#FUNCTION"/>
<rdfs:range rdf:resource="#SYSTEM"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="source">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<owl:inverseOf rdf:resource="#provides"/>
<rdfs:comment xml:lang="en">ENTITY (e.g. SYSTEM) that provides what the INTERFACE offers</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ENTITY"/>
<rdfs:subPropertyOf rdf:resource="PROV-S#wasImpactedBy"/>
<rdfs:comment xml:lang="en">SYSTEM that provides what the INTERFACE offers</rdfs:comment>
<rdfs:range rdf:resource="#SYSTEM"/>
<rdfs:domain rdf:resource="#INTERFACE"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="producedBy">
<owl:ObjectProperty rdf:about="#producedBy">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasGeneratedBy"/>
<rdfs:comment xml:lang="en">ACTIVITY(s) participating in developing this SYSTEM</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ACTIVITY"/>
<rdfs:range rdf:resource="#SYSTEM_DEVELOPMENT"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#parentFunction">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<rdfs:comment xml:lang="en">allows for decomposition of functionality</rdfs:comment>
<rdfs:range rdf:resource="#FUNCTION"/>
<rdfs:domain rdf:resource="#FUNCTION"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="requires">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<rdfs:comment xml:lang="en">List of entities that this SYSTEM requires from others</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ENTITY"/>
<rdfs:range rdf:resource="#FUNCTION"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="developedBy">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasAssociatedWith"/>
<rdfs:comment xml:lang="en">Organization that is responsible for producing a system</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#AGENT"/>
<rdfs:domain rdf:resource="#SYSTEM_DEVELOPMENT"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="identifiedBy">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasGeneratedBy"/>
<rdfs:comment xml:lang="en">ACTIVITY out of which this INTERFACE was identified</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ACTIVITY"/>
<rdfs:domain rdf:resource="#INTERFACE"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="destination">
<rdfs:subPropertyOf rdf:resource="PROV-S#wasDerivedFrom"/>
<owl:inverseOf rdf:resource="#requires"/>
<rdfs:comment xml:lang="en">ENTITY (e.g. SYSTEM) that requires what the INTERFACE offers</rdfs:comment>
<rdfs:range rdf:resource="PROV-S#ENTITY"/>
<rdfs:subPropertyOf rdf:resource="PROV-S#wasImpactedBy"/>
<rdfs:comment xml:lang="en">SYSTEM that requires what the INTERFACE offers</rdfs:comment>
<rdfs:range rdf:resource="#SYSTEM"/>
<rdfs:domain rdf:resource="#INTERFACE"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="envConstraint">
<rdfs:comment xml:lang="en">describes environmental constraints on system operations</rdfs:comment>
<owl:DatatypeProperty rdf:about="#functionalityOverview">
<rdfs:comment xml:lang="en">functionality / capability of a SYSTEM</rdfs:comment>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="#OP_ENV"/>
<rdfs:domain rdf:resource="#SYSTEM"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:about="#commodity">
<rdfs:comment xml:lang="en">the thing conveyed by the interface</rdfs:comment>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="#INTERFACE"/>
</owl:DatatypeProperty>
</rdf:RDF>
51 changes: 26 additions & 25 deletions RACK-Ontology/ontology/SYSTEM.sadl
Expand Up @@ -10,67 +10,68 @@
* of the Defense Advanced Research Projects Agency (DARPA).
*/

/************** edit history *****************
*
* dwa - 11 Nov 2020 - removed incorrect usages of relationships
* dwa - 11 Nov 2020 - added that developedBy is a type of wasAssociatedWith
*
*********************************************/

uri "http://arcos.rack/SYSTEM" alias sys.
import "http://arcos.rack/PROV-S".
import "http://arcos.rack/DOCUMENT".

// Do we want to add MTBF, type (software, hybrid etc.,) to SYSTEM? They would be needed in an assurance case.

SYSTEM
(note "SYSTEMs classify logical parts of the whole system being developed")
is a type of ENTITY.

partOf (note "Used to define a relationship to a higher level system") describes SYSTEM with values of type ENTITY.
partOf is a type of wasDerivedFrom.
partOf (note "Used to define a relationship to a higher level system") describes SYSTEM with values of type SYSTEM.

producedBy (note "ACTIVITY(s) participating in developing this SYSTEM") describes SYSTEM with values of type ACTIVITY.
producedBy (note "ACTIVITY(s) participating in developing this SYSTEM") describes SYSTEM with values of type SYSTEM_DEVELOPMENT.
producedBy describes SYSTEM with at most 1 value.
producedBy is a type of wasGeneratedBy.

provides (note "List of entities that this SYSTEM provides to others") describes SYSTEM with values of type ENTITY.
provides is a type of wasDerivedFrom.
provides (note "List of entities that this SYSTEM provides to others") describes SYSTEM with values of type FUNCTION.

requires (note "List of entities that this SYSTEM requires from others") describes SYSTEM with values of type ENTITY.
requires is a type of wasDerivedFrom.
requires (note "List of entities that this SYSTEM requires from others") describes SYSTEM with values of type FUNCTION.

function (note "functionality / capability of a SYSTEM") describes SYSTEM with values of type FUNCTION.
function is a type of wasDerivedFrom.
functionalityOverview (note "functionality / capability of a SYSTEM") describes SYSTEM with values of type string.
functionalityOverview describes SYSTEM with at most 1 value.

INTERFACE
(note "INTERFACEs describe directed connections between an ENTITY (e.g. SYSTEM) providing what another ENTITY (e.g. SYSTEM) requires")
(note "INTERFACEs describe directed connections between a SYSTEM providing what another SYSTEM requires")
is a type of ENTITY.

source (note "ENTITY (e.g. SYSTEM) that provides what the INTERFACE offers") describes INTERFACE with values of type ENTITY.
source is the inverse of provides.
source is a type of wasDerivedFrom.
commodity (note "the thing conveyed by the interface") describes INTERFACE with values of type string.
commodity describes INTERFACE with at most 1 value.

destination (note "ENTITY (e.g. SYSTEM) that requires what the INTERFACE offers") describes INTERFACE with values of type ENTITY.
destination is the inverse of requires.
destination is a type of wasDerivedFrom.
source (note "SYSTEM that provides what the INTERFACE offers") describes INTERFACE with values of type SYSTEM.
// source is the inverse of sink.
source is a type of wasImpactedBy.

destination (note "SYSTEM that requires what the INTERFACE offers") describes INTERFACE with values of type SYSTEM.
// sink is the inverse of source.
destination is a type of wasImpactedBy.

identifiedBy (note "ACTIVITY out of which this INTERFACE was identified") describes INTERFACE with values of type ACTIVITY.
identifiedBy is a type of wasGeneratedBy.


SYSTEM_DEVELOPMENT
(note "ACTIVITY relating to the creation of one or more some SYSTEMs")
is a type of ACTIVITY.

developedBy (note "Organization that is responsible for producing a system") describes SYSTEM_DEVELOPMENT with values of type AGENT.
developedBy is a type of wasAssociatedWith.

FUNCTION
(note "defines functionality / capability")
is a type of ENTITY.

// If we introduce "parent" property for THING, then we could drop parentFunction.
parentFunction (note "allows for decomposition of functionality") describes FUNCTION with a single value of type FUNCTION.
parentFunction is a type of wasDerivedFrom.
parentFunction (note "allows for decomposition of functionality") describes FUNCTION with a single value of type FUNCTION.

// Later we could add more structure to OP_ENV.
OP_ENV
(note "defines the operating environment assumptions and constraints")
is a type of THING. // should this be an ENTITY?

envConstraint (note "describes environmental constraints on system operations") describes OP_ENV with values of type string.

OP_PROCEDURE
(note "system operational procedures employed, e.g. going through a checklist, limiting people near runways, etc.")
Expand Down

0 comments on commit 7d88c02

Please sign in to comment.