ucoProject / UCO

This repository is for development of the Unified Cyber Ontology.
Apache License 2.0
74 stars 34 forks source link

UCO needs to be able to represent a storage device's storage capacity #501

Closed b0bkaT closed 1 year ago

b0bkaT commented 1 year ago

Background

UCO lacks the ability to represent a general storage device's total storage capacity. There is no way to represent the total storage capacity of a storage device other than using MobileDeviceFacet and SIMCardFacet.

Requirements

Requirement 1

UCO needs to be able to represent the total storage capacity for a general storage device.

Requirement 2

This requirement was stricken after committee discussion during Requirements Review:

UCO needs to warn users that the current property storageCapacityInBytes will be deprecated immediately and support would be removed in UCO 2.0.0.

Risk / Benefit analysis

Benefits

Allow documentation of storage capacity for other Device types than the currently supported MobileDeviceFacet and SIMCardFacet.

Risks

Moving the property away from the specific facets and into its own Facet would cause breaking changes for existing adopters who have utilized that property.

Competencies demonstrated

Competency 1

Competency Question 1.1

What devices can store 16 GB of data?

Result 1.1

List all devices that have a total storage capacity equal to or greater than 16 GB.

Competency Question 1.2

Result 1.2

Solution suggestion

Create a new facet StorageMediumFacet in the uco-observable namespace.

Add a totalStorageCapacityInBytes property to the newly created StorageMediumFacet.

Deprecate the storageCapacityInBytes property from MobileDeviceFacet and SIMCardFacet for now.

Coordination

b0bkaT commented 1 year ago

Transcribed from the Confluence proposal Person A: This proposal needs to clarify total capacity vs available storage remaining.

Person B: I agree, I suggest renaming storageCapacityInBytes to totalStorageCapacityInBytes.

ajnelson-nist commented 1 year ago

Since storageCapacityInBytes only has those two uses, this is an opportunity to use a specialized OWL designation for deprecating properties. We could add this statement to the definition of storageCapacityInBytes:

observable:storageCapacityInBytes a owl:DeprecatedProperty .
ajnelson-nist commented 1 year ago

After some clarifying conversation, we are striking Requirement 2.