model
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Mon, 18 Jul 2011 18:00:29 +0100
changeset 0 9313380c512c
child 1 ee253eb2ff32
model
model/ProvenanceModel.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/ProvenanceModel.html	Mon Jul 18 18:00:29 2011 +0100
@@ -0,0 +1,515 @@
+<!DOCTYPE html>
+<html><head> 
+    <title>Provenance Model</title> 
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
+    <!-- 
+      === NOTA BENE ===
+      For the three scripts below, if your spec resides on dev.w3 you can check them
+      out in the same tree and use relative links so that they'll work offline,
+     --> 
+    <script src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script> 
+    <script class="remove"> 
+      var respecConfig = {
+          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+          specStatus:           "ED",
+          
+          // the specification's short name, as in http://www.w3.org/TR/short-name/
+          shortName:            "PIL-Model",
+ 
+          // if your specification has a subtitle that goes below the main
+          // formal title, define it here
+           subtitle   :  "Initial draft for internal discussion",
+ 
+          // if you wish the publication date to be other than today, set this
+          // publishDate:  "2009-08-06",
+ 
+          // if the specification's copyright date is a range of years, specify
+          // the start date here:
+          // copyrightStart: "2005"
+ 
+          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+          // and its maturity status
+          // previousPublishDate:  "1977-03-15",
+          // previousMaturity:  "WD",
+ 
+          // if there a publicly available Editor's Draft, this is the link
+          edDraftURI:           "http://www.w3.org/2011/prov/wiki/D1--NOT-YET-AVAILABLE",
+ 
+          // if this is a LCWD, uncomment and set the end of its review period
+          // lcEnd: "2009-08-05",
+ 
+          // if you want to have extra CSS, append them to this list
+          // it is recommended that the respec.css stylesheet be kept
+          extraCSS:             ["http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"],
+ 
+          // editors, add as many as you like
+          // only "name" is required
+          editors:  [
+              { name: "Luc Moreau", url: "http://www.ecs.soton.ac.uk/~lavm",
+                company: "University of Southampton, UK" },
+              { name: "Paolo Missier", url: "http://www.cs.ncl.ac.uk/people/Paolo.Missier",
+                company: "Newcastle University, UK" },
+          ],
+ 
+          // authors, add as many as you like. 
+          // This is optional, uncomment if you have authors as well as editors.
+          // only "name" is required. Same format as editors.
+ 
+          authors:  [
+              { name: "TBD"},
+          ],
+          
+          // name of the WG
+          wg:           "Provenance Working Group",
+          
+          // URI of the public WG page
+          wgURI:        "http://www.w3.org/2011/prov/wiki/Main_Page",
+          
+          // name (with the @w3c.org) of the public mailing to which comments are due
+          wgPublicList: "public-prov-wg",
+          
+          // URI of the patent status for this WG, for Rec-track documents
+          // !!!! IMPORTANT !!!!
+          // This is important for Rec-track documents, do not copy a patent URI from a random
+          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+          // Team Contact.
+          wgPatentURI:  "",
+      };
+    </script> 
+  </head> 
+  <body> 
+    <section id="abstract">
+<p>This document defines a data model for Provenance.</p>
+
+<p>
+This is a document for internal discussion, which will ultimately
+evolve in the first Public Working Draft of the Conceptual Model.</p>
+    </section> 
+    
+    <section> 
+      <h2>Introduction<br>
+</h2> 
+      <p> 
+      The Provenance language that is being defined by this WG, with name to be determined,  is an <em>assertion language</em> which allows asserters to make assertions about <em>Entities</em> and activities in the real world (as they view it) and how they influence each other. <br>
+</p>
+    </section> 
+
+    <section> 
+<h2>Motivation and Requirements</h2>
+    </section> 
+
+    <section> 
+<h2>Example</h2>
+    </section> 
+
+
+    <section > 
+<h2>About the Provenance Language</h2>
+
+<p>In the world (whether real or not), there are entities, which can be
+physical, digital, conceptual, or otherwise, and activities involving
+entities.  Words such entity or activity should be understood with
+their informal meaning.</p>
+
+<p>Furthermore, this specification is concerned with <em>situated
+entities</em>, that is, entities, with their state, and situation in
+the world, as perceived by their asserters.  (NOTE: alternative term could be characterized entity).</p>
+
+<p>PIL is a language by which:
+<menu>
+<li>  representations of the world can be expressed according to a
+   constrained vocabulary
+<li> these representations are subjective, they are the point of view
+   of their asserters, and in that sense constitute assertions about
+   the world.
+</menu>
+</p>
+
+<p>All assertions in PIL have to be interpreted as something that has happened.</p>
+
+<p> No assumption is made on how PIL Assertions are asserted. They can
+be can be made by any means: observing, guessing, lying, or any other
+way.</p>
+
+    </section> 
+
+
+
+    <section id="data-model-concepts"> 
+
+
+<h2>Provenance Data Model</h2>
+
+<em>For each construct, I tried to follow the template: short
+definition/data structure components/properties/inference.  </em>
+    
+    <section> 
+      
+<h3>BOB</h3>
+ 
+<p>A  <dfn id="dfn-bob">BOB</dfn> represents an identifiable situated entity.</p>
+
+<p>A BOB assertion
+ is about a situated entity, whose state and in the world are variant;
+ a BOB assertion is made at a particular point and  is invariant.
+ It includes a set of characteristics, predicate-value pairs, which hold about the situated entity;
+</p>
+
+<p>A BOB assertion:
+<ul>
+<li> MAY contain an identity;</li>
+<li> contains a set of characteristics, predicate-value pairs.</li>
+</ul>
+
+
+<p>A situated entity MUST exist instantaneously or for a continuous time interval. If a BOB's characteristics hold over multiple time intervals, then we are dealing with multiple situated entities, each with their respective identity.</p>
+
+<p>Identity in a BOB assertion is OPTIONAL to allow for a so far unidentified (though still identifiable!) entities.<p>
+
+<p>There is no assumption that the set of characteristics is complete,
+that the characteristics are independent/orthogonal of each other, or
+that the characteristics hold for a continuous time interval.</p>
+
+
+
+    </section> 
+
+    <section id="concept-ProcessExecution"> 
+      
+<h3>Process Execution</h3>
+<p>A <dfn id="dfn-ProcessExecution">process execution</dfn> represents an identifiable activity that performs a piece of work.
+</p>
+
+<p>The activity that a process execution represents has a duration, delimited by its start and its end; hence, it occurs over a continuous time interval.</p>
+
+<p> A process execution assertion:
+<ul>
+<li> MAY contain an identity;
+<li> MAY contain a recipe link;
+<li> MAY contain a start time;
+<li> MAY contain an end time.
+</ul>
+</p>
+
+<p>Identity in a process execution assertion is OPTIONAL to allow for
+unidentified (though still identifiable!) process executions.<p>
+
+<p>From the assertion of a process execution, one can infer that the start precedes the end of the represented activity. </p>
+
+</section> 
+
+<section id="concept-Generation">
+<h3>Generation<br>
+</h3>
+
+
+
+<p><dfn id="dfn-Generation">Generation</dfn> represents the creation of a new situated entity by an activity. This situated entity did not exist before creation.</p>
+
+<p>A Generation assertion:
+<ul>
+<li> contains a process execution;
+<li> contains a BOB, representing the situated entity that is consumed;
+<li> contains a role, distinguishing all possible generations of a same BOB by a same process execution;
+<li> MAY contain a "generation time", the time at which the situated entity was consumed.</p>
+</ul>
+</p>
+
+
+<p>A given BOB can be generated at most by one process execution.</p>
+
+<p>Given an assertion <b>Generated(x,pe,r)</b> or <b>Generated(x,pe,r,t)</b>, the
+activity denoted by <b>pe</b> and the entities used by <b>pe</b> dermine values of some of <b>x</b>'s characteristics.</p>
+
+<p>Given an assertion <b>Generated(x,pe,r)</b> or <b>Generated(x,pe,r,t)</b>, one can
+infer that the generation of the entity denoted by <b>x</b> precedes the end
+of <b>pe</b> and follows the beginning of <b>pe</b>. 
+</p> 
+
+</section>
+
+
+<section id="concept-Use">
+<h3>Use</h3>
+
+<p><dfn id="dfn-Use">Use</dfn> represents the consumption of a situated entity by an activity.</p>
+
+
+<p>A Use assertion:
+<ul>
+<li> contains a process execution;
+<li> contains a BOB, representing the situated entity that is used;
+<li> contains a role, distinguishing all possible uses of a same BOB by a same process execution;
+<li> MAY contain a "use time", the time at which the situated entity was used.</p>
+</ul>
+</p>
+
+<p>A given process execution is allowed to use a given BOB multiple
+times, but each of those uses must have a different role.</p>
+
+
+
+
+
+<p>Given an assertion <b>Use(pe,x,r)</b> or <b>Use(pe,x,r,t)</b>, the
+activity denoted by <b>pe</b> exploits/reads the values of some of
+<b>x</b>'s characteristics.</p>
+
+<p>Given an assertion <b>Use(pe,x,r)</b> or <b>Use(pe,x,r,t)</b>, one can
+infer that the use of the entity denoted by <b>x</b> precedes the end
+of <b>pe</b> and follows the beginning of <b>pe</b>. Furthermore, we
+can infer that the generation of the entity <b>x</b> always precedes
+its use.  </p>
+
+</section>
+
+
+
+<section id="concept-Derivation">
+<h3>Derivation</h3>
+
+<p><dfn id="dfn-Derivation">Derivation</dfn> expresses that some situated entity is transformed from, created from, or affected by another situated entity.  </p>
+
+<p>A Derivation assertion:
+<ul>
+<li> contains a BOB, denoting the generated situated entity;
+<li> contains a BOB, denoting the used situated entity.
+</ul>
+</p>
+
+
+
+<p>From an assertion <b>Derived(B,A)</b>, the values of some
+characteristics of B are at least partially determined by the values
+of some characteristics of A.</p>
+
+
+
+<p>Given an assertion <b>Derived(B,A)</b>, one can infer that the use
+of situated entity denoted by <b>A</b> precedes the generation of
+the situated entity denoted by <b>B</b>.
+
+</section>
+
+<section id="concept-Agent">
+<h3>Agent</h3>
+
+
+
+<p>An <dfn id="dfn-Agent">agent</dfn> is a situated entity capable of
+activity.</p> 
+
+
+<p>A situated entity can be asserted to be an agent or can be inferred to be
+an agent by involvement in a process execution.  </p>
+</section>
+
+<section id="concept-IVPOf">
+
+<h3>IVP of</h3>
+
+<p><dfn id="dfn-IVPof">IVP of</dfn> represents a relationship between two situated entities that are the same entity over some continuous time interval.</p>
+
+<p>An IVP of assertion, noted <b>IVPof(B,A)</b>:
+<ul>
+<li> contains a BOB, denoting ...
+<li> contains a BOB, denoting ...
+</ul>
+</p>
+
+
+<p>Let A and B be two entity states. An assertion "B is an IVP of A" 
+indicates that, for its asserter, A and B represent the same entity in 
+the world, and the entity states modelled by A and B are consistent.</p>
+
+
+<p>
+An assertion "B is an IVP of A" holds, <em>only if</em>: 
+<ol>
+  <li>the characteristics A and B share must have equal values
+  </li><li>something that changed in A has become a characteristics of B
+</li></ol>
+Furthermore, B has invariant properties that have no correspondent for A
+</p>
+</section>
+
+<section id="concept-Time">
+<h3>Time</h3>
+
+<p><dfn id="dfn-time">Time</dfn> is defined according to ISO 8601.</p>
+
+<p>It is OPTIONAL to assert time in use, generation, and process execution.</p>
+
+
+</section>
+
+<section id="concept-RecipeLink">
+<h3>Recipe Link</h3>
+
+<p>A <dfn id="dfn-RecipeLink">recipe link</dfn> is an association between a process execution and a process specification that underpins the process execution.
+</p>
+
+<p>
+It is OPTIONAL to assert recipe links.
+</p>
+
+
+<p>
+Process specifications, as referred to by recipe links, are out of scope of this specification.
+</p>
+
+</section>
+
+<section id="concept-Role">
+<h3>Role</h3>
+
+<p>A <dfn id="dfn-Role">role</dfn> is the function assumed by a BOB or
+an agent with respect to a specific process execution.</p> 
+
+<p>Use, Generation, and Control assertions MUST contain a role.</p>
+
+<p>There is at most one occurrence of a given role for all Use, Generation and Control assertions for a given process execution.</p>
+
+<p>A role's meaning is specific to the process execution it relates
+to.  From this specification's viewpoint, a role's meaning is out of
+scope; thus, roles are considered as syntactic attributes.</p>
+
+
+
+
+
+</section>
+
+<section id="concept-Location">
+<h3>Location</h3>
+
+<p><dfn id="dfn-Location">Location</dfn> is an identifiable geographic place (ISO 19112). As such, there are numerous ways in which location can be specified, such as by a coordinate, address, landmark, row, column, and so forth.</p> 
+
+
+
+<p>
+Location is an OPTIONAL characteristics of 
+BOB, process execution, and agent.
+</p>
+
+
+
+</section>
+
+<section id="concept-OrderingOfProcesses">
+<h3>Ordering of Processes</h3>
+</section>
+
+<p>Various relationships of temporal nature exist between process executions.
+<dfn id="ControlOrdering">Control ordering</dfn> means that the end of
+a process execution precedes the start of another process execution,
+by a same agent.
+<dfn id="InformationOrdering">Information flow</dfn> means that a situated entity was generated by a process execution before it was used by another process execution.
+</p>
+
+<p>An assertion isScheduledAfter:
+<ul>
+<li> contains a process execution;
+<li> contains a process execution.
+</ul>
+</p>
+
+<p>An assertion isInformedBy:
+<ul>
+<li> contains a process execution;
+<li> contains a process execution.
+</ul>
+</p>
+
+
+<section id="concept-Revision">
+<h3>Revision</h3>
+
+<p> <dfn id="dfn-Revision">Revision</dfn> represents the creation of a situated entity considered to be a variant of another. </p>
+
+<p>An assertion isRevisionOf:
+<ul>
+<li> contains a BOB, denoting a older version of an entity;
+<li> contains a BOB, denoting a newer version of an entity;
+<li> MAY contain a responsible agent.
+</ul>
+</p>
+
+
+<p>
+From an assertion <b>isRevisionOf(new,old,ag)</b>, one can infer that: 
+<ul>
+<li> The situated entity denoted by <b>new</b> is derived from the situated entity denoted by <b>old</b>
+<li> There exists a BOB <b>X</b>, such that:
+<ul> 
+<li> <b>new</b> isIVP of <b>X</b>;
+<li> <b>old</b> isIVP of <b>X</b>;
+<li> <b>X</b> MAY have been asserted.
+</ul>
+</ul>
+</p>
+
+
+
+
+
+</section>
+
+<section id="concept-Participation">
+<h3>Participation</h3>
+</section>
+
+<section id="concept-Control">
+<h3>Control</h3>
+
+<p> <dfn id="dfn-Control">Control</dfn> represents the starting or ending of a process execution by an agent. </p>
+
+<p>An assertion <b>startedBy(pe,ag,r)</b>:
+<ul>
+<li> contains a process execution;
+<li> contains an agent;
+<li> contains a role.
+</ul>
+</p>
+
+<p>An assertion <b>endedBy(pe,ag,r)</b>:
+<ul>
+<li> contains a process execution;
+<li> contains an agent;
+<li> contains a role.
+</ul>
+</p>
+
+<p> 
+The convenience assertion <b>controlledBy(pe,ag,r)</b> is
+equivalent to <b>startedBy(pe,ag,r)</b> and <b>endedBy(pe,ag,r)</b>.
+</p>
+
+<p><em> Can multiple agents control a process execution? If so, what does it mean to have a start/end time?</em> </p> 
+
+</section>
+
+<section id="concept-ProvenanceContainer">
+<h3>Provenance Container</h3>
+</section>
+
+<section id="concept-ViewsOrAccount">
+<h3>View Or Account</h3>
+</section>
+
+<section id="concept-Collection">
+<h3>Collection</h3>
+</section>
+
+
+
+    </section> 
+
+<section class="appendix"> 
+      <h2>Acknowledgements</h2> 
+      <p> 
+        WG membership to be listed here.
+      </p> 
+    </section> 
+   
+ </body></html>