working copy definitions
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Sat, 04 Feb 2012 13:01:23 +0000
changeset 1455 554afe8eeae3
parent 1454 08ddd101d8a1
child 1456 dd0fd6618d79
working copy definitions
model/working-copy/towards-wd4.html
--- a/model/working-copy/towards-wd4.html	Fri Feb 03 21:49:01 2012 +0100
+++ b/model/working-copy/towards-wd4.html	Sat Feb 04 13:01:23 2012 +0000
@@ -192,7 +192,7 @@
 </p>
 
 
-<div class="anexample" id="entities-example">
+<div class="anexample" id="entity-example">
 An entity may be a web page at a URI, a file in a file system, a car or an idea.
 </div>
 
@@ -202,20 +202,15 @@
 them,  using them,  generating them, being associated with them,
 etc.</p>
 
-<div class="anexample" id="entities-example">
+<div class="anexample" id="activity-example">
 An activity may be the publishing of a document on the web, tweeting, extracting metadata from a file, or driving a car.
 </div>
 
 <p>An <dfn id="concept-agent">agent</dfn> is a type of entity that takes an active role in an activity such that it can be assigned some degree of responsibility for the activity taking
 place.
 This definition intentionally stays away from using concepts such as enabling, causing, initiating, affecting, etc, because many entities also enable, cause, initiate, and affect in some way
-the activities.  So the notion of having some degree of responsibility is really what makes an agent. Three types of agents are recognized by PROV-DM because they are commonly encountered in application making data and documents available on the Web: persons, software agents, and organizations.</p>
-
-<p> Even software agents can be assigned some responsibility for the effects they have in the world, so for example if one is using a Text Editor and one's laptop crashes, then one would say
-that the Text Editor was responsible for crashing the laptop.  If one invokes a service to buy a book, that service can be considered responsible for drawing funds from one's bank to make
-the purchase (the company that runs the service and the web site would also be responsible, but the point here is that we assign some measure of responsibility to software as well).  So when
-someone models software as an agent for an activity in our model, they mean the agent has some responsibility for that activity.
-</p>
+the activities.  So the notion of having some degree of responsibility is really what makes an agent. </p>
+
 
 <p>PROV-DM considers agents as a type of entity so that the model can be
  used to represent the provenance of the agents themselves.  For
@@ -228,7 +223,7 @@
 
 
 
-    <section id="generation-usage-derivation"> 
+    <section id="section-generation-usage-derivation"> 
 <h3>Generation, Usage, Derivation</h3>
 
 <p>Activities and entities are associated with each other in two different ways: activities are consumers of entities and activities are producers of entities.  For provenance purpose, we define the following notions of generation and usage. </p>
@@ -256,17 +251,74 @@
 <p><dfn id="concept-derivation">Derivation</dfn> is the fact that some entity is transformed from, created from, or affected by another entity in the world.  </p>
 <!-- doesn't seem right to say fact, should I use influence? -->
 
-
-<p>In PROV-DM, a <dfn id="dfn-Derivation">derivation record</dfn> is a representation that some entity is transformed from, created from, or affected by another entity in the world.  </p>
-
-
+<div class="anexample" id="derivation-example">
 <p>Examples of derivation include the transformation of a canvas into a painting, the transportation of a person from London to New York, the transformation of a relational table into a
 linked data set, and the melting of ice into water.</p>
-
-
-<p>Examples of derivation include the transformation of a canvas into a painting, the transportation of a person from London to New York, the transformation of a relational table into a
-linked data set, and the melting of ice into water.</p>
-
+</div>
+
+</section>
+
+    <section id="section-types-entities-agents"> 
+<h4>Types of Entities and Agents</h4>
+
+<p>There are some useful types of entities and agents that are commonly encountered in applications making data and documents available on the Web; we introduce them in this section. </p>
+
+<p>A <dfn id="concept-plan">Plan</dfn> is an entity that represent a set of
+actions or steps intended by one or more agents to achieve some goals. PROV-DM is not
+prescriptive about the nature of plans, their representation, the
+actions and steps they consist of, and their intended goals.  Since plans may evolve over time,
+it may become necessary to track their provenance, and hence, plans are
+entities.</li> 
+
+<div class="anexample" id="plan-example">
+<p>Examples of plans include a workflow for a
+scientific experiment, a recipe for a cooking activity, or a list of
+instructions for a micro-processor execution.</p>
+</div>
+
+<p>Collection (TODO)</p>
+
+<p>Three types of agents are recognized by PROV-DM because they are commonly encountered in application making data and documents available on the Web: persons, software agents, and organizations.</p>
+
+<p> Even software agents can be assigned some responsibility for the effects they have in the world, so for example if one is using a Text Editor and one's laptop crashes, then one would say
+that the Text Editor was responsible for crashing the laptop.  If one invokes a service to buy a book, that service can be considered responsible for drawing funds from one's bank to make
+the purchase (the company that runs the service and the web site would also be responsible, but the point here is that we assign some measure of responsibility to software as well).  So when
+someone models software as an agent for an activity in our model, they mean the agent has some responsibility for that activity.</p>
+</section>
+
+    <section id="section-responsibility"> 
+<h4>Responsibility</h4>
+
+<p>The key purpose of agents is to assign responsibility
+for activities.  It is important to reflect that there is a degree in
+the responsibility of agents, and that is a major reason for
+distinguishing among all the agents that have some association with an
+activity and determine which ones are really the originators of the
+entity.  For example, a programmer and a researcher could both be
+associated with running a workflow, but it may not matter what
+programmer clicked the button to start the workflow while it would
+matter a lot what researcher told the programmer to do so.  Another
+example: a student publishing a web page describing an academic
+department could result in both the student and the department being
+agents associated with the activity, and it may not matter what
+student published a web page but it matters a lot that the department
+told the student to put up the web page.  So there is some notion of
+responsibility that needs to be captured. </p>
+
+<div class="anexample" id="association-example">
+<p>Examples of association between an activity and agent include designing, participation, initiation and termination, timetabling or sponsoring. </p>
+</div>
+
+<p>Provenance reflects activities that have occurred.  In some  
+cases, those activities reflect the execution of a plan that was  
+designed in advance to guide the execution.  PROV-DM allows attaching  
+a plan to an activity record, which represents what was intended to  
+happen.  The plan can be useful for various tasks, for example to  
+validate the execution as represented in the provenance record, to  
+manage expectation failures, or to provide explanations.</p>
+While PROV-DM does not
+specify the representations of plans, it allows for activities to be
+associated with plans. </p>
 
 </section>
 </section>
@@ -383,18 +435,18 @@
 <p>Examples of entities include a car on a road, a linked data set, a sparse-matrix matrix of floating-point numbers, a document in a directory, the same document published on the Web,  and
 meta-data embedded in a document.</p>
 
-<p>An entity record, noted <span class="name">entity(id, [ attr1=val1, ...])</span> in PROV-ASN, contains:</p>
+<p>An entity record <div class="withAsn">, noted <span class="name">entity(id, [ attr1=val1, ...])</span> in PROV-ASN, </div> contains:</p>
 <ul>
-<li><em>id</em>: an identifier <span class="name">id</span> identifying an entity; </li>
+<li><em>id</em>: an identifier identifying an entity; </li>
 <li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">[ attr1=val1, ...]</span>, representing this entity's situation in the world.</li>
 </ul>
 
-
 <p>
 The assertion of an entity record states, from a given asserter's viewpoint, the existence of an entity, whose situation in the world is represented by the attribute-value pairs, which
 remain unchanged during a characterization interval, i.e. a continuous interval between two <a title="event">instantaneous events</a> in the world. 
 </p>
 
+<div class="withAsn">
 <p>
 In PROV-ASN, an entity record's text matches the <span class="nonterminal">entityRecord</span> production of the grammar defined in this specification document.
 </p>
@@ -423,6 +475,7 @@
 <span class="nonterminal">Literal</span>
 <br/>
 </div>
+</div>
 
 <div class="anexample">
 <p>
@@ -431,11 +484,11 @@
 entity(e0, [ prov:type="File", ex:path="/shared/crime.txt", ex:creator="Alice" ])
 </pre>
 states the existence of an entity, denoted by identifier <span class="name">e0</span>,  with type <span class="name">File</span> and path <span class="name">/shared/crime.txt</span> in the
-file system,  and creator alice The  attributes <span class="name">path</span> and <span class="name">creator</span> are application specific, whereas the attribute <span
+file system,  and creator alice. The  attributes <span class="name">path</span> and <span class="name">creator</span> are application specific, whereas the attribute <span
 class="name">type</span> is reserved in the PROV-DM namespace.
 </div>
 
-Further considerations:
+<p>Further considerations:</p>
 <ul>
 <li>
 The entity identifier <span class="name">id</span> contained in an entity record is expected to be unique among all the identifiers contained in  the current account's records.