Class: SoftwareArtifact
Software asset
classDiagram
class SoftwareArtifact
click SoftwareArtifact href "../SoftwareArtifact/"
Asset <|-- SoftwareArtifact
click Asset href "../Asset/"
SoftwareArtifact : access_group
SoftwareArtifact : asset_operations
SoftwareArtifact --> "*" AssetOperation : asset_operations
click AssetOperation href "../AssetOperation/"
SoftwareArtifact : connection_points
SoftwareArtifact --> "*" ConnectionPoint : connection_points
click ConnectionPoint href "../ConnectionPoint/"
SoftwareArtifact : custom_properties
SoftwareArtifact --> "1..*" CustomProperty : custom_properties
click CustomProperty href "../CustomProperty/"
SoftwareArtifact : description
SoftwareArtifact : functional_object_schema_url
SoftwareArtifact : functional_object_type
SoftwareArtifact : id
SoftwareArtifact : instance_annotations
SoftwareArtifact --> "*" InstanceAnnotation : instance_annotations
click InstanceAnnotation href "../InstanceAnnotation/"
SoftwareArtifact : is_firmware
SoftwareArtifact : last_modified_timestamp
SoftwareArtifact : location
SoftwareArtifact --> "*" AssetLocation : location
click AssetLocation href "../AssetLocation/"
SoftwareArtifact : management_state
SoftwareArtifact --> "1" ManagementState : management_state
click ManagementState href "../ManagementState/"
SoftwareArtifact : name
SoftwareArtifact : operating_mode
SoftwareArtifact --> "0..1" OperatingMode : operating_mode
click OperatingMode href "../OperatingMode/"
SoftwareArtifact : product_instance_information
SoftwareArtifact --> "0..1" ProductInstanceInformation : product_instance_information
click ProductInstanceInformation href "../ProductInstanceInformation/"
SoftwareArtifact : reachability_state
SoftwareArtifact --> "0..1" ReachabilityState : reachability_state
click ReachabilityState href "../ReachabilityState/"
SoftwareArtifact : responsible
SoftwareArtifact : software_components
SoftwareArtifact --> "*" SoftwareComponent : software_components
click SoftwareComponent href "../SoftwareComponent/"
SoftwareArtifact : source
SoftwareArtifact --> "1" SourceClass : source
click SourceClass href "../SourceClass/"
Inheritance
- FunctionalObject
- Asset
- SoftwareArtifact
- Asset
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| is_firmware | 0..1 Boolean |
Flag indicating that the software artifact is provided by a hardware manufact... | direct |
| connection_points | * ConnectionPoint |
An asset might have a connection point that can be used to connect with the a... | Asset |
| asset_operations | * AssetOperation |
List of device management operations supported by an asset | Asset |
| product_instance_information | 0..1 ProductInstanceInformation |
Information about the product instance | Asset |
| software_components | * SoftwareComponent |
An asset can host software artifacts that might want to be tracked | Asset |
| location | * AssetLocation |
Possible ways to know where an asset is located | Asset |
| operating_mode | 0..1 OperatingMode |
The current operating mode of the asset | Asset |
| management_state | 1 ManagementState |
A manage state is an attribute of an asset that specifies how an asset is bei... | Asset |
| reachability_state | 0..1 ReachabilityState |
A slot to track the last observed reachability state and when it was observed | Asset |
| id | 1 String |
The unique identifier of an asset | Asset |
| source | 1 SourceClass |
The source of the asset data | Asset |
| responsible | 1 String |
The person inside the organization responsible for the asset | Asset |
| access_group | 1 String |
The access group of an asset | Asset |
| last_modified_timestamp | 1 Datetime |
The timestamp when the asset was last modified | Asset |
| custom_properties | 1..* CustomProperty |
A list of custom properties that can be used to store additional information ... | Asset |
| name | 0..1 String |
The name of the item | FunctionalObject |
| description | 0..1 String |
A textual description of the item's purpose and use | FunctionalObject |
| instance_annotations | * InstanceAnnotation |
Metadata associated with an object | FunctionalObject |
| functional_object_type | 1 String |
Type designator that supports polymorphism using functional parts | FunctionalObject |
| functional_object_schema_url | 1 Uri |
URL of the schema that defines the functional object type | FunctionalObject |
Usages
| used by | used in | type | used |
|---|---|---|---|
| SoftwareComponent | artifact | range | SoftwareArtifact |
| RunningSoftwareComponent | artifact | range | SoftwareArtifact |
| SoftwareArtifactComponent | artifact | range | SoftwareArtifact |
| AssetLink | artifact | range | SoftwareArtifact |
Examples
| Value |
|---|
| executable |
| script |
| container image |
| firmware image |
Identifier and Mapping Information
Schema Source
- from schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | base:SoftwareArtifact |
| native | base:SoftwareArtifact |
| close | sietechas:SoftwareAsset |
LinkML Source
Direct
name: SoftwareArtifact
description: Software asset
examples:
- value: executable
- value: script
- value: container image
- value: firmware image
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
close_mappings:
- sietechas:SoftwareAsset
is_a: Asset
slot_usage:
functional_object_type:
name: functional_object_type
equals_string: SoftwareArtifact
attributes:
is_firmware:
name: is_firmware
description: 'Flag indicating that the software artifact is provided by a hardware
manufacturer for one or more of its devices.
Unlike other software artifacts, updating the firmware requires contacting the
source specified by the device manufacturer.
Due to this definition, firmware in IAH has a much wider scope than in some
domains, where firmware is only meant to be close-to-the-silicon software.'
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-software-components.yaml
rank: 1000
domain_of:
- SoftwareArtifact
range: boolean
Induced
name: SoftwareArtifact
description: Software asset
examples:
- value: executable
- value: script
- value: container image
- value: firmware image
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
close_mappings:
- sietechas:SoftwareAsset
is_a: Asset
slot_usage:
functional_object_type:
name: functional_object_type
equals_string: SoftwareArtifact
attributes:
is_firmware:
name: is_firmware
description: 'Flag indicating that the software artifact is provided by a hardware
manufacturer for one or more of its devices.
Unlike other software artifacts, updating the firmware requires contacting the
source specified by the device manufacturer.
Due to this definition, firmware in IAH has a much wider scope than in some
domains, where firmware is only meant to be close-to-the-silicon software.'
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-software-components.yaml
rank: 1000
alias: is_firmware
owner: SoftwareArtifact
domain_of:
- SoftwareArtifact
range: boolean
connection_points:
name: connection_points
description: An asset might have a connection point that can be used to connect
with the asset. In the case of devices, at least one connection point is required.
It might be a connection point needed for AssetManagement for interaction with
the asset, or for other connections of the asset related to the asset function
but not to device management.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: connection_points
owner: SoftwareArtifact
domain_of:
- Asset
range: ConnectionPoint
multivalued: true
inlined: true
inlined_as_list: true
asset_operations:
name: asset_operations
description: List of device management operations supported by an asset. Each
operation type might appear only once.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: asset_operations
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetOperation
multivalued: true
inlined: true
inlined_as_list: true
product_instance_information:
name: product_instance_information
description: Information about the product instance.
title: product instance information
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: product_instance_information
owner: SoftwareArtifact
domain_of:
- Asset
range: ProductInstanceInformation
software_components:
name: software_components
description: An asset can host software artifacts that might want to be tracked.
This can be used simply to keep track of the firmware version or to keep a full-blown
Software Bill of Material (SBOM).
title: Software Components
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: software_components
owner: SoftwareArtifact
domain_of:
- Asset
range: SoftwareComponent
multivalued: true
inlined: true
inlined_as_list: true
location:
name: location
description: Possible ways to know where an asset is located.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: location
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetLocation
multivalued: true
operating_mode:
name: operating_mode
description: The current operating mode of the asset.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: operating_mode
owner: SoftwareArtifact
domain_of:
- Asset
range: OperatingMode
inlined: true
management_state:
name: management_state
description: 'A manage state is an attribute of an asset that specifies how an
asset is being regarded by an asset management system (is it being regarded
or ignored). Some assets might be known to the Industrial Asset Hub (for example,
discovered through a network scan), but want to be ignored for different reasons.
The goals of this attribute are: to avoid rediscovering assets being ignored
and to focus management activities on those assets being regarded.
Assets that can be discovered, but not supported, might evolve from an "ignored"
to a "regarded" state, once supported.'
title: management state
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: management_state
owner: SoftwareArtifact
domain_of:
- Asset
range: ManagementState
required: true
reachability_state:
name: reachability_state
description: A slot to track the last observed reachability state and when it
was observed.
title: reachability state
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: reachability_state
owner: SoftwareArtifact
domain_of:
- Asset
range: ReachabilityState
id:
name: id
description: The unique identifier of an asset. It is a string that can be used
to identify an asset in the Industrial Asset Hub.
title: id
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
identifier: true
alias: id
owner: SoftwareArtifact
domain_of:
- Asset
- ConnectionPoint
range: string
required: true
source:
name: source
description: The source of the asset data.
title: source
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: source
owner: SoftwareArtifact
domain_of:
- Asset
range: SourceClass
required: true
inlined: true
responsible:
name: responsible
description: The person inside the organization responsible for the asset. This
value is set to the user who onboarded the asset into the inventory, but can
be updated later on if needed.
title: responsible
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: responsible
owner: SoftwareArtifact
domain_of:
- Asset
range: string
required: true
access_group:
name: access_group
description: The access group of an asset. It is a string that can be used to
group assets together for access control purposes.
title: access group
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: access_group
owner: SoftwareArtifact
domain_of:
- Asset
range: string
required: true
last_modified_timestamp:
name: last_modified_timestamp
description: The timestamp when the asset was last modified. It is a datetime
value that can be used to track when an asset was last updated in the inventory.
title: last modified timestamp
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: last_modified_timestamp
owner: SoftwareArtifact
domain_of:
- Asset
range: datetime
required: true
custom_properties:
name: custom_properties
description: A list of custom properties that can be used to store additional
information about an asset that is not covered by the predefined slots.
title: custom properties
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: custom_properties
owner: SoftwareArtifact
domain_of:
- Asset
range: CustomProperty
required: true
multivalued: true
inlined: true
inlined_as_list: true
name:
name: name
description: The name of the item.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
slot_uri: schema:name
alias: name
owner: SoftwareArtifact
domain_of:
- FunctionalObject
- Organization
- ConnectionPoint
range: string
description:
name: description
description: A textual description of the item's purpose and use.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
slot_uri: linkml:description
alias: description
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: string
instance_annotations:
name: instance_annotations
description: Metadata associated with an object.
title: instance annotations
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: instance_annotations
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: InstanceAnnotation
multivalued: true
inlined: true
inlined_as_list: true
functional_object_type:
name: functional_object_type
description: Type designator that supports polymorphism using functional parts.
This type is used for validation of the provided functional objects.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
designates_type: true
alias: functional_object_type
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: string
required: true
equals_string: SoftwareArtifact
functional_object_schema_url:
name: functional_object_schema_url
description: URL of the schema that defines the functional object type.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base-read.yaml
rank: 1000
alias: functional_object_schema_url
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: uri
required: true
pattern: ^https://industrial-assets\.io.*$