Skip to content

Class: Software Component (SoftwareComponent)

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

  • NOTE: this is an abstract class and should not be instantiated directly

URI: base:SoftwareComponent

 classDiagram
    class SoftwareComponent
    click SoftwareComponent href "../SoftwareComponent/"
      SoftwareComponent <|-- RunningSoftwareComponent
        click RunningSoftwareComponent href "../RunningSoftwareComponent/"
      SoftwareComponent <|-- SoftwareArtifactComponent
        click SoftwareArtifactComponent href "../SoftwareArtifactComponent/"

      SoftwareComponent : artifact





        SoftwareComponent --> "0..1" SoftwareArtifact : artifact
        click SoftwareArtifact href "../SoftwareArtifact/"



      SoftwareComponent : software_component_type

Inheritance

Slots

Name Cardinality and Range Description Inheritance
software_component_type 1
String
Type designator that supports polymorphism using software components direct
artifact 0..1
SoftwareArtifact
Reference to the software artifact asset direct

Usages

used by used in type used
Asset software_components range SoftwareComponent
Device software_components range SoftwareComponent
SoftwareArtifact software_components range SoftwareComponent
Gateway software_components range SoftwareComponent

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:SoftwareComponent
native base:SoftwareComponent

LinkML Source

Direct

name: SoftwareComponent
description: Any kind of software element that needs to be considered. From artifacts
  (executables, libraries, archives,...) to running software (process, container,
  virtual machine,...).
title: Software Component
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
abstract: true
slots:
- software_component_type
- artifact

Induced

name: SoftwareComponent
description: Any kind of software element that needs to be considered. From artifacts
  (executables, libraries, archives,...) to running software (process, container,
  virtual machine,...).
title: Software Component
from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
abstract: true
attributes:
  software_component_type:
    name: software_component_type
    description: Type designator that supports polymorphism using software components.
      This type is used for validation of the provided software components.
    from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
    rank: 1000
    designates_type: true
    alias: software_component_type
    owner: SoftwareComponent
    domain_of:
    - SoftwareComponent
    range: string
    required: true
  artifact:
    name: artifact
    description: 'Reference to the software artifact asset.

      As of now the combination of multiple software artifacts into a running software
      (for example with plug-ins) is not supported and cannot be natively modeled.'
    from_schema: https://industrial-assets.io/schemas/iah/base-schema/released/v1/iah-base.yaml
    rank: 1000
    alias: artifact
    owner: SoftwareComponent
    domain_of:
    - SoftwareComponent
    - AssetLink
    range: SoftwareArtifact
    inlined: true

Any questions left?

Ask the community