Skip to content

Class: SoftwareAsset

Any kind of software element that needs to be considered. From artifacts (executables, libraries, archives,...) to running software (process, container, virtual machine,...).

URI: base:SoftwareAsset

 classDiagram
    class SoftwareAsset
      Asset <|-- SoftwareAsset

      SoftwareAsset : asset_identifiers
      SoftwareAsset : asset_operations
      SoftwareAsset : connection_points
      SoftwareAsset : custom_ui_properties
      SoftwareAsset : functional_object_type
      SoftwareAsset : functional_parts
      SoftwareAsset : id
      SoftwareAsset : instance_annotations
      SoftwareAsset : last_modified_timestamp
      SoftwareAsset : management_state
      SoftwareAsset : name
      SoftwareAsset : other_states
      SoftwareAsset : product_instance_identifier
      SoftwareAsset : reachability_state
      SoftwareAsset : responsible
      SoftwareAsset : software_components
      SoftwareAsset : zone


      SoftwareAsset <|-- SoftwareArtifact
      SoftwareAsset <|-- RunningSoftware

      SoftwareAsset : asset_identifiers
      SoftwareAsset : asset_operations
      SoftwareAsset : connection_points
      SoftwareAsset : custom_ui_properties
      SoftwareAsset : functional_object_type
      SoftwareAsset : functional_parts
      SoftwareAsset : id
      SoftwareAsset : instance_annotations
      SoftwareAsset : last_modified_timestamp
      SoftwareAsset : management_state
      SoftwareAsset : name
      SoftwareAsset : other_states
      SoftwareAsset : product_instance_identifier
      SoftwareAsset : reachability_state
      SoftwareAsset : responsible
      SoftwareAsset : software_components
      SoftwareAsset : zone

Inheritance

Attributes (AKA Slots)

Name Cardinality and Range Description Inheritance
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
Asset software_components range SoftwareAsset
Device software_components range SoftwareAsset
SoftwareAsset software_components range SoftwareAsset
SoftwareArtifact software_components range SoftwareAsset
RunningSoftware software_components range SoftwareAsset
AssetLink software_components range SoftwareAsset
Dcd software_components range SoftwareAsset
Gateway software_components range SoftwareAsset

Identifier and Mapping Information

Mappings

Mapping Type Mapped Value
self base:SoftwareAsset
native base:SoftwareAsset

LinkML Source

Direct

name: SoftwareAsset
description: Any kind of software element that needs to be considered. From artifacts
  (executables, libraries, archives,...) to running software (process, container,
  virtual machine,...).
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
is_a: Asset

Induced

name: SoftwareAsset
description: Any kind of software element that needs to be considered. From artifacts
  (executables, libraries, archives,...) to running software (process, container,
  virtual machine,...).
from_schema: https://common-device-management.code.siemens.io/documentation/asset-modeling/base-schema/v0.10.0/iah-base.jsonld
rank: 1000
is_a: Asset
attributes:
  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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    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: SoftwareAsset
    domain_of:
    - FunctionalObject
    range: string

Any questions left?

Ask the community