Warning:
This wiki has been archived and is now read-only.

ConceptUse

From Provenance WG Wiki
Jump to: navigation, search

Definition for Concept 'Use'

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

Introduction

The Provenance WG charter identifies the concept 'Use' 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 'Use'?
  • How do we define the concept 'Use'?
  • Where does concept 'Use' appear in ProvenanceExample?
  • Which provenance query requires the concept 'Use'?

Proposed Definitions for the Concept 'Use'

Definition JimM

Used is a relationship between a process execution P and a resource/thing X. P used X implies that:

  • P would not have occurred, or would not have occurred in the same way (duration/products/other) without the presence of X.
  • X is either materially unaffected by or is totally consumed by P. (P does not modify any state/descriptive attributes of X).

The used relationship can be subtyped/labeled to denote the role of X in P: P used 'egg' as ingredient, "Division process execution" used number Y as 'numerator', etc.

Note - OPM basically allows both cases above - an egg is consumed in making the cake, a file is not consumed by an analysis process that reads it. And OPM can't distinguish control/data uses. For PIL, we could potentially shift the definitions a bit to better convey the difference between data and control flow:

Alternate definition (may need some work - not sure this would be consistent with the other definitions I've uploaded)):

P used X if:

  • P would not have occurred, or would not have occurred in the same way (duration/products/other) without the presence of X.
  • The products of P (things generated by P) must be materially affected (their state) must have a dependence on X.
  • X must be consumed by P (X does not exist after P).

(When X is not consumed by P, one would state that X participated in P and could then potentially distinguish control-type participation and/or document what 'state-of-X' thing was indeed consumed by P along the lines discussed in the definition of participation (i.e. a timer signal just participates in P and a database participates in P and has a set of tuples that are extracted from it and used by P (we don't keep the extracted version of these values around after P, not that the values are destroyed), the tuples are used in the new sense that the outputs of P are materially affected by their values).


Definition by Jim and Luc (in progress)

This definition relies on the concept of Thing (ConceptInvariantViewOnThing). See also ConceptGeneration since it's defined symmetrically.

Use is the action/transition/event by which a process execution consumes a thing.

Use is associated with a time (the time at which the thing is used), though statements about use do not have to mention time.

For a thing X to be used by a process execution P, the following must hold:

  • X was generated before its use
  • Use occurs after P's beginning and before P's end
  • TBD:
    • P exploits/reads the values of some of X's invariant properties but not the values of its variant properties
    • P exploits/reads the values of some of X's invariant properties

Definition x.y.z.

blah, blah, blah