ConceptProcessExecution

From Provenance WG Wiki
Jump to: navigation, search

Definition for Concept 'Process execution'

ISSUE: http://www.w3.org/2011/prov/track/issues/2

Introduction

The Provenance WG charter identifies the concept 'Process execution' as a core concept of the provenance interchange language to be standardized (see http://www.w3.org/2011/01/prov-wg-charter).

  • What term do we adopt for the concept 'Process execution'?
  • How do we define the concept 'Process execution'?
  • Where does concept 'Process execution' appear in ProvenanceExample?
  • Which provenance query requires the concept 'Process execution'?

Proposed Definitions for the Concept 'Process execution'

Definition by Jun

Process execution refers to execution of an action or a process. A process can be a computation script, a workflow definition, a service etc. An action can be a decision making, a judgment etc. A process execution should be associated with an actor.

  • conversion of data (d1) to RDF (f1) at time (t1) is a process execution, an action performed by the gov.
  • generation of a chart (c1) is a process execution, a process performed by alice using some software (tools1), using the turtle (lcp1) file and the statistical assumptions (stats1) as inputs.

Note that, process executions are not explicitly identified in the ProvenanceExample.

Definition by Khalid Belhajjame

"process execution" refers to the instantiation of an atomic or composite process, which can be predefined or not, and which can be performed automatically, e.g., using a web service operation, or manually, e.g., by a human agent.

  • The conversion of data (d1) to RDF (f1) can be seen as a process execution.
  • The publication of the chart (c2) is a process execution.

Definition by Satya

(derived from notion of perdurant/occurrent in Philosophy)

Process is an entity that occurs over a period of time (hence has explicit temporal parts). In the context of provenance, we only consider process that has either completed in the past (occurred) or is occurring in present (partially complete).

Process execution is a specific characteristic (perhaps instantiation) of a process. A process can be referred to independently of its execution. For example, Process design (workflow template) was done by Person X. Process execution (workflow run) was done by Person Y.

Examples of Process entities in the ProvenanceExample:

  • government (gov) publishes RDF data (f1)
  • analyst (alice) downloads a turtle serialization (lcp1)
  • newspaper (news) obtains image (img1)

Definition by Paolo M.

Saying that a process execution refers to the execution of a process is not controversial but it's not saying much, either.

At the very least, I would like to propose that "process" become "process specification". So:

  • a *process* is an instance of a process specification (or action specification if you prefer)
  • a process may execute (or be executed), resulting in a process execution.

After reading later contributions, I would add:

  • an execution is activity that may consume and/ or generate {things,resources...whatever we have decided to call the data that goes in and out}
  • it follows that generation (issue-8) is a relation between a process execution and a {thing etc} that is generated as part of the execution.

In terms of provenance, do we care that a resource r is generated /at some specified point/ during the execution of a process p?

Definition proposed by Paul G.

curated by Jun Z.

A process execution has either completed (occurred in the past) or is occurring in present (partially complete). In other words, the start of a process execution is always in the past. [proposed on 2011-06-14]

suggested revision by Simon M.

qualify the definition to something like: the start of a process execution is always in the past, from the position of any assertion made about it. [proposed on 2011-06-14]

Definition proposed by Graham K.

curated by Jun Z. on June 20

Graham is yet to be convinced that the whole past tense thing as being a key feature. Hence he proposes the following definition.

A process execution represents a specific data processing activity in which in which all inputs and outputs are fully determined.