SSN describe ssn:Sensors that implement ssn:Sensing methods and generate ssn:Observations, which are (soon to be) activities.
In parallel to this, SAN describes san:Actuators that implement san:Acting methods and generate ssn:Actuation activities.
In this ontology, we want to generalize these two parallel conceptual models, and account for a third use case: Web services exposed on the web may trigger the execution of some processes.
We hence propose the following core concepts for the Process Execution ontology:
pep:ProcessExecutors implement pep:Process methods, and generate pep:ProcessExecutions activities.
Note: we call for comments and suggestions about the naming of these concepts in this project open issue
As sensing and acting methods in SSN and SAN, processes may describe the necessary inputs and outputs. This is represented using properties pep:hasInput and pep:hasOutput. These properties may also be used to describe the actual input and output of a specific process execution.
Figure below overviews the PEP ontology, and illustrates it with an example.
Additional documents describe alignments with other existing ontologies:
Process execution platforms expose process executors on the Web in a RESTful way.
The description of a process. A process generalizes the concept of ssn:Sensing in the SSN ontology, and of san:Acting in the SAN ontology. Examples of processes include sensing, acting, planning, or forecasting.
In the first version of the SSN ontology, ssn:Process was a subclass of dul:Method.
A dul:Method is a Description that defines or uses concepts in order to guide carrying out actions aimed at a solution with respect to a problem. It is different from a Plan, because plans could be carried out in order to follow a method, but a method can be followed by executing alternative plans.
A process execution is the execution activity that is led by the Process Executor. This concept generalizes ssn:Observation, which describes an activity in the newest versoin of the SSN ontology and is hence now aligned with the O&M concept of Observation.
A process execution links to:
A Process Executor can execute (implement) processes. A Process Executor may be a physical device, a computational method, a web service, a laboratory setup with a person following a method, or any other thing that can follow a Process. This concept generalizes ssn:Sensor, which in the latest version of the SSN ontology is a subclass of dul:Object. A dul:Object is any physical, social, or mental object, or a substance.
Prototypical process executors are Sensor, Actuator, Estimator.
Links to ProcessExecution describe the Executions made.
Links to Processes define how the executor can make Executions (it may implement several Processes). A Process Executor implements each of the methods used by the Executions it made.
Other metadata may detail geolocation, vendor, operator, consumed power, etc.
The class of Process Executor Containers. They are Web container of Process Execution ressources, where one may operate HTTP POST requests to execute a given process.
Relationship between a process executor and an execution it was assigned to.
Relationship between an execution and the agent that made it. This concept generalizes ssn:observedBy, which in the first version of the SSN ontology is a sub property of dul:includesObject.
dul:includesObject is a relation between situations and objects, e.g. ‘this morning I’ve prepared my coffee and had my fingers burnt’ (i.e.: the preparation of my coffee this morning included me).
Relationship between a process execution container and the process executor that controls it.
Links a Process Execution Container to the Process that is executed when one operate a create operation request to it.
Links a process, process executor, or process execution, to some description of their input.
Links a process, process executor, or process execution, to some description of their output.
A relation between an Process Executor and a method it implements. This concept generalizes ssn:implements, which in the first version of the SSN ontology is a subproperty of dul:isDescribedBy.
dul:isDescribedBy is the relation between an Entity and a Description. A Description gives a unity to a Collection of parts (the components), or constituents, by assigning a Role to each of them in the context of a whole Object (the system).
Relation between a ProcessExecution and the Process it executes. This concept generalizes ssn:sensingMethodUsed, which in the first version of the SSN ontology is a sub property of dul:satisfies.
dul:satisfies is a relation between a Situation and a Description, e.g. the execution of a Plan satisfies that plan.