Class: SoftwareArtifact
Software asset
classDiagram
class SoftwareArtifact
click SoftwareArtifact href "../SoftwareArtifact/"
Asset <|-- SoftwareArtifact
click Asset href "../Asset/"
SoftwareArtifact : asset_identifiers
SoftwareArtifact --> "1..*" AssetIdentifier : asset_identifiers
click AssetIdentifier href "../AssetIdentifier/"
SoftwareArtifact : asset_operations
SoftwareArtifact --> "*" AssetOperation : asset_operations
click AssetOperation href "../AssetOperation/"
SoftwareArtifact : connection_points
SoftwareArtifact --> "*" ConnectionPoint : connection_points
click ConnectionPoint href "../ConnectionPoint/"
SoftwareArtifact : description
SoftwareArtifact : functional_object_schema_url
SoftwareArtifact : functional_object_type
SoftwareArtifact : instance_annotations
SoftwareArtifact --> "*" InstanceAnnotation : instance_annotations
click InstanceAnnotation href "../InstanceAnnotation/"
SoftwareArtifact : is_firmware
SoftwareArtifact : location
SoftwareArtifact --> "*" AssetLocation : location
click AssetLocation href "../AssetLocation/"
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 : software_components
SoftwareArtifact --> "*" SoftwareComponent : software_components
click SoftwareComponent href "../SoftwareComponent/"
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 |
| asset_identifiers | 1..* AssetIdentifier |
An asset identifier is an asset attribute that provides enough information to... | 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 |
| 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.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.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.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.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.yaml
rank: 1000
alias: asset_operations
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetOperation
multivalued: true
inlined: true
inlined_as_list: true
asset_identifiers:
name: asset_identifiers
description: 'An asset identifier is an asset attribute that provides enough information
to unequivocally identify the represented object.
In some cases the ID attribute acts simultaneously as a reference for the asset
instance and as identifier for the represented object. Otherwise at least one
asset identifier is needed.
There can be multiple asset_identifiers with different goals. For example, the
information of a metal nameplate can be used by a human-being to identify a
device represented by an asset instance, but a software certificate provided
by a device might help a software component identify the device in the network,...
An asset identifier might have an identifier_type, that defines its format and
possibly even semantics.'
title: asset identifiers
examples:
- value: '''Nameplate'': { ''vendor id'': ''siemens'', ''product id'': ''1FN3050-1ND00-0EA3'',
''serial number'': ''0011223344'' }'
description: Object that provides a set of values that unequivocally identify
a Siemens device.
- value: '''Product ID'': { ''Vendor'': ''Rexroth'', ''Type Code'': ''VDP16.3DBN-D1-NN-NN'',
''Type Name'': ''IndraControl VPB 40.4, Control Cabinet PC''}, ''Instance
ID'': { ''Serial Number'': ''SN:008595411'' }'
description: Object that provides a set of values that unequivocally identify
a Rexroth device.
- value: 123e4567-e89b-12d3-a456-426655440000
description: Universal Unique ID (UUID AKA GUID) that identifies an asset instance.
- value: 'MAC-Address: 00:11:22:33:44'
description: Identify a device by its MAC-Address, assuming that it cannot be
changed.
- value: '''Device Certificate'': { ''Certificate ID'': ''1wlkq3'', ''Certificate
PubKey'': ''xxxxxxxxxxxx'' }'
description: Information needed to challenge the certificate of a device with
its public key.
- value: '''ID Link'': ''https://example.com/idlink/12345'''
description: Identify a device by a vendor-provided ID Link URL that follows
the ID Link convention.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
rank: 1000
alias: asset_identifiers
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetIdentifier
required: true
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.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.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.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.yaml
rank: 1000
alias: operating_mode
owner: SoftwareArtifact
domain_of:
- Asset
range: OperatingMode
inlined: true
name:
name: name
description: The name of the item.
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
rank: 1000
slot_uri: schema:name
alias: name
owner: SoftwareArtifact
domain_of:
- FunctionalObject
- Organization
- ConnectionPoint
- SoftwareIdentifier
- CustomIdentifier
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.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.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.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.yaml
rank: 1000
alias: functional_object_schema_url
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: uri
required: true
pattern: ^https://industrial-assets\.io.*$