Fork me on GitHub

Process Execution ontology.

The process execution ontology is a proposal for a simple extension of both the W3C Semantic Sensor Network and the Semantic Actuator Network ontology cores.

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.

Overview of the PEP Ontology.

Additional documents describe alignments with other existing ontologies:

Process Execution Platform

Process execution platforms expose process executors on the Web in a RESTful way.

Classes

Process

IRI: https://w3id.org/pep/Process

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.

Process Execution

IRI: https://w3id.org/pep/ProcessExecution

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:

  • the process executor it is associated to;
  • the process method used;
  • the input and the output of the process execution.

Process Executor

IRI: https://w3id.org/pep/ProcessExecutor

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.

Object Properties

Process Execution Container

IRI: https://w3id.org/pep/ProcessExecutionContainer

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.

executed

IRI: https://w3id.org/pep/executed

Relationship between a process executor and an execution it was assigned to.

executed by

IRI: https://w3id.org/pep/executedBy

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).

executor

IRI: https://w3id.org/pep/executor

Relationship between a process execution container and the process executor that controls it.

for process

IRI: https://w3id.org/pep/forProcess

Links a Process Execution Container to the Process that is executed when one operate a create operation request to it.

has input

IRI: https://w3id.org/pep/hasInput

Links a process, process executor, or process execution, to some description of their input.

Intuitively:

  • the input description of some process executor specializes the input description of the process it implements;
  • the input description of some process execution specializes both the input description of the process executor that executed it, and of the process method used.

has output

IRI: https://w3id.org/pep/hasOutput

Links a process, process executor, or process execution, to some description of their output.

Intuitively:

  • the output description of some process executor specializes the output description of the process it implements;
  • the output description of some process execution specializes both the output description of the process executor that executed it, and of the process method used.

implements

IRI: https://w3id.org/pep/implements

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).

method used

IRI: https://w3id.org/pep/methodUsed

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.

process execution container

IRI: https://w3id.org/pep/processExecutionContainer

Links a Process Executor to a Web container of Process Execution ressources, where one may operate HTTP POST requests to execute the process.