Class: SoftwareArtifact
Software asset representing software on rest.
URI: base:SoftwareArtifact
classDiagram
class SoftwareArtifact
SoftwareAsset <|-- SoftwareArtifact
SoftwareArtifact : asset_identifiers
SoftwareArtifact : asset_operations
SoftwareArtifact : checksum_identifier
SoftwareArtifact : connection_points
SoftwareArtifact : custom_ui_properties
SoftwareArtifact : functional_object_type
SoftwareArtifact : functional_parts
SoftwareArtifact : id
SoftwareArtifact : instance_annotations
SoftwareArtifact : is_firmware
SoftwareArtifact : last_modified_timestamp
SoftwareArtifact : management_state
SoftwareArtifact : name
SoftwareArtifact : other_states
SoftwareArtifact : product_instance_identifier
SoftwareArtifact : reachability_state
SoftwareArtifact : responsible
SoftwareArtifact : software_components
SoftwareArtifact : software_identifier
SoftwareArtifact : zone
Inheritance
- FunctionalObject
- Asset
- SoftwareAsset
- SoftwareArtifact
- SoftwareAsset
- Asset
Attributes (AKA Slots)
Name | Cardinality and Range | Description | Inheritance |
---|---|---|---|
software_identifier | 0..1 SoftwareIdentifier |
Identifier for a software artifact based on the well-established pattern name... | direct |
checksum_identifier | 0..1 ArtifactChecksum |
Provides an AssetIdentifier based on a SoftwareArtifact checksum | direct |
is_firmware | 0..1 Boolean |
Flag that marks that the software artifact is being provided by a hardware ma... | direct |
product_instance_identifier | 0..1 ProductSerialIdentifier |
Identifier of a device based on its serial number | Asset |
connection_points | * ConnectionPoint |
An asset might have a connection point that can be used to connect with the a... | Asset |
software_components | * SoftwareAsset |
An asset can host software artifacts that might want to be tracked | Asset |
reachability_state | 0..1 ReachabilityState |
A slot to track the last observed reachability state and when it was observed | Asset |
functional_parts | * Asset |
The functional objects that an asset is composed of, in case such a level of ... | Asset |
asset_operations | * AssetOperation |
List of device management operations supported by an asset | Asset |
custom_ui_properties | * CustomProperty |
Metadata associated with Asset in User Interface | Asset |
last_modified_timestamp | 0..1 Datetime |
Timestamp of last asset modification | Asset |
asset_identifiers | * recommended AssetIdentifier |
An asset identifier is an asset attribute that provides enough information to... | Asset |
zone | 0..1 String |
Provides references to the different zones that an asset belongs to | Asset |
responsible | 0..1 String |
Provides the id of the user or client that onboarded the asset | Asset |
management_state | 1 ManagementState |
A manage state is an attribute of an asset that specifies how an asset is bei... | Asset |
other_states | * State |
Specify the state of other aspects apart from management state | Asset |
id | 1 String |
The identifier property represents any kind of identifier for any kind of Thi... | FunctionalObject |
name | 0..1 String |
The name of the item | FunctionalObject |
instance_annotations | * InstanceAnnotation |
Metadata associated to an object | FunctionalObject |
functional_object_type | 0..1 String |
Type designator that provides support for polymorphism using functional parts | FunctionalObject |
Deprecated attributes
Name | Cardinality and Range | Description | Inheritance |
---|---|---|---|
Usages
used by | used in | type | used |
---|---|---|---|
RunningSoftware | artifact | range | SoftwareArtifact |
AssetLink | artifact | range | SoftwareArtifact |
Dcd | artifact | range | SoftwareArtifact |
Gateway | artifact | range | SoftwareArtifact |
Examples
Value |
---|
executable |
script |
container image |
firmware image |
Identifier and Mapping Information
Mappings
Mapping Type | Mapped Value |
---|---|
self | base:SoftwareArtifact |
native | base:SoftwareArtifact |
close | sietechas:SoftwareAsset |
LinkML Source
Direct
name: SoftwareArtifact
description: Software asset representing software on rest.
examples:
- value: executable
- value: script
- value: container image
- value: firmware image
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
close_mappings:
- sietechas:SoftwareAsset
rank: 10
is_a: SoftwareAsset
slots:
- software_identifier
- checksum_identifier
attributes:
is_firmware:
name: is_firmware
description: 'Flag that marks that the software artifact is being provided by
a hardware manufacturer for one or more of its devices.
In contrast with other software artifacts, updating the software of 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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
domain_of:
- SoftwareArtifact
range: boolean
Induced
name: SoftwareArtifact
description: Software asset representing software on rest.
examples:
- value: executable
- value: script
- value: container image
- value: firmware image
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
close_mappings:
- sietechas:SoftwareAsset
rank: 10
is_a: SoftwareAsset
attributes:
is_firmware:
name: is_firmware
description: 'Flag that marks that the software artifact is being provided by
a hardware manufacturer for one or more of its devices.
In contrast with other software artifacts, updating the software of 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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: is_firmware
owner: SoftwareArtifact
domain_of:
- SoftwareArtifact
range: boolean
software_identifier:
name: software_identifier
description: Identifier for a software artifact based on the well-established
pattern name and version.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: software_identifier
owner: SoftwareArtifact
domain_of:
- SoftwareArtifact
range: SoftwareIdentifier
checksum_identifier:
name: checksum_identifier
description: Provides an AssetIdentifier based on a SoftwareArtifact checksum
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: checksum_identifier
owner: SoftwareArtifact
domain_of:
- SoftwareArtifact
range: ArtifactChecksum
product_instance_identifier:
name: product_instance_identifier
description: Identifier of a device based on its serial number.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: product_instance_identifier
owner: SoftwareArtifact
domain_of:
- Asset
range: ProductSerialIdentifier
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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: connection_points
owner: SoftwareArtifact
domain_of:
- Asset
range: ConnectionPoint
multivalued: true
inlined: true
inlined_as_list: true
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).
Please notice that this attribute is not meant to model relationships between
the different software assets available in a device. Static relationships implicit
to the SoftwareAssets themselves (like "firmware image A contains package X"
or "package X depends on package Y") might be modeled on the Software Assets,
if desired. Although it probably goes beyond the purpose of asset modeling.
Deployment dependent relationships (like "firmware image needs to be installed
before installing app") might be modeled as external AssetLinks, if desired.
Once again it probably goes beyond the purpose of asset modeling.'
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: software_components
owner: SoftwareArtifact
domain_of:
- Asset
range: SoftwareAsset
multivalued: true
inlined: true
inlined_as_list: 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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: reachability_state
owner: SoftwareArtifact
domain_of:
- Asset
range: ReachabilityState
functional_parts:
name: functional_parts
description: 'The functional objects that an asset is composed of, in case such
a level of decomposition is desired. This is enables having assets composed
of other assets and even devices composed of other devices and assets.
An Asset must be addressable independently from other Assets (therefore they
need to have an "id") and are therefore individually modeled. But not all parts
of an Asset that are modeled need to be individually addressable, these are
FunctionalObjects, but not Assets.
Probably those functional_parts of an Asset providing some function for the
Asset will be modeled here. Therefore an Asset can delegate the Interactions
that it''s offering to its functional_parts.'
title: functional parts
examples:
- value: 'A server rack Asset can have following functional_parts that can be
modeled like this: a frame (an Asset), servers (Devices), network switches/routers
(Devices), power supply (a FunctionalObject),...'
- value: A library installed on a device
- value: The firmware of a device
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: functional_parts
owner: SoftwareArtifact
domain_of:
- Asset
range: Asset
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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: asset_operations
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetOperation
multivalued: true
custom_ui_properties:
name: custom_ui_properties
description: Metadata associated with Asset in User Interface
title: custom properties for User Interface
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: custom_ui_properties
owner: SoftwareArtifact
domain_of:
- Asset
range: CustomProperty
multivalued: true
last_modified_timestamp:
name: last_modified_timestamp
description: Timestamp of last asset modification
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: last_modified_timestamp
owner: SoftwareArtifact
domain_of:
- Asset
range: datetime
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: 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.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: asset_identifiers
owner: SoftwareArtifact
domain_of:
- Asset
range: AssetIdentifier
recommended: true
multivalued: true
inlined: true
inlined_as_list: true
zone:
name: zone
description: 'Provides references to the different zones that an asset belongs
to.
Zones are typically used to group assets logically mostly for the purpose of
access control. That way it is possible to give certain roles or persons specific
permissions to all assets associated to a zone.'
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: zone
owner: SoftwareArtifact
domain_of:
- Asset
range: string
responsible:
name: responsible
description: Provides the id of the user or client that onboarded the asset
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: responsible
owner: SoftwareArtifact
domain_of:
- Asset
range: string
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://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: management_state
owner: SoftwareArtifact
domain_of:
- Asset
range: ManagementState
required: true
other_states:
name: other_states
description: Specify the state of other aspects apart from management state.
title: other states
examples:
- value: reachability_state
description: Could an asset be reached lately over a port?
- value: Runtime state
description: Is a device running normally? Is it in maintenance mode?
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: other_states
owner: SoftwareArtifact
domain_of:
- Asset
range: State
multivalued: true
id:
name: id
description: The identifier property represents any kind of identifier for any
kind of Thing, such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated
properties for representing many of these, either as textual strings or as URL
(URI) links.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
slot_uri: schema:identifier
identifier: true
alias: id
owner: SoftwareArtifact
domain_of:
- FunctionalObject
- ConnectionPoint
- IdentifierType
- Thing
range: string
required: true
name:
name: name
description: The name of the item.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
slot_uri: schema:name
alias: name
owner: SoftwareArtifact
domain_of:
- FunctionalObject
- SoftwareIdentifier
- Thing
range: string
instance_annotations:
name: instance_annotations
description: Metadata associated to an object.
title: instance annotations
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
alias: instance_annotations
owner: SoftwareArtifact
domain_of:
- FunctionalObject
- ConnectionPoint
range: InstanceAnnotation
multivalued: true
functional_object_type:
name: functional_object_type
description: Type designator that provides support for polymorphism using functional
parts.
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
designates_type: true
alias: functional_object_type
owner: SoftwareArtifact
domain_of:
- FunctionalObject
range: string