Skip to content

Class: SoftwareArtifact

Software asset

URI: base:SoftwareArtifact

 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

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

Any questions left?

Ask the community