changed plan, according to issue 203
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Tue, 20 Dec 2011 10:45:04 +0000
changeset 1291676811be7851
parent 1290 217b918ef6f3
child 1292 50d5b855d19e
changed plan, according to issue 203
model/ProvenanceModel.html
     1.1 --- a/model/ProvenanceModel.html	Mon Dec 19 09:30:38 2011 +0000
     1.2 +++ b/model/ProvenanceModel.html	Tue Dec 20 10:45:04 2011 +0000
     1.3 @@ -1011,6 +1011,11 @@
     1.4  <li>Activities are not represented by entity records, but instead by activity records, as explained below.</li>
     1.5  </ul>
     1.6  
     1.7 +<p>Furthermore, section <a href="#record-ActivityAssociation">Activity Association Record</a>, introduces the idea of <em>plans</em> being associated with activities:</p>
     1.8 +<ul>
     1.9 +<li><span class="name">Plan</span>: entities of type <a >plan</a> that represent a set of
    1.10 +actions or steps intended by one or more agents to achieve some goals.</li> 
    1.11 +</ul>
    1.12  
    1.13  
    1.14  
    1.15 @@ -1118,11 +1123,6 @@
    1.16  <li><span class="name">Organization</span>: agents of type Organization are social institutions such as companies, societies etc. (This type is equivalent to a "foaf:organization" [[FOAF]])</li> 
    1.17  <li><span class="name">SoftwareAgent</span>: a software agent is a piece of software. </li>
    1.18  </ul>
    1.19 -<p>Furthermore, section <a href="#record-planLink">Plan Link Record</a>, introduces the idea of <em>plans</em> being associated with activities:</p>
    1.20 -<ul>
    1.21 -<li><span class="name">Plan</span>: agents of type <a >plan</a> are entities that represent a set of
    1.22 -actions or steps intended to achieve some goal.</li> 
    1.23 -</ul>
    1.24  <p>These types are mutually exclusive, though they do not cover all kinds of agent. </p>
    1.25  
    1.26  
    1.27 @@ -1239,7 +1239,7 @@
    1.28  <caption>PROV-DM Core Relation Summary</caption>
    1.29  <tr><td></td><td>Entity</td><td>Activity</td><td>Agent</td><td>Note</td></tr> 
    1.30  <tr><td>Entity</td><td><a title="derivation record">wasDerivedFrom</a><br><a title="complementarity record">wasComplementOf</a></td><td><a title="generation record">wasGeneratedBy</a></td><td>-</td><td><a title="annotation record">hasAnnotation</a></td></tr>
    1.31 -<tr><td>Activity</td><td><a title="usage record">used</a></td><td>-</td><td><a title="start record">wasStartedBy</a><br><a title="end record">wasEndedBy</a><br><a title="activity association record">wasAssociatedWith</a><br><a title="plan link record">hadPlan</a></td><td><a title="annotation record">hasAnnotation</a></td></tr>
    1.32 +<tr><td>Activity</td><td><a title="usage record">used</a></td><td>-</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>
    1.33  <tr><td>Agent</td><td>-</td><td>-</td><td><a title="responsibility record">actedOnBehalfOf</a></td><td><a title="annotation record">hasAnnotation</a></td></tr>
    1.34  <tr><td>Note</td><td>-</td><td>-</td><td>-</td><td><a title="annotation record">hasAnnotation</a></td></tr>
    1.35  </table>
    1.36 @@ -1443,15 +1443,46 @@
    1.37  told the student to put up the web page.  So there is some notion of
    1.38  responsibility that needs to be captured. </p>
    1.39  
    1.40 -<p>To this end, PROV-DM offers two kinds of records. The first, introduced in this section, represents an association between an agent and an activity; the second, introduced in <a href="#record-responsibility">Section Responsibility record</a>, represents the fact that an agent was acting on behalf of another, in the context of an activity. </p>
    1.41 +<p>Provenance reflects activities that have occurred.  In some  
    1.42 +cases, those activities reflect the execution of a plan that was  
    1.43 +designed in advance to guide the execution.  PROV-DM allows attaching  
    1.44 +a plan to an activity record, which represents what was intended to  
    1.45 +happen.  The plan can be useful for various tasks, for example to  
    1.46 +validate the execution as represented in the provenance record, to  
    1.47 +manage expectation failures, or to provide explanations.</p>
    1.48  
    1.49  <p>Examples of activity association  include designing, participation, initiation and termination, timetabling or sponsoring. </p>
    1.50  
    1.51 -<p>An <dfn id="dfn-activity-association">activity association record</dfn>, written <span class="name">wasAssociatedWith(id,a,ag2,attrs)</span> in PROV-ASN, has the following constituents:</p>
    1.52 +
    1.53 +
    1.54 +<p>In the context of PROV-DM, a <dfn>plan</dfn> should be understood as the descriptioni of a set of
    1.55 +actions or steps intended by one or more agents to achieve some goal. PROV-DM is not
    1.56 +prescriptive about the nature of plans, their representation, the
    1.57 +actions and steps they consist of, and their intended goals.  Hence,
    1.58 +for the purpose of this specification, a plan can be a workflow for a
    1.59 +scientific experiment, a recipe for a cooking activity, or a list of
    1.60 +instructions for a micro-processor execution.  While PROV-DM does not
    1.61 +specify the representations of plans, it allows for activities to be
    1.62 +associated with plans.  Furthermore, since plans may evolve over time,
    1.63 +it may become necessary to track their provenance, and hence, plans are
    1.64 +entities.  An activity MAY be associated with multiple plans. This
    1.65 +allows for descriptions of activities initially associated with a
    1.66 +plan, which was changed, on the fly, as the activity progresses. Plans
    1.67 +can be successfully executed or they can fail. We expect applications
    1.68 +to exploit PROV-DM <a href="#extensibility-section">extensibility
    1.69 +mechanisms</a> to capture the rich nature of plans and associations
    1.70 +between activities and plans.</p>
    1.71 +
    1.72 +
    1.73 +<p>Thus, PROV-DM offers two kinds of records. The first, introduced in this section, represents an association between an agent, a plan, and an activity; the second, introduced in <a href="#record-responsibility">Section Responsibility record</a>, represents the fact that an agent was acting on behalf of another, in the context of an activity. </p>
    1.74 +
    1.75 +
    1.76 +<p>An <dfn id="dfn-activity-association">activity association record</dfn>, written <span class="name">wasAssociatedWith(id,a,ag2,pl,attrs)</span> in PROV-ASN, has the following constituents:</p>
    1.77  <ul>
    1.78  <li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the activity association record;</li> 
    1.79  <li><em>activity</em>: an identifier <span class="name">a</span> for an activity record;</li>
    1.80  <li><em>agent</em>: an identifier <span class="name">ag2</span> for an agent record, which represents the agent associated with the activity;</li>
    1.81 +<li><em>plan</em>: an OPTIONAL identifier <span class="name">pl</span> for an entity record, which represents a plan adopted by the agent in the context of this activity;
    1.82  <li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of association of this activity with this agent.</li>
    1.83  </ul>
    1.84  
    1.85 @@ -1464,22 +1495,27 @@
    1.86  <span class="optional"><span class="nonterminal">identifier</span>,</span>
    1.87  <span class="nonterminal">aIdentifier</span>,
    1.88  <span class="nonterminal">agIdentifier</span>
    1.89 +<span class="optional">,<span class="nonterminal">eIdentifier</span></span>
    1.90  <span class="nonterminal">optional-attribute-values</span>
    1.91  <span class="name">)</span>
    1.92  </div>
    1.93  
    1.94  <div class="anexample">
    1.95 -In the following example, a programmer and a researcher agents are asserted to be associated with an activity.
    1.96 +In the following example, a researcher and an operator agents are asserted to be associated with an activity. The designer's goals are achieved by a workflow <span class="name">ex:wf</span>.   
    1.97  <pre class="codeexample">
    1.98 -activity(a,[prov:type="workflow"])
    1.99 -agent(ag1,[prov:type="programmer"])
   1.100 -agent(ag2,[prov:type="researcher"])
   1.101 -wasAssociatedWith(a,ag1,[prov:role="loggedInUser", ex:how="webapp"])
   1.102 -wasAssociatedWith(a,ag2,[prov:role="designer", ex:context="phd"])
   1.103 +activity(ex:a,[prov:type="workflow execution"])
   1.104 +agent(ex:ag1,[prov:type="operator"])
   1.105 +agent(ex:ag2,[prov:type="designer"])
   1.106 +wasAssociatedWith(ex:a,ex:ag1,[prov:role="loggedInUser", ex:how="webapp"])
   1.107 +wasAssociatedWith(ex:a,ex:ag2,ex:wf,[prov:role="designer", ex:context="project1"])
   1.108 +entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName, ex:label="Workflow 1", 
   1.109 +              ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
   1.110  </pre>
   1.111 +Since the workflow <span class="name">ex:wf</span> is itself an entity, its provenance can also be expressed in PROV-DM: it can be generated by some activity and derived from other entities, for instance.
   1.112  </div>
   1.113  
   1.114 -
   1.115 +<div class='issue'> The activity association record does not allow for a plan to be asserted without an agent.
   1.116 +This seems over-restrictive. Raised in <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>.</div>
   1.117  
   1.118  </section>
   1.119  
   1.120 @@ -1546,6 +1582,7 @@
   1.121  
   1.122  </section>
   1.123  
   1.124 +<!--
   1.125  
   1.126  <section id="record-planLink">
   1.127  <h4>Plan Link Record</h4>
   1.128 @@ -1625,7 +1662,7 @@
   1.129  </pre>
   1.130  </div>
   1.131  </section>
   1.132 -
   1.133 +-->
   1.134  
   1.135  <!--
   1.136