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.
.
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.
.
Things to note about this example:
- SDPO views a SSN System as PROV Collection of subsystems - as per the earlier SSN-PROV-O alignment. Hence smartMeter_v1 has type prov:Collection (which has member sensor) and and ssn:System (which has subsystem ex:sensor).
- The replaceSensor activity replaces the sensor_1 subsystem of smartMeter_v1 with a new sensor, sensor_2.
- Following completion of the replaceSensor activity, sensor_1 is no longer a subsystem of the smart meter - it has been replaced with sensor_2.
- As the components of the smart meter have changed, a new description of the smart meter (smartMeter_v2) is created, reflecting the new components.
- As smartMeter_v2 is now the latest description of the smart meter, the description of the platform (platform_v1) is updated to reflect that it now hosts smartMeter_v2.
- smartMeter_v2 and platform_v2 are revisions of (a special type of derivation), reflecting that part of the original entities (smartMeter_v1 and platform_v1) have changed.
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.
.
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.