Skip to content

Class: SoftwareArtifact

Software asset

URI: base:SoftwareArtifact

 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

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.*$

Any questions left?

Ask the community