--- a/model/ProvenanceModel.html Fri Sep 16 12:21:35 2011 +0100
+++ b/model/ProvenanceModel.html Fri Sep 16 13:00:48 2011 +0100
@@ -412,15 +412,6 @@
</blockquote>
</p>
-<p>
-Derivation Expressions (described in <a href="#expression-Derivation">Section Derivation</a>): derivations express that an entity is derived from another. The first two are expressed in their compact version, whereas the following two are expressed in their full version.
-<pre>
-wasDerivedFrom(e2,e1)
-wasDerivedFrom(e3,e2)
-wasDerivedFrom(e4,e2,pe2,attachment,in)
-wasDerivedFrom(e5,e3,pe4,attachment,in)
-</pre>
-</p>
<p>
Process Execution Expressions (described in <a href="#expression-ProcessExecution">Section Process Execution</a>): process execution represents an activity in the scenario.
@@ -435,30 +426,43 @@
</p>
<p>
-Generation Expressions (described in <a href="#expression-Generation">Section Generation</a>): generation is the event at which a file is created in a specific form. To distinguish the function that the various entities generated by a given process execution have in the context of this process execution, a role (construct described in <a href="#expression-Role">Section Role</a>) is introduced. Illustrations of such roles are outFile, outContent, out, attachment.
+Generation Expressions (described in <a href="#expression-Generation">Section Generation</a>): generation is the event at which a file is created in a specific form. To describe the modalities according to which the various entities are generated by a given process execution, a qualifier (construct described in <a href="#expression-qualifier">Section Qualifier</a>) is introduced. The interpretation of qualifiers is application specific. Illustrations of such qualifiers are: no specific qualifier is provided for <span class="name">e0</span>;
+<span class="name">e2</span> was generated by the editor's save function; <span class="name">e4</span> can be found on the smtp port, in the attachment section of the mail message; <span class="name">e6</span> was produced on the standard output of <span class="name">pe5</span>.
<pre>
-wasGeneratedBy(e0,pe0,outFile)
-wasGeneratedBy(e1,pe0,outContent)
-wasGeneratedBy(e2,pe1,out)
-wasGeneratedBy(e3,pe3,out)
-wasGeneratedBy(e4,pe2,attachment)
-wasGeneratedBy(e5,pe4,attachment)
-wasGeneratedBy(e6,pe5,out)
+wasGeneratedBy(e0, pe0, qualifier())
+wasGeneratedBy(e1, pe0, qualifier(fct="create"))
+wasGeneratedBy(e2, pe1, qualifier(fct="save"))
+wasGeneratedBy(e3, pe3, qualifier(fct="save"))
+wasGeneratedBy(e4, pe2, qualifier(port=smtp, section="attachment"))
+wasGeneratedBy(e5, pe4, qualifier(port=smtp, section="attachment"))
+wasGeneratedBy(e6, pe5, qualifier(file=stdout))
</pre>
</p>
<p>
-Used Expressions (described in <a href="#expression-Use">Section Use</a>): use is the event by which a file is read by a process execution. To distinguish the various entities used by a given process execution, a role (construct described in <a href="#expression-Role">Section Role</a>) is introduced. Illustrations of such roles are in and fileIn.
+Used Expressions (described in <a href="#expression-Use">Section Use</a>): use is the event by which a file is read by a process execution.
+
+Likewise, to describe the modalities according to which the various entities are used by a given process execution, a qualifier (construct described in <a href="#expression-qualifier">Section Qualifier</a>) is introduced. Illustrations of such qualifiers are:
+<span class="name">e1</span> is used in the context of <span class="name">pe1</span>'s <span class="name">load</span> functionality; <span class="name">e2</span> is used by <span class="name">pe2</span> in the context of its attach functionality; <span class="name">e3</span> is used on the standard input by <span class="name">pe5</span>.
<pre>
-used(pe1,e1,in)
-used(pe3,e2,in)
-used(pe2,e2,in)
-used(pe4,e3,in)
-used(pe5,e3,fileIn)
+used(pe1,e1,qualifier(fct="load"))
+used(pe3,e2,qualifier(fct="load"))
+used(pe2,e2,qualifier(fct="attach"))
+used(pe4,e3,qualifier(fct="attach"))
+used(pe5,e3,qualifier(file=stdin))
</pre>
</p>
+<p>
+Derivation Expressions (described in <a href="#expression-Derivation">Section Derivation</a>): derivations express that an entity is derived from another. The first two are expressed in their compact version, whereas the following two are expressed in their full version, including the process execution underpinnng the derivation, and relevant qualifier qualifying the use and generation of entities.
+<pre>
+wasDerivedFrom(e2,e1)
+wasDerivedFrom(e3,e2)
+wasDerivedFrom(e4,e2,pe2,qualifier(port=smtp, section="attachment"),qualifier(fct="attach"))
+wasDerivedFrom(e5,e3,pe4,qualifier(port=smtp, section="attachment"),qualifier(fct="attach"))
+</pre>
+</p>
<p>
@@ -494,13 +498,13 @@
<p>
-Control Expressions (described in <a href="#expression-Control">Section Control</a>): the influence of an agent over a process execution is expressed as control, and the nature of this influence is described by a role (construct described in <a href="#expression-Role">Section Role</a>). Illustrations of such roles are creator, author and communicator.
+Control Expressions (described in <a href="#expression-Control">Section Control</a>): the influence of an agent over a process execution is expressed as control, and the nature of this influence is described by qualifier (construct described in <a href="#expression-qualifier">Section Qualifier</a>). Illustrations of such qualifiers include the role of the participating agenr: are creator, author and communicator.
<pre>
-wasControlledBy(pe0,a1, [role=creator])
-wasControlledBy(pe1,a2, [role=author])
-wasControlledBy(pe2,a3, [role=communicator])
-wasControlledBy(pe3,a4, [role=author])
-wasControlledBy(pe4,a5, [role=communicator])
+wasControlledBy(pe0,a1, qualifier(role="creator"))
+wasControlledBy(pe1,a2, qualifier(role="author"))
+wasControlledBy(pe2,a3, qualifier(role="communicator"))
+wasControlledBy(pe3,a4, qualifier(role="author"))
+wasControlledBy(pe4,a5, qualifier(role="communicator"))
</pre>
</p>
</section>
@@ -1488,7 +1492,7 @@
there are two entity expressions denoted by <span class="name">e1</span> and <span class="name">e2</span>,
such that <span class="name">wasControlledBy(pe1,e1,[role="end"])</span> and <span class="name">wasControlledBy(pe2,e2,[role="start"])</span> and <span class="name">wasDerivedFrom(e2,e1)</span>.
</div>
-This definition assumes that the activities represented by process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span> are controlled by some agents, represented by expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, where the first agent terminates (control qualifier <span class="name">qualifier([role="end"])</span>) the first activity, and the second initiates (control qualifier <span class="name">qualifier([role="start"])</span>) the second. The second agent being "derived" from the first enforces temporal ordering.
+This definition assumes that the activities represented by process execution expressions identified by <span class="name">pe1</span> and <span class="name">pe2</span> are controlled by some agents, represented by expressions identified by <span class="name">e1</span> and <span class="name">e2</span>, where the first agent terminates (control qualifier <span class="name">qualifier(role="end")</span>) the first activity, and the second initiates (control qualifier <span class="name">qualifier(role="start")</span>) the second. The second agent being "derived" from the first enforces temporal ordering.
<p>
In the following assertions, we find two process execution expressions, identified by <span class="name">pe1</span> and <span class="name">pe2</span>, denoting two activities, which took place on two separate hosts.
@@ -1497,8 +1501,8 @@
processExecution(pe2,long-workflow,t3,t4,[host="server2.example.com"])
entity(e1,[type="scheduler",state=1])
entity(e2,[type="scheduler",state=2])
-wasControlledBy(pe1,e1,qualifier([role="end"]))
-wasControlledBy(pe2,e2,qualifier([role="start"]))
+wasControlledBy(pe1,e1,qualifier(role="end"))
+wasControlledBy(pe2,e2,qualifier(role="start"))
wasDerivedFrom(e2,e1)
wasScheduledAfter(pe2,pe1)
</pre>
@@ -1885,6 +1889,8 @@
<span class="nonterminal">qualifier</span> <br/>
<br/>
<span class="nonterminal">qualifier</span> :=
+<span class="name">qualifier</span>
+<span class="name">(</span>
<span class="nonterminal">name-values</span> <br/>
<!-- -->
<span class="nonterminal">name-values</span> :=
@@ -1894,7 +1900,8 @@
<span class="nonterminal">name-value</span> :=
<span class="nonterminal">name</span>
<span class="name">=</span>
-<span class="nonterminal">Literal</span></div>
+<span class="nonterminal">Literal</span>
+<span class="name">)</span></div>
<p>Use, generation, and control expressions MUST contain a qualifier. A qualifier's sequence of name-value pairs MAY be empty. </p>