prov-asn updates
authorLuc Moreau <l.moreau@ecs.soton.ac.uk>
Tue, 07 Feb 2012 09:44:25 +0000
changeset 1471 c37cb123236a
parent 1470 7474d76109a8
child 1472 b952469983d1
prov-asn updates
model/working-copy/prov-asn.html
--- a/model/working-copy/prov-asn.html	Tue Feb 07 09:39:42 2012 +0000
+++ b/model/working-copy/prov-asn.html	Tue Feb 07 09:44:25 2012 +0000
@@ -357,25 +357,6 @@
 
 
 
-<p>In PROV-DM, a <dfn id="dfn-Use">usage record</dfn> is a representation of an instantaneous world <a title="entity usage event">event</a>:  an activity beginning to consume an entity.
-Before this event, the activity had not begun to consume or use to this entity.
- The representation includes a description of the modalities of usage of this entity by this activity.</p>
-
-<p>
-A <a title="entity usage event">usage event</a> may be a procedure beginning to consume a parameter, a service starting to read a value on a port, a program beginning to read a configuration
-file, or the point at which an ingredient, such as eggs, is being added in a baking activity. Usage may entirely consume an entity (e.g. eggs are not longer available after being added to
-the mix), or leave it as such, ready for further uses (e.g. a file on a file system can be read indefinitely).</p>
-
-
-<p>A usage record, written <span class="name">used(id,a,e,t,attrs)</span> in PROV-ASN, has the following constituent:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the usage record;</li> 
-<li><em>activity</em>: an identifier <span class="name">a</span> for an activity record, which represents the consuming activity;</li>
-<li><em>entity</em>: an identifier <span class="name">e</span> for an entity record, which represents the entity that is consumed;</li>
-<li><em>time</em>: an OPTIONAL "usage time" <span class="name">t</span>, the time at which the entity was used;</li>
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of usage of this entity by this activity;</li>
-</ul>
-
 <div class="withAsn">
 <p>In PROV-ASN, a usage record's text matches the <span class='nonterminal'>usageRecord</span> production of the grammar defined in this specification document.</p>
 
@@ -399,42 +380,6 @@
 </div>
 </div>
 
-<p>
-A usage record's id is OPTIONAL, but comes handy when annotating usage records (see Section <a href="#record-annotation">Annotation Record</a>) or when defining derivations.
-</p>
-
-
-<div class='anexample'>
-<p>The following usage records</p>
-<pre class="codeexample">
-  used(a1,e1,2011-11-16T16:00:00,[ex:parameter="p1"])
-  used(a1,e2,2011-11-16T16:00:01,[ex:parameter="p2"])
-</pre>
-<p>state that the activity, represented by the activity record identified by <span class="name">a1</span>, consumed two entities, represented by entity records identified by <span
-class="name">e1</span> and <span class="name">e2</span>, at times <span class="name">2011-11-16T16:00:00</span> and  <span class="name">2011-11-16T16:00:01</span>, respectively; the first
-one was found as the value of parameter <span class="name">p1</span>, whereas the second was found as value of parameter <span class="name">p2</span>.  The semantics of <span
-class="name">parameter</span> in these records is application specific.</p>
-</div>
-
-
-
-
-
-<p>
-A usage record's id is OPTIONAL. It MUST be present when annotating usage records (see Section <a href="#record-annotation">Annotation Record</a>) or when defining precise-1 derivations (see
-<a href="#Derivation-Relation">Derivation Record</a>).</p>
-
-<p>
-A reference to a given entity record MAY appear in multiple usage records that share
- a given activity record identifier. 
-</p>
-
-
-<div class="interpretation-forward">
-For the interpretation of a usage record, see <a href="#generation-precedes-usage">generation-precedes-usage</a> and <a href="#usage-within-activity">usage-within-activity</a>.
-</div>
-
-
 
 </section>
 </section>
@@ -449,69 +394,6 @@
 <section id="record-ActivityAssociation">
 <h4>Activity Association Record</h4>
 
-<p>The key purpose of agents in PROV-DM 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>
-
-<p>Examples of activity association  include designing, participation, initiation and termination, timetabling or sponsoring. </p>
-
-
-<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>
-
-
-
-
-<p>In the context of PROV-DM, a <dfn>plan</dfn> should be understood as the description of a set of
-actions or steps intended by one or more agents to achieve some goal. PROV-DM is not
-prescriptive about the nature of plans, their representation, the
-actions and steps they consist of, and their intended goals.  Hence,
-for the purpose of this specification, a plan can be a workflow for a
-scientific experiment, a recipe for a cooking activity, or a list of
-instructions for a micro-processor execution.  While PROV-DM does not
-specify the representations of plans, it allows for activities to be
-associated with plans.  Furthermore, since plans may evolve over time,
-it may become necessary to track their provenance, and hence, plans are
-entities.  An activity MAY be associated with multiple plans. This
-allows for descriptions of activities initially associated with a
-plan, which was changed, on the fly, as the activity progresses. Plans
-can be successfully executed or they can fail. We expect applications
-to exploit PROV-DM <a href="#extensibility-section">extensibility
-mechanisms</a> to capture the rich nature of plans and associations
-between activities and plans.</p>
-
-
-<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>
-
-
-<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>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the activity association record;</li> 
-<li><em>activity</em>: an identifier <span class="name">a</span> for an activity record;</li>
-<li><em>agent</em>: an identifier <span class="name">ag2</span> for an agent record, which represents the agent associated with the activity;</li>
-<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;
-<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>
-</ul>
-
 <div class="withAsn">
 <p>In PROV-ASN, an activity association record's text matches the <span class="nonterminal">activityAssociationRecord</span> productions of the grammar defined in this specification
 document.</p>
@@ -529,55 +411,11 @@
 </div>
 </div>
 
-<div class="anexample">
-In the following example, a designer 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>.   
-<pre class="codeexample">
-activity(ex:a,[prov:type="workflow execution"])
-agent(ex:ag1,[prov:type="operator"])
-agent(ex:ag2,[prov:type="designer"])
-wasAssociatedWith(ex:a,ex:ag1,[prov:role="loggedInUser", ex:how="webapp"])
-wasAssociatedWith(ex:a,ex:ag2,ex:wf,[prov:role="designer", ex:context="project1"])
-entity(ex:wf,[prov:type="prov:Plan"%% xsd:QName, ex:label="Workflow 1", 
-              ex:url="http://example.org/workflow1.bpel" %% xsd:anyURI])
-</pre>
-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.
-</div>
-
-<div class='issue'> The activity association record does not allow for a plan to be asserted without an agent.
-This seems over-restrictive. Discussed in the context of <a href="http://www.w3.org/2011/prov/track/issues/203">ISSUE-203</a>.</div>
-
-
-<div class='issue'> Agents should not be inferred. WasAssociatedWith should also work with entities.
-This is <a href="http://www.w3.org/2011/prov/track/issues/206">ISSUE-206</a>.</div>
-
-
 </section>
 
 <section id="record-Start-End">
 <h4>Start and End Records</h4>
 
-<p> A <dfn id="dfn-Start">start record</dfn> is a representation of an agent starting an activity.
- An <dfn id="dfn-End">end record</dfn> is a representation of an agent ending an activity. Both relations are specialized forms of <span class="name">wasAssociatedWith</span>. They contain
-attributes describing the modalities of acting/ending activities.</p>
-
-
-
-<p>A start record, written <span class="name">wasStartedBy(id,a,ag,attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the start record;</li> 
-<li><em>activity</em>: an identifier <span class="name">a</span> denoting an activity record, representing the started activity;
-<li><em>agent</em>: an identifier <span class="name">ag</span> for an agent record, representing the starting agent;
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span>, describing modalities according to which the agent started the activity.
-</ul>
-
-<p>An end record, written <span class="name">wasEndedBy(id,a,ag,attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the end record;</li> 
-<li><em>activity</em>: an identifier <span class="name">a</span> denoting an activity record, representing the ended activity;
-<li><em>agent</em>: an identifier <span class="name">ag</span> for an agent record, representing the ending agent;
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span>, describing modalities according to which the agent ended the activity.
-</ul>
 
 <div class="withAsn">
 <p>In PROV-ASN, start and end record's texts match the <span class="nonterminal">startRecord</span> and <span class="nonterminal">endRecord</span> productions of the grammar defined in this
@@ -605,24 +443,6 @@
 </div>
 </div>
 
-<div class="anexample">
-<p>
-The following assertions</p>
-<pre class="codeexample">
-wasStartedBy(a,ag,[ex:mode="manual"])
-wasEndedby(a,ag,[ex:mode="manual"])
-</pre>
-<p>state that the activity, represented by the activity record denoted by <span class="name">a</span>
-was started and ended by an agent, represented by record denoted by  <span class="name">ag</span>, in "manual" mode, an application specific characterization of these relations.
-</p>
-</div>
-
-<div class='issue'> 
-Should we define start/end records as representation of activity start/end events.
-Should time be associated with these events rather than with activities. This will be similar to what
-we do for entities. This is issue <a href="http://www.w3.org/2011/prov/track/issues/207">ISSUE-207</a>.</div>
-
-
 </section>
 
 
@@ -637,40 +457,6 @@
 
 <h4>Responsibility Record</h4>
 
-<p>To promote take-up, PROV-DM offers a mild version of responsibility
-in the form of a relation to represent when an agent acted on another
-agent's behalf.  So in the example of someone running a mail program,
-the program is an agent of that activity and the person is also an
-agent of the activity, but we would also add that the mail software
-agent is running on the person's behalf.  In the other example, the
-student acted on behalf of his supervisor, who acted on behalf of the
-department chair, who acts on behalf of the university, and all those
-agents are responsible in some way for the activity to take place but
-we don't say explicitly who bears responsibility and to what
-degree. </p>
-
-<p>We could also say that an agent can act on behalf of several other
-agents (a group of agents).  This would also make possible to
-indirectly reflect chains of responsibility.  This also indirectly
-reflects control without requiring that control is explicitly
-indicated.  In some contexts there will be a need to represent
-responsibility explicitly, for example to indicate legal
-responsibility, and that could be added as an extension to this core
-model.  Similarly with control, since in particular contexts there
-might be a need to define specific aspects of control that various
-agents exert over a given activity.</p>
-
-<p>Given an activity association record <span class="name">wasAssociatedWith(a,ag2,attrs)</span>,
-a <dfn id="dfn-responsibility">responsibility record</dfn>, written <span class="name">actedOnBehalfOf(id,ag2,ag1,a,attrs)</span> in PROV-ASN, has the following constituents:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the responsibility record;</li> 
-<li><em>subordinate</em>: an identifier <span class="name">ag2</span> for an agent record, which represents an agent associated with an activity, acting on behalf of the responsible
-agent;</li>
-<li><em>responsible</em>: an identifier <span class="name">ag1</span> for an agent record, which represents the agent on behalf of which the subordinate agent <span class="name">ag2</span>
-acts;</li>
-<li><em>activity</em>: an OPTIONAL identifier <span class="name">a</span> of an activity record for which the responsibility record holds;</li>
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this relation.</li>
-</ul>
 
 
 <div class='grammar'>
@@ -687,139 +473,12 @@
 <span class="name">)</span>
 </div>
 
-<div class="anexample">
-In the following example, a programmer, a researcher and a funder agents are asserted.  The programmer and researcher are associated with a workflow activity.  The programmer acts on behalf
-of the researcher (delegation) encoding the commands specified by the researcher; the researcher acts on behalf of the funder, who has an contractual agreement with the researcher. The terms
-'delegation' and 'contact' used in this example are domain specific.
-<pre class="codeexample">
-activity(a,[prov:type="workflow"])
-agent(ag1,[prov:type="programmer"])
-agent(ag2,[prov:type="researcher"])
-agent(ag3,[prov:type="funder"])
-wasAssociatedWith(a,ag1,[prov:role="loggedInUser"])
-wasAssociatedWith(a,ag2)
-actedOnBehalfOf(ag1,ag2,a,[prov:type="delegation"])
-actedOnBehalfOf(ag2,ag3,a,[prov:type="contract"])
-</pre>
-</div>
-
 
 </section>
 
 <section id="Derivation-Relation">
 <h4>Derivation Record</h4>
 
-<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>
-
-
-<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>According to <a href="#conceptualization">Section Conceptualization</a>, for an entity to be transformed from, created from, or affected by another in some way, there must be some
-underpinning activities performing the necessary actions resulting in such a derivation.  
-However, asserters may not assert or have knowledge of these activities and associated details: they may not assert or know their number, they may not assert or know their identity, they may
-not assert or know the attributes characterizing how the relevant entities are used or generated. To accommodate the varying circumstances of the various asserters, PROV-DM allows more or
-less precise records of derivation to be asserted.  Hence, PROV-DM uses the terms <em>precise</em> and <em>imprecise</em> to characterize the different kinds of derivation record. We note
-that the derivation itself is exact (i.e., deterministic, non-probabilistic), but it is its description, expressed in a derivation record, that may be imprecise. </p>
-
-<p>The  lack of precision may come from two sources:</p>
-<ul>
-<li> the number of activities that underpin a derivation is not asserted or known, or</li>
-<li> any of the other details that are involved in the derivation is not asserted or known; these include activity identities, generation and usage records, and their attributes.</li>
-</ul>
-
-
-<!--
-Furthermore, assuming that an asserter has full knowledge of an activity underpinning a derivation, the same activity can generally be modelled in terms of sub-activities, composed in a such
-a way as to deliver the same behavior. Hence, since activities can be modelled at arbitrary levels of granularity, there is a distinguished case in which a derivation between two entities
-<span class="name">e2</span> and <span class="name">e1</span> corresponds <em>exactly</em> to <em>one</em> activity that used <span class="name">e1</span> and generated <span
-class="name">e2</span>.    This is to be contrasted to the case where one derivation corresponds to n activities, where n can be any number greater than 1.
-Hence, PROV-DM uses the terms <em>one-activity</em> and <em>n-activities</em> to distinguish these two cases.</p>
--->
-
-
-<p>Hence, we can consider two axis.  An activity number axis that has values  <em>single</em>, <em>multiple</em>,  and <em>unknown</em>, respectively representing the case where one activity
-is known to have occurred, more than one activities are known to have occurred, or an unknown number of activities have occurred. Likewise, we can consider another axis to cover other
-details (identities, generation and usage records, attributes), with values <em>asserted</em> and <em>not asserted</em>. We can then form a matrix of possible derivations. Out of the six
-possibilities, 
-PROV-DM offers three forms of derivation derivation records to cater for five othem, while the remaining one is not meaningful.  The following table summarises names for the three kinds of
-derivation, which we then explain.</p>
-
-<div style="text-align: center;">
-<table border="1" style="margin-left: auto; margin-right: auto;">
-<caption>PROV-DM Derivation Type Summary</caption>
-<tr><td colspan=2 rowspan=2></td><td colspan=2><em>other details</em> axis</td></tr>
-<tr><td>asserted</td><td>not asserted</td></tr> 
-<tr><td rowspan=3><em>activity number</em><br>axis</td><td>single</td><td><a>precise-1 derivation record</a></td><td><a>imprecise-1 derivation record</a></td></tr> 
-<tr><td>multiple</td><td><a>imprecise-n derivation record</a></td><td rowspan=2><a>imprecise-n derivation record</a></td></tr> 
-<tr><td>unknown</td><td>&mdash;</td></tr> 
-</table>
-</div>
-
-<ul>
-<li> The asserter asserts that derivation is due to exactly one activity, and all the details are asserted. We call this a precise-1 derivation record.</li>
-<li> The asserter asserts that derivation is due to exactly one activity, but other details,  whether known or unknown, are not asserted. We call this an imprecise-1 derivation record.</li>
-<li> The following cases are captured by an imprecise-n derivation record.
-<ul>
-<li> The asserter knows that multiple activities are involved or ignores the number of activities involved in the derivation, and  other details are not asserted. </li>
-<li> The asserter knows that multiple activities are involved in the derivation, and all their details are asserted. In this case,  these activities are connected by means of generated and
-used intermediary entities.  Despite all activities and details being known, there is no guarantee that any of these activities plays an active role in the derivation; hence, this case is
-also regarded as imprecise. Instead, precise derivations need to be expressed between these intermediary entities.  </li>
-</ul>
-</ul>
-
-<p> We note that the last theoretical cases cannot occur, since
-  asserting the details of an unknown number of activities is a contradiction.
-</p>
-
-<p>In order to represent the number of activities in a derivation, we introduce a PROV-DM attribute <span class="name">steps</span>, which can take two possible values:   <span
-class="name">single</span> and <span class="name">any</span>.
-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 derivation records 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 record</dfn>, written <span class="name">wasDerivedFrom(id, e2, e1, a, g2, u1, attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
-<li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
-<li><em>usedEntity</em>: the identifier <span class="name">e1</span> of  an entity record, which is a representation of the used entity;</li>
-<li><em>activity</em>: an identifier <span class="name">a</span> of an activity record, which is a representation of the activity using and generating the above entities;</li>
-<li><em>generation</em>: an identifier  <span class="name">g2</span> of the generation record pertaining to <span class="name">e2</span> and <span class="name">a</span>;</li> 
-<li><em>usage</em>: an identifier  <span class="name">u1</span> of the usage record pertaining to <span class="name">e1</span> and <span class="name">a</span>.</li> 
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation, optionally including the attribute-value
-pair <span class="name">prov:steps="single"</span>.</li>
-</ul>
-<p>It is OPTIONAL to include  the attribute <span class="name">prov:steps</span> in a precise-1 derivation since the record already refers to the one and only one activity underpinning the
-derivation.</p>
-
-
-<p>An <dfn>imprecise-1 derivation record</dfn>, written <span class="name">wasDerivedFrom(id, e2,e1, t, attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
-<li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
-<li><em>usedEntity</em>: the identifier <span class="name">e1</span> of  an entity record, which is a representation of the used entity;</li>
-<li><em>time</em>: an OPTIONAL "generation time" <span class="name">t</span>, the time at which the entity denoted by <span class="name">e2</span> was created;</li>
-<li><em>attributes</em>: a set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation; it MUST include the attribute-value pair <span class="name">prov:steps="single"</span>.</li>
-</ul>
-<p>An imprecise-1 derivation MUST include the attribute <span class="name">prov:steps</span>,  since it is the only means to distinguish this record from an imprecise-n derivation
-record.</p>
-
-
-<p>An <dfn>imprecise-n derivation record</dfn>, written <span class="name">wasDerivedFrom(id, e2, e1, t, attrs)</span> in PROV-ASN, contains:</p>
-<ul>
-<li><em>id</em>:  an OPTIONAL identifier  <span class="name">id</span> identifying the derivation record;</li> 
-<li><em>generatedEntity</em>: the identifier <span class="name">e2</span> of  an entity record, which is a representation of the generated entity;</li>
-<li><em>usedEntity</em>: the identifier <span class="name">e1</span> of  an entity record, which is a representation of the used entity;</li>
-<li><em>time</em>: an OPTIONAL "generation time" <span class="name">t</span>, the time at which the entity denoted by <span class="name">e2</span> was created;</li>
-<li><em>attributes</em>: an OPTIONAL set of attribute-value pairs <span class="name">attrs</span> that describe the modalities of this derivation; it optionally includes the attribute-value pair <span class="name">prov:steps="any"</span>.</li>
-</ul>
-<p>It is OPTIONAL to include  the attribute <span class="name">prov:steps</span> in an imprecise-n derivation record. It defaults to <span class="name">prov:steps="any"</span>.</p> 
-
-
-<p>None of the three kinds of derivation is defined to be transitive. Domain-specific specializations of these derivations may be defined in such a way that the transitivity property
-holds.</p>
 
 
 <div class="withAsn">
@@ -859,122 +518,6 @@
 </p>
 </div>
 
-<div class="anexample">
-<p>The following assertions state the existence of derivations.</p>
-<pre class="codeexample">
-wasDerivedFrom(e5,e3,a4,g2,u2)
-wasDerivedFrom(e5,e3,a4,g2,u2,[prov:steps="single"])
-
-wasDerivedFrom(e3,e2,[prov:steps="single"])
-
-wasDerivedFrom(e2,e1,[])
-wasDerivedFrom(e2,e1,[prov:steps="any"])
-
-wasDerivedFrom(e2,e1,2012-01-18T16:00:00, [prov:steps="any"])
-</pre>
-<p>
-The first two are precise-1 derivation records expressing that the activity represented by the activity <span class="name">a4</span>, by
-using the entity denoted by <span class="name">e3</span> according to usage record <span class="name">u2</span>
- derived the
-entity denoted by <span class="name">e5</span> and generated it according to generation record
- <span class="name">g2</span>. 
-
-
-The third record is an imprecise-1 derivation, which is similar for <span class="name">e3</span> and <span class="name">e2</span>, but it leaves the activity record and associated attributes implicit. The fourth and fifth records are imprecise-n derivation records between  <span class="name">e2</span> and  <span class="name">e1</span>, but no information is provided as to the number and identity of activities underpinning the derivation. The six derivation records extends the fifth with the derivation time of <span class="name">e2</span>.
-</p>
-</div>
-
-
-<p>An precise-1  derivation record is richer  than an imprecise-1 derivation record, itself, being more informative that an imprecise-n derivation record. Hence, the following implications
-hold.</p>
-<div class='inference' id='derivation-implications'>
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2,
-e1, a, g2, u1, attrs)</span>
- holds for some generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, then <span
-class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] &cup; attrs)</span> also holds.<br>
-
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the assertion  <span class="name">wasDerivedFrom(e2,
-e1, [prov:steps="single"] &cup; attrs)</span>
- holds, then <span class="name">wasDerivedFrom(e2,e1,attrs)</span> also holds.<br>
- </div>
-
-<div class="interpretation-forward">
-For the interpretation of a derivation record, see <a href="#derivation-usage-generation-ordering">derivation-usage-generation-ordering</a> and <a
-href="#derivation-generation-generation-ordering">derivation-generation-generation-ordering</a>
-</div>
-
-<!--
-<p>
-<p>If a derivation record holds for <span class="name">e2</span> and <span class="name">e1</span>, then 
-this means that the entity represented by entity record identified by <span class="name">e1</span> has an influence on the entity represented entity record identified by <span
-class="name">e2</span>,
-  which at the minimum implies temporal ordering, specified as follows.
-First, we consider one-activity derivations.</p>
-
-<div class='interpretation' id='derivation-usage-generation-ordering'>Given an activity record identified by <span class="name">a</span>, entity records identified by <span
-class="name">e1</span> and <span class="name">e2</span>, generation record identified by <span class="name">g2</span>, and usage record identified by <span class="name">u1</span>, <span
-class='conditional'>if</span> the record <span class="name">wasDerivedFrom(e2,e1,a,g2,u1,attrs)</span>
-or <span class="name">wasDerivedFrom(e2,e1,[prov:steps="single"] &cup; attrs)</span> holds, <span class='conditional'>then</span>
-the following temporal constraint holds:
-the <a title="entity usage event">usage</a>
-of entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation</a> of
-the entity denoted by <span class="name">e2</span>.
-</div>
-
-<p>Then, imprecise-n derivations.</p>
-
-<div class='interpretation' id='derivation-generation-generation-ordering'>
-Given two entity records denoted by <span class="name">e1</span> and <span class="name">e2</span>, <span class='conditional'>if</span> the record <span
-class="name">wasDerivedFrom(e2,e1,[prov:steps="n"] &cup; attrs)</span>
- holds, <span class='conditional'>then</span> the following temporal constraint holds:
-the <a title="entity generation event">generation event</a> of the entity denoted by <span class="name">e1</span> <a>precedes</a> the <a title="entity generation event">generation event</a>
-of
-the entity  denoted by <span class="name">e2</span>.
-  </div>
-
-<p>Note that temporal ordering is between generations of <span class="name">e1</span>
-and <span class="name">e2</span>, as opposed to precise-1 derivation,
-which implies temporal ordering between the usage of <span class="name">e1</span> and
-generation of <span class="name">e2</span>.  Indeed, in the case of
-imprecise-n derivation, nothing is known about the usage of <span class="name">e1</span>,
-since there is no associated activity.</p>
-
--->
-
-
-<p>The imprecise-1 derivation has the same meaning as the  precise-1
- derivation, except that an activity  
- is known to exist, though it does not need to be 
-asserted.  This is formalized by the following inference rule,
-referred to as <em>activity introduction</em>:</p>
-<div class='inference' id="activity-introduction">
-<span class='conditional'>If</span> <span class="name">wasDerivedFrom(e2,e1)</span> holds, <span class='conditional'>then</span> there exist an activity record identified by <span
-class="name">a</span>, a usage record identified by <span class="name">u</span>, and a generation record identified by <span class="name">g</span>
-such that:
-<pre class="codeexample">
-activity(a,aAttrs)
-wasGeneratedBy(g,e2,a,gAttrs)
-used(u,a,e1,uAttrs)
-</pre>
-for sets of attribute-value pairs <span class="name">gAttrs</span>, <span class="name">uAttrs</span>, and <span class="name">aAttrs</span>.
-</div>
-
-
-
-
-
-<p>
-Note that inferring derivation from usage and generation does not hold
-in general. Indeed, when a generation <span class="name">wasGeneratedBy(g, e2, a, attrs2)</span>
-<a>precedes</a> <span class="name">used(u, a, e1, attrs1)</span>, for
-some <span class="name">e1</span>, <span class="name">e2</span>, <span class="name">attrs1</span>, <span class="name">attrs2</span>, and <span class="name">a</span>, one
-cannot infer derivation <span class="name">wasDerivedFrom(e2, e1, a, g, u)</span>
-or <span class="name">wasDerivedFrom(e2,e1)</span> since 
-of <span class="name">e2</span> cannot possibly be derived from
- <span class="name">e1</span>, given the creation of <span class="name">e2</span> <a>precedes</a> the use
-of <span class="name">e1</span>.
-</p>
-
 
 <p>In PROV-DM, the effective placeholder for an entity generation time is the <a>generation record</a>. The presence of 
 time information in imprecise derivation records is merely a convenience notation for a timeless derivation record and a generation record with this generation time information. </p>
@@ -1007,75 +550,7 @@
 
 <section id="record-alternate-specialization">
 
-<h4>Alternate  and Specialization Records</h4>
-
-<div class="note">This section is currently under revision and in flux</div>
-
-The purpose of the record types defined in this section is to establish a relationship between two entities, which asserts that they provide a different characterization of the same thing. 
-Consider for example three entities:
-<ul>
-
-  <li><span class="name">e1</span> denoting "Bob, the holder of facebook account ABC",
-  
-  <li><span class="name">e2</span> denoting "Bob, the holder of twitter account XYZ",
-
-  <li><span class="name">e3</span> denoting "Bob, the person".
-</ul>
-
-One may make several assertions to establish that these entities refer to the same the real-world thing Bob, either in different contexts, or at different levels of abstraction. For example:
-
-<ol>
-  <li> Entity denoted by <span class="name">e1</span> provides a <em>more concrete</em> characterization of Bob  than <span class="name">e3</span> does;
-  <li> Entity denoted by <span class="name">e2</span>  provides a <em>more concrete</em> characterization of Bob  than <span class="name">e3</span> does;
-  <li> The entities denoted by <span class="name">e1</span> and  <span class="name">e2</span> provide two different characterizations of the same thing, i.e., Bob.
-</ol>
-
-Two relations are introduced to express these assertions:
-
-<ul>
-
-  <li> e2 is a <em>specialization</em> of e1, written <span class="name">specializationOf(e2,e1)</span> captures the intent of assertion (1) and (2);
-  <li> e2 is an <em>alternative characterization</em> of e1, written <span class="name">alternateOf(e2,e1)</span> captures the intent of assertion (3).
-  
-  </ul>
-
-In order to further convey the intended meaning, the following properties are associated to these two relations.
-
-  <ul>
-    <li><span class="name">specializationOf(e2,e1)</span> is <strong>transitive</strong>:    <span class="name">specializationOf(e3,e2)</span> and  <span
-class="name">specializationOf(e2,e1)</span> implies  <span class="name">specializationOf(e3,e1)</span>.
-
-    <li><span class="name">specializationOf(e2,e1)</span> is <strong>anti-symmetric</strong>:   <span class="name">specializationOf(e2,e1)</span> implies that  <span
-class="name">specializationOf(e1,e2)</span>  does not hold.
-    <li><span class="name">alternateOf(e2,e1)</span> is <strong>symmetric</strong>:   <span class="name">alternateOf(e2,e1)</span> implies  <span class="name">alternateOf(e1,e2)</span>.
-  </ul>
-
-  <div class="note">There are proposals to make alternateOf a transitive property. This is still under discussion and the default is for alternateOf <strong>not</strong> to be transitive, and this is what the current text  reflects.</div>
-
-<p>A <dfn id="dfn-Alternate">alternate record</dfn>, written alternateOf(alt1, alt2, attrs) in PROV-ASN, has the following constituents:</p>
-
-<ul>
-<li><em>first alternate</em>: an identifier <span class="name">alt1</span> of the first of the two entities</li>
-<li><em>second alternate</em>: an identifier <span class="name">alt2</span> of the second of the two entities</li>
-<li><em>attrs</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe this record.</li>
-</ul>
-
-
-<p>A <dfn id="dfn-Specialization">specialization record</dfn> written specializationOf(sub, super, attrs) in PROV-ASN, has the following constituents:</p>
-
-<ul>
-<li><em>specialised entity</em>: an identifier <span class="name">sub</span> of the specialised entity</li>
-<li><em>general entity</em>: an identifier <span class="name">super</span> of the entity that is being specialised</li>
-<li><em>attrs</em>: an OPTIONAL set <span class="name">attrs</span> of attribute-value pairs to further describe this record.</li>
-</ul>
-</p>
-
-
-<p>
-An entity record identifier can optionally be accompanied by an account identifier. When this is the case, it becomes possible to use the <span class="name">alternateOf</span> relation to
-link two entity record identifiers that are appear in different accounts. (In particular, the entity identifiers in two different account are allowed to be the same.). When account
-identifiers are not available, then the linking of entity records through <span class="name">alternateOf</span> can only take place within the scope of a single account.
-</p>
+<h4>Alternate  and Specialization</h4>