--- a/model/ProvenanceModel.html Thu Aug 04 23:04:32 2011 +0100
+++ b/model/ProvenanceModel.html Thu Aug 04 23:18:43 2011 +0100
@@ -329,7 +329,7 @@
</p>
-<p>This specification defines a data model for provenance (placeholder acronym PIDM), relies on a language, the <a href="#PASN-convention">Provenance Abstract Syntax Notation</a>, to express
+<p>This specification defines a data model for provenance (placeholder acronym PIDM) and relies on a language, the <a href="#PASN-convention">Provenance Abstract Syntax Notation</a>, to express
<em>instances</em> of that data model.</p>
@@ -352,14 +352,15 @@
<div class='note'>Can this be enforced formally?</div>
<p>
-This specification does not prescribe the means by an asserter arrives at assertions, for example on the basis of observations, inferences, or any other means.
+This specification does not prescribe the means by which an asserter arrives at assertions; for example, assertions can be composed on the basis of observations, inferences, or any other means.
</p>
<p>The data model includes a notion of "provenance container" that is
a logical grouping for a set of assertions. It serves multiple
purposes. First, it provides a way to attach various metadata to the
- set of assertions. Second, it provides a default scope for
+ set of assertions. Second, it provides a scope in which some constraints apply.
+ Third, it provides a default scope for
identifiers used in assertions. This means that identifiers are
expected to be resolvable only within the scope of a container,
rather than globally. Optionally, identifiers can be exported so that
@@ -1089,6 +1090,9 @@
<li>Language constructs are represented as <b>name(arg0, arg1, ...)</b>, where the name of the construct occurs first, and is followed by its arguments.</li>
<li>For use, generation, and derivation event, the first argument is the 'effect' (i.e. most recent item) and the second argument is the 'cause' (i.e. least recent item). This order is compatible with the temporal layout of the graphical notation.
</li>
+<li> BNF grammar for the Provenance Abstract Syntax Notation,
+<div data-include='grammar.txt'></div>
+</li>
</ul>
</section>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/model/grammar.txt Thu Aug 04 23:18:43 2011 +0100
@@ -0,0 +1,17 @@
+<construct> :== <name> '(' <argument+> ')'
+<argument+> ::= <argument> | <argument> ',' <argument+>
+<argument> ::= <identifier>
+ | <role>
+ | <time>
+ | <properties>
+
+<properties> ::= [ <attribute-value*> ]
+<attribute-value*> ::= | <attribute-value> ',' <attribute-value*>
+<attribute-value> ::= <attribute> ':' <value>
+
+<value> ::= <string> | <number> | <time>
+
+
+<role> ::= token
+<identifier> ::= token
+<attribute> ::= token