Package information retrieval command
comment: Command to retrieve device package information such as the name of the package or its version.
type: NamedIndividual
type: Package Management Command Category
observes: Package property

Firmware version
narrower: Firmware property
type: NamedIndividual
type: Property
comment: The firmware version of a device.

Datamodel parameter creation command
type: Datamodel Parameter Command Category
type: NamedIndividual
comment: Command to create a datamodel parameter instance.
controls: Datamodel parameter instance property

Module property
type: Property
type: NamedIndividual
broader: Module name
broader: Module version
comment: Property kind that represents the properties of a Device Module.

Device identity function
type: NamedIndividual
type: Device Management Function Category
has command: Device info retrieval command
comment: Function kind that represents the capabilities of a device to expose its own identity.

Module information retrieval command
observes: Module property
type: NamedIndividual
type: Module Management Command Category
comment: Command to retrieve device module information such as the name of the module or its version.

Package management function
has command: Package deletion command
has command: Package uninstall command
has command: Package install command
has command: Package creation command
has command: Package update command
has command: Package discovery command
has command: Package information retrieval command
has command: Package download command
type: NamedIndividual
type: Device Management Function Category
comment: Function kind related to the management of Device Packages on a device.

Device info retrieval command
observes: Device identity property
comment: A command to retrieve any Device identity property.
type: NamedIndividual
type: Device Identity Command Category

Device package downloading
comment: State of a Device Package that represents that the process of transferring the required package files is in progress. This state is attained through the Device Package Initialized state either automatically, or through the execution of a Package Download Command. This is a transitory state, that changes to either the Device Package Downloaded or returns to the Device Package Initialized state in case of error.
type: Device Package State
type: NamedIndividual

Package install command
controls: Package property
type: NamedIndividual
type: Package Management Command Category
comment: Command to trigger the installation of Device Package on a device.

Device Identity Command Category
comment: Category of commands enabling the manipulation of device identification properties.
subclass of: Device Management Command Category
type: Class

Module management function
type: Device Management Function Category
type: NamedIndividual
has command: Module activation command
has command: Module discovery command
has command: Module deactivation command
has command: Module information retrieval command
comment: Function kind for the management of Device Modules.

Package uninstall command
comment: Command to trigger the uninstallation of a Device Package on a device.
type: Package Management Command Category
type: NamedIndividual
controls: Package property

Supported datamodel retrieval command
observes: Supported datamodel parameter property
type: Supported Datamodel Command Category
type: NamedIndividual
comment: Command to retrieve a supported datamodel parameter, which corresponds to the information required to access a datamodel parameter instance and interpret its value.

Datamodel parameter instance value
type: NamedIndividual
type: Property
comment: Value of a datamodel parameter instance, obtained as the result of the execution of a Datamodel parameter retrieval command.
narrower: Datamodel parameter instance property

enables management service
type: ObjectProperty
inverse of: has connection
comment: A relationship between a Management Service and Management Connection that represents the fact that a Management Service only exists thanks to the Management Connection. If the Management Connection is closed, the Management Service does not exist anymore.
domain: Management Connection
range: Management Service

Datamodel parameter update command
type: Datamodel Parameter Command Category
type: NamedIndividual
controls: Datamodel parameter instance property
comment: Command to update the value of a Datamodel parameter instance.

has connected client
domain: Server
range: Client
type: ObjectProperty
comment: Relationship between a Server and a Client when the Client is connected and authenticated to the Server, enabling the exposition of its DM Functions. This relationship could be inferred when a Management Service connects both the Client and the Server. Inverse of saref4dmgt:connectedToServer.
sub property of: connectedTo

Device Control Command Category
subclass of: Device Management Command Category
comment: Category of commands enabling the manipulation of the device state, for instance the power state with a Reboot or Shutdown command.
type: Class

Device package installed
type: NamedIndividual
type: Device Package State
comment: State of a Device package whose resources have been made ready for their final purpose, after the download and install processes are completed.

Device Package
comment: A DevicePackage is an archive file that may contain resource files, code, libraries or executable files. It is a resource that the Device should retrieve or receive from an external source. A DevicePackage is only actionable once it has been downloaded and installed. It may allow a Device to support additional Functions by instantiating a DeviceModule. A DevicePackage may be uninstalled and then removed from the Device.
subclass of: FeatureOfInterest
type: Class

Module activation command
type: Module Management Command Category
type: NamedIndividual
comment: Command to trigger the activation of a Device Module.

Package version
type: Property
type: NamedIndividual
comment: The version of a device package.
narrower: Package property

Firmware information retrieval command
type: Firmware Management Command Category
type: NamedIndividual
different from: Firmware update command
comment: Command to retrieve firmware information such as the current firmware version for a device.
observes: Firmware property

Datamodel parameter function
has command: Datamodel parameter creation command
has command: Datamodel parameter deletion command
has command: Datamodel parameter retrieval command
has command: Datamodel parameter operate command
has command: Datamodel parameter update command
type: NamedIndividual
type: Device Management Function Category
comment: Function kind for the manipulation of datamodel parameters.

SAREF4DMGT : SAREF extension for the Device Management domain
creator: Samuel Berlemont
creator: Marc Douet
creator: Cyrille Bareau
creator: François Aïssaoui
description: The ontology aims to define concepts within the Device Management domain, facilitating the remote administration of devices and ensuring their proper functioning. It addresses challenges related to the heterogeneity of management protocols by representing execution paths for commands and modeling the information exchanged between devices and the management system. This ontology is developed as a SAREF extension.
version IRI: v1.1.1
license: etsi-software-license
imports: v4.1.1
imports: v1.1.2
preferred namespace prefix: s4dmgt
publisher: www.etsi.org
version info: v1.1.1
abstract: The Device Management (DM) domain consists in the remote administration of devices for an operator, such as a service provider or device manufacturer. The proposal for an ontology for standardization in Device Management is motivated by the need to address challenges arising from the evolution of DM and the emergence of the Internet of Things (IoT). Initially, DM was introduced by manufacturers and telecommunication operators to ensure the proper functioning of devices like gateways and set-top boxes, focusing on firmware management due to the high replacement costs of these devices. Over time, the scope of DM expanded to include configuration and customer care, enabling Telcos to configure value-added services, improve Quality of Service (QoS), and reduce costs. With the rise of IoT, the DM landscape has shifted significantly. The proliferation of heterogeneous IoT devices and the temptation to produce disposable devices have highlighted the need for remote management for economic and ecological reasons. However, existing DM solutions face challenges due to the scale and diversity of IoT devices, as well as the prevalence of proprietary protocols and siloed solutions from various manufacturers. This has created issues with heterogeneity in device capabilities, DM protocols, and management solutions. Standardization becomes essential to facilitate common, interoperable protocols for DM, simplifying device integration and benefiting both operators and manufacturers. The proposed IoT Device Management Ontology provides an abstract semantic model of DM domain-specific concepts, enabling cross-system data interoperability and knowledge enrichment through reasoning. This ontology aims to unify and streamline IoT DM practices, overcoming the limitations of existing approaches.
type: Ontology

Datamodel parameter instance property
type: NamedIndividual
type: Property
broader: Datamodel parameter instance value
broader: Datamodel parameter instance name
comment: Property kind that represents the properties of a Datamodel Parameter Instance. These parameter instances represent the actionable capabilities of the Device in a format specific to the datamodel implemented by the Device, and exposed by the Client. It should not be confused with the Supported Datamodel Parameter, which represents the abstract capabilities of the Device.

Device identity property
type: NamedIndividual
type: Property
broader: Manufacturer
broader: Hardware version
broader: Serial number
broader: Model name
broader: Model number
comment: Set of properties that constitutes a Device Identity.

Supported datamodel parameter property
broader: Supported datamodel parameter type
broader: supported datamodel parameter primitives
broader: Supported datamodel parameter name
type: Property
type: NamedIndividual
comment: Property kind that represents the properties of a Supported Datamodel Parameter. These parameters represent the capabilities of the Device in a format specific to the datamodel implemented by the Device, and exposed by the Client. It should not be confused with the Datamodel Parameter Instance, which represents the actionable capabilities of the Device.

is represented by
domain: Manageable Device
inverse of: represents device
type: ObjectProperty
comment: A relationship between a Manageable Device and one of the Clients that expose its DM functions to DM servers.
range: Client

Package property
comment: Property kind that represents the properties of a DevicePackage
type: Property
type: NamedIndividual
broader: Package name
broader: Package version

Firmware management function
type: Device Management Function Category
type: NamedIndividual
comment: Set of functions related to the management of the firmware for a device.
has command: Firmware update command
has command: Firmware information retrieval command

Package deletion command
controls: Package property
type: NamedIndividual
type: Package Management Command Category
comment: Command to trigger the deletion of a Device Package on a device.

Firmware update command
comment: Command to trigger the update of the firmware of a device.
type: Firmware Management Command Category
type: NamedIndividual
controls: Firmware property

Management Service
subclass of: Service
comment: A saref:Service that represents functions or functions of interest of the Device Management Function Category. The ManagementService exposes these functions through a Connection, between a Client and a Server.
type: Class

Datamodel parameter instance name
type: Property
type: NamedIndividual
narrower: Datamodel parameter instance property
comment: Name for an instance of a datamodel parameter.

Device module activated
comment: State of a Device Module whose related functions were made available on a device, either automatically after the Device Module installation, or through a Module activation command.
type: Device Module State
type: NamedIndividual

Firmware property
type: Property
type: NamedIndividual
broader: Firmware version
comment: Property kind that represents the properties of the firmware of a device. The device firmware is the running base software for a device, which is automatically loaded into memory and executed at boot.

Manufacturer
comment: Device identity property representing the manufacturer of the device.
type: Property
type: NamedIndividual
narrower: Device identity property

Device Management Function Category
comment: Category of Functions related to the Device Management domain. These Functions correspond to the capabilities of the Device to perform its own diagnostics, maintenance, configuration, monitoring and control.
subclass of: Function
type: Class

Package name
narrower: Package property
type: Property
type: NamedIndividual
comment: The name of a Device Package.

Device package installing
type: Device Package State
type: NamedIndividual
comment: State of a Device Package that represents that the process of readying the required package files is in progress. This state is attained through the execution of the Package Install Command, from the Device Package Validated state. This is a transitory state, that changes to the Device Package Installed state, or returns to the Device Package Validated state in case of error.

Module discovery command
type: Module Management Command Category
type: NamedIndividual
observes: Module property
comment: Command to retrieve the list of Device Modules available on a device.

Hardware version
comment: Device identity property referring to the specific version of the set of physical components of a device, known as hardware version.
type: NamedIndividual
type: Property
narrower: Device identity property

Reboot command
type: NamedIndividual
type: Device Control Command Category
comment: Command to trigger the reboot process of a device.

Management Connection
type: Class
comment: Abstract representation of the connection between a Client and a Server. It does not necessarily imply that a persistent connection is established between the entities - such as a TCP connection. It represents the link and the capability of the Server to interact with the Client. For instance, the Client has been authenticated by the Server with a certificate, and/or the client has received a configuration for access rights to its functions for the Server.
subclass of: Class
  intersection of: Connection
  intersection of: Restriction
    on property: connectsSystem
    some values from: Client
  intersection of: Restriction
    some values from: Server
    on property: connectsSystem

Datamodel parameter operate command
type: NamedIndividual
type: Datamodel Parameter Command Category
comment: Command to trigger the execution of a datamodel parameter instance that corresponds to an executable process on a device.
controls: Datamodel parameter instance property

Package update command
comment: Command to trigger the update of a Device Package on a device. This corresponds to the action of replacing, on a device, a Device Package by another Device Package with the same name, but a different version.
controls: Package property
type: NamedIndividual
type: Package Management Command Category

Package Management Command Category
comment: Category of commands enabling the manipulation of device packages.
subclass of: Device Management Command Category
type: Class

Package creation command
type: NamedIndividual
type: Package Management Command Category
comment: Command to trigger the creation of a Device Package on a device.
controls: Package property

Reset command
type: Device Control Command Category
type: NamedIndividual
comment: Command to change the entire state of a device and its resources to another state as predefined according to the device manufacturer policy.

Device Module
comment: A DeviceModule is an executable software entity on the Device, i.e. a DeviceModule may be activated and deactivated on demand through dedicated Functions. As such, the DeviceModule implements specific Functions that are available to the Device when the DeviceModule is activated. A DeviceModule may be supported by a DevicePackage: deleting the corresponding DevicePackage will in turn remove the DeviceModule and its related Functions.
subclass of: FeatureOfInterest
type: Class

Module name
comment: The name of a device module.
type: Property
type: NamedIndividual
narrower: Module property

represents device
type: ObjectProperty
range: Manageable Device
domain: Client
comment: A relationship between a Client and the Device whose DM functions the Client exposes to DM servers.

Package download command
controls: Package property
type: NamedIndividual
type: Package Management Command Category
comment: Command to trigger the download of a Device Package in the Device Package Initialized state.

Datamodel Parameter Command Category
comment: Category of commands enabling the manipulation of one or more Datamodel Parameters.
subclass of: Device Management Command Category
type: Class

Device module deactivated
type: NamedIndividual
type: Device Module State
comment: State of a Device Module whose related functions were made unavailable through a Module Deactivation Command.

Module Management Command Category
subclass of: Device Management Command Category
type: Class
comment: Category of commands enabling the manipulation of device modules.

Supported datamodel parameter type
comment: Type of a supported datamodel parameter. For instance, this type can represent that the supported datamodel parameter is a reference to an executable resource. The corresponding type would be 'command' in the CWMP standard protocol, and its TR-181 technical report. This type can represent a reference to a measurement process on the device that retrieves a value. In that case, the supported datamodel parameter also describes the unit of that value. The type 'object' corresponds to a supported datamodel parameter that contains other supported datamodel parameters, creating a hierarchical structure. A final example would be a 'table', i.e. the corresponding datamodel parameter is a list of instances of the same object. For more information, please refer to the specification documents of DM protocol standards such as TR-181 from the BroadBand Forum.
type: Property
type: NamedIndividual
narrower: Supported datamodel parameter property

connected to server
comment: Relationship between a Client and a Server when the Client is connected and authenticated to a Server, enabling the exposition of its DM Functions. This relationship could be inferred when a Management Service connects both the Client and the Server. Inverse of saref4dmgt:hasConnectedClient.
type: ObjectProperty
domain: Client
sub property of: connectedTo
inverse of: has connected client
range: Server

Supported datamodel parameter name
type: Property
type: NamedIndividual
narrower: Supported datamodel parameter property
comment: Name of a supported datamodel parameter.

supported datamodel parameter primitives
type: NamedIndividual
type: Property
comment: Property of a supported datamodel parameter listing the different available primitives for the manipulation of the corresponding Datamodel parameter instance(s). These primitives will for instance include the basic "Create", "Read", "Update", "Delete" operations and their corresponding names in the different Device Management protocols.
narrower: Supported datamodel parameter property

Device package uninstalling
type: NamedIndividual
type: Device Package State
comment: State of a Device Package that represents that the process of removing the associated package files is in progress. This is a transitory state, that either changes to the Device Package Initialized or Device Package Validated states depending on implementation.

Datamodel parameter deletion command
controls: Datamodel parameter instance property
type: NamedIndividual
type: Datamodel Parameter Command Category
comment: Command to delete a datamodel parameter instance.

Device Management Command Category
type: Class
subclass of: Command
comment: Category of Commands that are specific to the Device Management domain.

Device Module State
disjoint with: Device Package State
type: Class
subclass of: Device Management State
comment: State of a DeviceModule

Module deactivation command
type: Module Management Command Category
type: NamedIndividual
comment: Command to trigger the deactivation of a Device Module.

Supported datamodel function
type: Device Management Function Category
type: NamedIndividual
has command: Supported datamodel retrieval command
comment: Function kind to manage the supported datamodel of a device.

Model number
type: Property
type: NamedIndividual
comment: The unique identifier assigned to a device model, used to distinguish it from other models and versions within a manufacturer's product lineup.
narrower: Device identity property

Model name
comment: Device identity property that represents the device model, i.e. the denomination for a specific hardware design for this device, in a human-readable format.
type: Property
type: NamedIndividual
narrower: Device identity property

Firmware Management Command Category
type: Class
comment: Category of commands enabling the manipulation of device firmwares.
subclass of: Device Management Command Category

has device package
type: ObjectProperty
comment: A relationship between a DeviceModule and a DevicePackage that represents the fact that the DeviceModule only exists thanks to the DevicePackage. If the DevicePackage is uninstalled, the DeviceModule does not exist anymore.

has connection
domain: Management Service
type: ObjectProperty
comment: A relationship between a Management Service and a Management Connection, indicating that the Management Service exists solely because of the Management Connection. If the Management Connection ceases to exist, the Management Service will also cease to exist..
range: Management Connection

Device package validated
type: Device Package State
type: NamedIndividual
comment: State of a Device Package that represents that the required package files are available on the device, and actually correspond to the expected files, without corruption. The transition from the Device Package Downloaded state is automatic, and depends on the client and package implementations.

Serial number
comment: Device identity property referring to the unique identifier assigned to an individual device, used for tracking, warranty, and support purposes, distinguishing it from all other units produced.
type: Property
type: NamedIndividual
narrower: Device identity property

Device package initialized
comment: State of a Device Package that represents that the process of creating the required package on the device. This state is attained through the execution of the Package Creation Command. This may be a transitory state, that changes to the Device Package Downloading state automatically.
type: Device Package State
type: NamedIndividual

Supported Datamodel Command Category
subclass of: Device Management Command Category
type: Class
comment: Category of commands enabling the manipulation of supported datamodels.

Device Management State
type: Class
subclass of: State
comment: This is a class of states for Device Management.

Module version
type: NamedIndividual
type: Property
comment: The version of a Device Module.
narrower: Module property

Datamodel parameter retrieval command
type: NamedIndividual
type: Datamodel Parameter Command Category
observes: Datamodel parameter instance property
comment: Command to retrieve the value of a Datamodel parameter instance.

Device package downloaded
type: Device Package State
type: NamedIndividual
comment: State of a Device Package whose set of required files are available of on the device, either through a download process from a Client, or an upload process from a Server. This is a transitory state, that changes to the either the Device Package Validated state, or returns to the Device Package Initialized state in case of error.

Device Package State
comment: State of a DevicePackage
type: Class
subclass of: Device Management State

Manageable Device
subclass of: Device
type: Class
comment: A tangible object that has at least one Device Management Function. This class extends the saref:Device class, it is a Feature of Interest by definition.

Server
type: Class
subclass of: System
comment: A DM Server is the software entity which is responsible for performing DM operations on a fleet of Devices. It exposes the set of available operations to an entity that needs to trigger an operation, such as a manufacturer or a Customer Care service. The DM Server is a endpoint, generally secured, with which DM Clients communicate. The protocol used between Server and Client is not in the scope of this ontology. It can follow a DM standard such as CWMP or LwM2M, or be completely proprietary.

Device control function
type: Device Management Function Category
type: NamedIndividual
has command: Reset command
has command: Reboot command
comment: Function kind to control the global state of the device, e.g. its power state through the Reboot function, or the global configuration through the Reset function.

Package discovery command
comment: Command to retrieve the list of available Device Packages on a device.
type: NamedIndividual
type: Package Management Command Category
observes: Package property

enables device module
inverse of: has device package
comment: A relationship between a DevicePackage and a DeviceModule that represents the fact that the DeviceModule only exists thanks to the DevicePackage. If the DevicePackage is uninstalled, the DeviceModule does not exist anymore.
type: ObjectProperty

Client
type: Class
subclass of: System
comment: Software entity which represents a Device by exposing its DM Functions to one or more DM Server(s). It is responsible for the triggering of the DM Functions when a Command targeting the represented Device is received by the Server. The Client is also responsible for the reporting of the results of the Function execution to the Server. The Client has an identifier that is unique only relatively to each Server it is connected to.