The System Deployment Provenance Ontology

The System Deployment Provenance Ontology (SDPO) is an extension of the PROV-O ontology and the Semantic Sensor Network Ontology (SSN) created to describe the activities, entities, and agents that have influenced the deployment of SSN Systems. SSN Systems represent pieces of infrastructure that can be composed of subsystems, such as Sensors, Actuators, and Samplers in a variety of domains, including the Internet of Things.

SSN describes System deployments as the “deployment of one or more Systems for a particular purpose” with refernces to the deployed system and Platforms on which Systems are deployed. SDPO extends the information that can be provided about deployments by providing a vocabulary to document the activities that have occurred before and during a deployment. Here SDPO adopts the PROV-O approach to describe the provenance of a deployment as a record of the activities with associated agents (people, software, etc.) and entities (things used and generated by activities) that have influenced a deployment in some way. This is achieved by building on the SOSA PROV Alignment Model (the SOSA ontology provides the core concepts of SSN) and a previous SSN-PROV-O alignment.

In SDPO, SSN Deployments are viewed as PROV-O Activities (which is consistent with the previous SSN-PROV-O alignment). SDPO defines the Deployment Related Activity class, a sub-class of PROV-O Activity, to describe the activities that have occurred at some time prior to, during, or following the deployment of one of more SSN Systems. SDPO defines several sub-classes of Deployment Related Activity allowing users to describe some of the different types of activities that have occurred. These includes: installation, calibration, maintenance, and removal of the system; inspections of the area (site) surrounding where a system has been deployed; design of the deployment; and review, validation, quality control, and quality assurance activities of the data generated by a system.

Along with the ontology, a number of PROV-Templates are also available on the github repo, which provide suggested provenance patterns for some of the deployment related activities. In Luc Moreau’s words, PROV-Templates “describing the shape of provenance graphs to be generated” – for more information about PROV-Templates and how to use them with the ProvToolbox , please see Luc’s two blog posts (part one, part two).

Examples

This section provides some examples of how the deployment of a smart meter could be described using SDPO.

Installation

The following image shows how the installation of a smater meter onto a platform could be described using SDPO, based on the System Platform Installation template.

Example provenance record describing the installation of a smart meter on a platform..

At the center of the image is the install activity, a type of Installation deployment related activity. This uses the smartMeter and platform entities describing the smart meter that is being installed and the platform that it is being installed on respectively. Only minimal information is provided about the smart meter and platform - in reality we would probably need some additional details, such as the manufacturer of the smart meter and the physical location of the platform. In this provenance record, the install activity generates specialisations of the smart meter (smartMeter_v1) and platform (platform_v1). These new entities share all aspects of the latter (so smartMeter_v1 still has type ssn:System and platform_v1 still has type sosa:Platform), and add additional aspects - that smartMeter_v1 is hosted by platform_v1 and platform_v1 hosts smartMeter_v1).

As the installation activity, smart meter, and platform are described using PROV-O, we can add additional provenance information - such as the person that carried out the installation, when it was completed, etc. using standard PROV concepts.

Replacing a SubSystem

Consider the scenario where the smart meter has been deployed for a period of time and one of the sensors develops a fault and needs to be replaced. We can model this using the SDPO System Replacement activity. The following image shows how that could be described using the System Sybsystem Replacement template.

Example provenance record describing the replacement of a sensor on a smart meter..

Things to note about this example:

Removing (uninstalling) a System

There may come a point when the system is removed, which may well indicate the end of the deployment. The following image shows how that can be described using the SDPO Removal class based on the System Platform Removal template.

Example provenance record describing the removal of a smart meter from a platform..

This example is the mirror of the installation example above: the smartMeter_v3 which is hosed by the platform_v2 is used by the remove activity. This generates new descriptions of the smarter meter (smartMeter_v4) and platform (platform_v3) reflecting that the smart meter is no longer hosted by the platform.

References

The Sensor Deployment Provenance Ontology is described in the IPAW 2018 Paper available from the conference proceedings or the University of Aberdeen Pure System. Presently the proceedings are in press, but the base reference is:

Corsar, D., Markovic, M., & Edwards, P. (2018). Capturing the Provenance of Internet of Things Deployments. In Proceedings of International Provenance and annotation workshop (IPAW) (Lecture Notes in Computer Science). Springer .

Acknowledgements

We owe many, many thanks to Luc Moreau and his team for all their work on the PROV-Templates and ProvTemplate framework, and for providing the ProvTranslator service which was used to generate the images included in this page.