edits to section 5
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Thu, 09 Feb 2012 15:04:34 +0000
changeset 1511 15ef44b3255d
parent 1510 b7147cd9de30
child 1512 89f990f524cc
edits to section 5
model/working-copy/OverviewDiagram.png
model/working-copy/OverviewDiagram.svg
model/working-copy/towards-wd4.html
Binary file model/working-copy/OverviewDiagram.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model/working-copy/OverviewDiagram.svg	Thu Feb 09 15:04:34 2012 +0000
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg height="367" version="1.1" width="573" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect fill="#ffffff" height="73" stroke="#ffffff" stroke-width="1" width="85" x="206" y="88"/>
+<rect fill="none" height="73" stroke="#000000" stroke-width="1" width="85" x="206" y="88"/>
+<text font-family="Dialog" font-size="13" x="230" y="102">
+Entity</text>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="85" x="206" y="111"/>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="85" x="206" y="135"/>
+<rect fill="#ffffff" height="73" stroke="#ffffff" stroke-width="1" width="85" x="454" y="80"/>
+<rect fill="none" height="73" stroke="#000000" stroke-width="1" width="85" x="454" y="80"/>
+<text font-family="Dialog" font-size="13" x="472" y="94">
+Activity</text>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="85" x="454" y="103"/>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="85" x="454" y="127"/>
+<rect fill="#ffffff" height="73" stroke="#ffffff" stroke-width="1" width="141" x="206" y="240"/>
+<rect fill="none" height="73" stroke="#000000" stroke-width="1" width="141" x="206" y="240"/>
+<text font-family="Dialog" font-size="13" x="257" y="254">
+Agent</text>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="141" x="206" y="263"/>
+<rect fill="#000000" height="1" stroke="#000000" stroke-width="1" width="141" x="206" y="287"/>
+<polyline fill="none" points="238,240 238,160" stroke="#000000" stroke-width="1"/>
+<polygon fill="#ffffff" points="238,160 245,172 231,172" stroke="#ffffff" stroke-width="1"/>
+<polygon fill="none" points="238,160 245,172 231,172" stroke="#000000" stroke-width="1"/>
+<polyline fill="none" points="470,152 470,248 346,248" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="241" y2="248"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="255" y2="248"/>
+<text font-family="Dialog" font-size="13" x="378" y="237">
+wasStartedBy</text>
+<text font-family="Dialog" font-size="13" x="483" y="180">
+</text>
+<text font-family="Dialog" font-size="13" x="357" y="244">
+</text>
+<polyline fill="none" points="502,152 502,280 346,280" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="273" y2="280"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="287" y2="280"/>
+<text font-family="Dialog" font-size="13" x="408" y="276">
+wasEndedBy</text>
+<text font-family="Dialog" font-size="13" x="515" y="180">
+</text>
+<text font-family="Dialog" font-size="13" x="357" y="276">
+</text>
+<polyline fill="none" points="526,152 526,304 346,304" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="297" y2="304"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="358" x2="346" y1="311" y2="304"/>
+<text font-family="Dialog" font-size="13" x="424" y="324">
+wasAssociatedWith</text>
+<text font-family="Dialog" font-size="13" x="539" y="180">
+</text>
+<text font-family="Dialog" font-size="13" x="357" y="300">
+</text>
+<polyline fill="none" points="206,272 126,272 126,344 214,344 214,312" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="221" x2="214" y1="324" y2="312"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="207" x2="214" y1="324" y2="312"/>
+<text font-family="Dialog" font-size="13" x="15" y="323">
+actedOnBehalfOf</text>
+<text font-family="Dialog" font-size="13" x="187" y="268">
+</text>
+<text font-family="Dialog" font-size="13" x="193" y="340">
+</text>
+<polyline fill="none" points="238,88 238,32 150,32 150,128 206,128" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="194" x2="206" y1="135" y2="128"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="194" x2="206" y1="121" y2="128"/>
+<text font-family="Dialog" font-size="13" x="74" y="28">
+wasDerivedFrom</text>
+<text font-family="Dialog" font-size="13" x="217" y="72">
+</text>
+<text font-family="Dialog" font-size="13" x="187" y="124">
+</text>
+<polyline fill="none" points="454,112 290,112" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="302" x2="290" y1="105" y2="112"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="302" x2="290" y1="119" y2="112"/>
+<a xlink:href="http://dvcs.w3.org/hg/prov/raw-file/default/model/working-copy/towards-wd4.html#record-Usage">
+ <text font-family="Dialog" font-size="13" x="333" y="106">
+used</text></a>
+<text font-family="Dialog" font-size="13" x="435" y="108">
+</text>
+<text font-family="Dialog" font-size="13" x="301" y="108">
+</text>
+<polyline fill="none" points="290,144 454,144" stroke="#000000" stroke-width="1"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="442" x2="454" y1="151" y2="144"/>
+<line fill="#000000" stroke="#000000" stroke-width="1" x1="442" x2="454" y1="137" y2="144"/>
+<text font-family="Dialog" font-size="13" x="317" y="160">
+wasGeneratedBy</text>
+<text font-family="Dialog" font-size="13" x="301" y="140">
+</text>
+<text font-family="Dialog" font-size="13" x="435" y="140">
+</text>
+</svg>
--- a/model/working-copy/towards-wd4.html	Thu Feb 09 09:36:46 2012 +0000
+++ b/model/working-copy/towards-wd4.html	Thu Feb 09 15:04:34 2012 +0000
@@ -469,9 +469,17 @@
     <section id="section-UML"> 
 <h2>Overview Diagram</h2>
 
-<div style="text-align: center;">
+<div class="note">
+TODO: short text required to explain the overview diagram
+</div>
+
+
+
+<div style="text-align: center; ">
   <figure>
-  <img src="OverviewDiagram.png" alt="PROV-DM overview"/>
+
+  <img src="OverviewDiagram.svg" alt="PROV-DM overview" style="max-width: 70%; "  />
+
 <figcaption>PROV-DM overview</figcaption>
   </figure>
 </div>
@@ -484,10 +492,6 @@
 <section id="section-example"> 
 <h2>Example</h2>
 
-<div class="note">
-Example to be developed.
-</div>
-
 
 <p>In this example, we consider the second version of the PROV-DM document 
 <a href="http://www.w3.org/TR/2011/WD-prov-dm-20111215">http://www.w3.org/TR/2011/WD-prov-dm-20111215</a>. Its provenance can be expressed from several perspectives, which we present. In the first one,  provenance is concerned with the W3C process, whereas in the second one, it takes the authors' viewpoint.  </p>
@@ -608,8 +612,8 @@
 entity(ex:prov1, [prov:type="prov:AccountEntity" %% xsd:QName ])
 wasAttributedTo(ex1:prov1,w3:Consortium)
 
-entity(ex:prov2, [prov:type="prov:AccountEntity" %% xsd:QName ])
-wasAttributedTo(ex1:prov1,ex:Jim)
+entity(ex:prov3, [prov:type="prov:AccountEntity" %% xsd:QName ])
+wasAttributedTo(ex1:prov3,ex:Jim)
 </pre>
 
 
@@ -677,8 +681,8 @@
 <p> An activity<span class="withAsn">, written <span class="name">activity(id, st, et, [ attr1=val1, ...])</span> in PROV-ASN,</span> contains:</p>
 <ul>
 <li><em>id</em>: an identifier identifying an activity;</li>
-<li><em>startTime</em>: an OPTIONAL time <span class="name">st</span> indicating the start of the activity;</li>
-<li><em>endTime</em>: an OPTIONAL time <span class="name">et</span> indicating the end of the activity;</li>
+<li><em>startTime</em>: an OPTIONAL time marking the start of the activity;</li>
+<li><em>endTime</em>: an OPTIONAL time marking the end of the activity;</li>
 <li><em>attributes</em>:  an OPTIONAL set of attribute-value pairs, representing  attributes of this activity.</li>
 </ul>
 
@@ -803,12 +807,11 @@
 <table border="1" style="margin-left: auto; margin-right: auto;">
 <caption>PROV-DM Core Relation Summary</caption>
 <tr><td></td><td>Entity</td><td>Activity</td><td>Agent</td><td>Note</td></tr> 
-<tr><td>Entity</td><td><a title="derivation record">wasDerivedFrom</a><br><a title="alternate record">alternateOf</a><br><a title="specialization record">specializationOf</a></td><td><a
-title="generation record">wasGeneratedBy</a></td><td>&mdash;</td><td><a title="annotation record">hasAnnotation</a></td></tr>
-<tr><td>Activity</td><td><a title="usage record">used</a></td><td>&mdash;</td><td><a title="start record">wasStartedBy</a><br><a title="end record">wasEndedBy</a><br><a title="activity
-association record">wasAssociatedWith</a></td><td><a title="annotation record">hasAnnotation</a></td></tr>
-<tr><td>Agent</td><td>&mdash;</td><td>&mdash;</td><td><a title="responsibility record">actedOnBehalfOf</a></td><td><a title="annotation record">hasAnnotation</a></td></tr>
-<tr><td>Note</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td><td><a title="annotation record">hasAnnotation</a></td></tr>
+<tr><td>Entity</td><td><a title="derivations">wasDerivedFrom</a><br><a title="alternate record">alternateOf</a><br><a title="specialization record">specializationOf</a></td><td><a
+title="generation">wasGeneratedBy</a></td><td>&mdash;</td><td><a title="annotation">hasAnnotation</a></td></tr>
+<tr><td>Activity</td><td><a title="usage">used</a></td><td>&mdash;</td><td><a title="start record">wasStartedBy</a><br><a title="end record">wasEndedBy</a><br><a title="activity association">wasAssociatedWith</a></td><td><a title="annotation">hasAnnotation</a></td></tr>
+<tr><td>Agent</td><td>&mdash;</td><td>&mdash;</td><td><a title="responsibility chain">actedOnBehalfOf</a></td><td><a title="annotation">hasAnnotation</a></td></tr>
+<tr><td>Note</td><td>&mdash;</td><td>&mdash;</td><td>&mdash;</td><td><a title="annotation">hasAnnotation</a></td></tr>
 </table>
 </div>
 
@@ -821,7 +824,7 @@
 <h4>Generation</h4>
 
 
-<p>Generation<span class="withAsn">, written <span class="name">wasGeneratedBy(id,e,a,t,attrs)</span> in PROV-ASN,</span> has the following components:</p>
+<p><a title="dfn-Generation">Generation</a><span class="withAsn">, written <span class="name">wasGeneratedBy(id,e,a,t,attrs)</span> in PROV-ASN,</span> has the following components:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier identifying the generation;</li> 
 <li><em>entity</em>:  an identifier identifying a created entity; </li>
@@ -881,7 +884,7 @@
 
 
 
-<p>Usage<span class="withAsn">, written <span class="name">used(id,a,e,t,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
+<p><a dfn="dfn-Usage">Usage</a><span class="withAsn">, written <span class="name">used(id,a,e,t,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
 <ul>
 <li><em>id</em>:  an OPTIONAL identifier identifying the usage;</li> 
 <li><em>activity</em>: an identifier for the consuming activity;</li>
@@ -1146,7 +1149,7 @@
 When <span class="name">prov:steps="single"</span>, derivation is due to one activity; when <span class="name">prov:steps="any"</span>, the number of activities is multiple or not known.</p>
 
 
-<p>The three kinds of derivations are successively introduced.  Making use of the attribute <span class="name">steps</span>, we can distinguish the various derivation types.</p>
+<p>The three kinds of <dfn id="dfn-derivation">derivations</dfn> are successively introduced.  Making use of the attribute <span class="name">steps</span>, we can distinguish the various derivation types.</p>
 
 <p>A <dfn>precise-1 derivation</dfn><span class="withAsn">, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</span> in PROV-ASN,</span> contains:</p>
 <ul>
@@ -1295,12 +1298,12 @@
 <h4>Annotation</h4>
 
 
-<p>An <dfn id="dfn-annotation">annotation</dfn> establishes a link between something that is identifiable and a note referred to by its identifier.  Multiple notes can
+<p>An <dfn id="concept-annotation">annotation</dfn> establishes a link between something that is identifiable and a note referred to by its identifier.  Multiple notes can
 be associated with a given identified object; symmetrically, multiple objects can be associated with a given note.  Since notes have identifiers,  they can also be
 annotated. The annotation mechanism (with note and annotation) forms a key aspect of the extensibility mechanism of PROV-DM (see <a
 href="#extensibility-section">extensibility section</a>).</p> 
 
-<p>An annotation<span class="withAsn">, written <span class="name">hasAnnotation(r,n,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
+<p>An <dfn id="dfn-annotation">annotation</dfn><span class="withAsn">, written <span class="name">hasAnnotation(r,n,attrs)</span> in PROV-ASN,</span> has the following constituents:</p>
 <ul>
 <li><em>something</em>: the identifier of someting being annnotated;</li>
 <li><em>note</em>: an identifier of a note;</li>
@@ -1446,6 +1449,27 @@
 <div class='issue'>
  This is <a href="http://www.w3.org/2011/prov/track/issues/219">ISSUE-219</a>. </div>
 </section>
+
+
+
+<section id="record-attribute-location">
+<h4>prov:location</h4>
+
+<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 expressed, such as by a coordinate,
+address, landmark, row, column, and so forth. This  document does not specify how to concretely express  locations, but instead provide a mechanism to introduce locations in assertions. </p> 
+
+
+<p>
+The attribute <dfn id="dfn-location"><span class="name">prov:location</span></dfn> is an OPTIONAL attribute of entity and activity.  The value associated with the  attribute <span class="name">prov:location</span> MUST be a <span
+class="nonterminal">Literal</span>, expected to denote a location.
+</p>
+
+
+
+
+</section>
+ 
+
 </section>
 
 
@@ -1499,23 +1523,6 @@
 </section>
 
 
-<section id="record-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 expressed, such as by a coordinate,
-address, landmark, row, column, and so forth. This  document does not specify how to concretely express  locations, but instead provide a mechanism to introduce locations in assertions. </p> 
-
-
-<p>
-Location is an OPTIONAL attribute of entity records and activity records.  The value associated with a  attribute <span class="name">location</span> MUST be a <span
-class="nonterminal">Literal</span>, expected to denote a location.
-</p>
-
-
-
-
-</section>
- 
 </section>
 
 </section>
@@ -1524,9 +1531,6 @@
 
 <section  id="common-relations">
 <h2>PROV-DM Common Relations</h2>
-<div class='note'>
-Paolo to reinsert the common relations sections from WD3.
-</div>
 
 <p>The following figure summarizes the additional relations described in this section.
 </p>
@@ -1548,12 +1552,12 @@
 some responsibility for  <span class="name">e2</span>'s existence.
 
 
-<p> A traceability assertion, written <span class="name">tracedTo([id],e2,e1,[attrs])</span> in PROV-ASN, contains:</p>
+<p> A traceability assertion<span class="withAsn">, written <span class="name">tracedTo(id,e2,e1,attrs)</span> in PROV-ASN,</span> contains:</p>
 <ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the relation;</li> 
-<li><em>entity</em>:  an identifier <span class="name">e2</span> identifying an entity;
-<li><em>ancestor</em>: an identifier <span class="name">e1</span> identifying an ancestor entity that <span class="name">e2</span> depends on;
-<li><em>attributes</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe properties of the relation.</li>
+<li><em>id</em>:  an OPTIONAL identifier identifying the relation;</li> 
+<li><em>entity</em>:  an identifier identifying an entity;
+<li><em>ancestor</em>: an identifier identifying an ancestor entity that the former depends on;
+<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs to further describe properties of the relation.</li>
 </ul>
 
 
@@ -1585,22 +1589,34 @@
 </ul>
 
 <p>
-An information flow ordering assertion, written as 
-<span class="name">wasInformedBy(id,a2,a1,attrs)</span> in PROV-ASN, contains: 
+An information flow ordering assertion<span class="withAsn">, written as 
+<span class="name">wasInformedBy(id,a2,a1,attrs)</span> in PROV-ASN,</span> contains: 
 <ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the relation;</li> 
-<li><em>informed</em>: the identifier <span class="name">a2</span> of an activity representing the informed activity;
-<li><em>informant</em>: the identifier <span class="name">a1</span> of an activity representing the informant activity;
+<li><em>id</em>:  an OPTIONAL identifier  identifying the relation;</li> 
+<li><em>informed</em>: the identifier of the informed activity;
+<li><em>informant</em>: the identifier of the informant activity;
 <li><em>attributes</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe properties of the relation.</li>
 </ul>
 
+<div class="anexample">
 <p>
-A control ordering assertion, written as 
-<span class="name">wasStartedBy(a2,a1, attrs)</span> in PROV-ASN, contains: </p>
+Consider two long running services, which we represent by activities  <span class="name">s1</span> and <span class="name">s2</span>.  
+<pre class="codeexample">
+activity(s1,,,[prov:type="service"])
+activity(s2,,,[prov:type="service"])
+wasInformedBy(s2,s1)
+</pre>
+The last assertions indicates that some entity was generated by  <span class="name">s1</span> and used by  <span class="name">s2</span>.
+</div
+
+
+<p>
+A control ordering assertion<span class="withAsn", written as 
+<span class="name">wasStartedBy(a2,a1, attrs)</span> in PROV-ASN,</span> contains: </p>
 <ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> of the relation;</li> 
-<li><em>started</em>: refers to an activity  identified by <span class="name">a2</span>, representing the started activity;
-<li><em>starter</em>: refers to an activity  identified by <span class="name">a1</span>, representing the activity that started <span class="name">a1</span>;</li>
+<li><em>id</em>:  an OPTIONAL identifier of the relation;</li> 
+<li><em>started</em>: the identifier of  the started activity;
+<li><em>starter</em>: the identifier of the activity that started the other;</li>
 <li><em>attributes</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe the properties of the relation.</li>
 </ul>
 
@@ -1608,14 +1624,9 @@
 <p>Further considerations:</p>
 
 <ul>
-  <li>Information flow assertions are equivalent to a combination of generation and use assertions with shared entity, that is:<br/>
-        <span class="name">wasInformedBy(a2,a1)</span> <span class='conditional'>if and only if</span> there is an entity  <span class=name>e</span> such that <span class="name">wasGeneratedBy(e,a1,attrs1)</span> and
-  <span class="name">used(a2,e,attrs2)</span>.
-
-  <li> Relation <span class="name">wasInformedBy()</span> is not transitive.
+  <li> Relation <span class="name">wasInformedBy</span> is not transitive.
 </ul>
 
-<div class="note">I have omitted the rendering of the wasStartedBy constraint. It was controversial during the F2F and it really reads odd, as wasStartedBy(actiity, activity) is defined in terms of wasStartedBy(agent, entity). That requires a lot of explaining. This needs to be resolved, or the new wasStartedBy just removed [PM].</div>
 
 <div class="anexample">
 <p>
@@ -1625,15 +1636,6 @@
 activity(a2,t3,t4,[ex:host="server2.example.org",prov:type="subworkflow"])
 wasStartedBy(a2,a1)
 </pre>
-
-<p>Alternatively, we could have asserted the existence of an entity, representing a request to create a sub-workflow. This request, issued by <span class="name">a1</span>, triggered the
-start of <span class="name">a2</span>.
-</p>
-<pre class="codeexample">
-entity(e,[prov:type="creation-request"])
-wasGeneratedBy(e,a1)
-wasStartedBy(a2,e)
-</pre>
 </div
 
 </section>
@@ -1647,10 +1649,10 @@
 
 <p> A revision assertion, written <span class="name">wasRevisionOf(e2,e1,ag,attrs)</span> in PROV-ASN, contains:</p>
 <ul>
-<li><em>id</em>: an OPTIONAL identifier  <span class="name">id</span> for the relation;</li> 
-<li><em>newer</em>: the revised  entity <span class="name">e2</span>, identifying an entity that represents a newer version of an entity;
-<li><em>older</em>: an identifier <span class="name">e1</span> identifying an entity that represents an older version of an entity;
-<li><em>responsibility</em>: an OPTIONAL  identifier <span class="name">ag</span> for the agent who approved that <span class="name">e2</span> is a variant of <span class="name">e1</span>;
+<li><em>id</em>: an OPTIONAL identifier for the relation;</li> 
+<li><em>newer</em>: the identifier of the revised  entity;
+<li><em>older</em>: the identifier of the older entity;
+<li><em>responsibility</em>: an OPTIONAL  identifier for the agent who approved that former entity is a variant of the latter.;
 <li><em>attributes</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe this record.</li>
 </ul>
 
@@ -1686,6 +1688,7 @@
 
 <p> An attribution assertion, written <span class="name"> wasAttributedTo(e,ag,attr)</span> in PROV-ASN, contains the following elements:</p>
 <ul>
+<li><em>id</em>: an OPTIONAL identifier for the relation;</li> 
 <li><em>entity</em>: an entity identifier <span class="name">e</span>;</li>
 <li><em>agent</em>: an agent identifier <span class="name">ag</span>. This is the agent who the entity is ascribed to;</li>
 <li><em>attributes</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe the properties of the relation.</li>