dd {
margin-bottom: 0.5em }
-/* Uncomment (& remove this text!) to get bold-faced definition list terms
-dt {
- font-weight: bold }
-*/
-
div.abstract {
margin: 2em 5em }
<tr class="field"><th class="docinfo-name">Type:</th><td class="field-body">Best Current Practice</td>
</tr>
<tr><th class="docinfo-name">Status:</th>
-<td>Draft</td></tr>
+<td>Final</td></tr>
<tr class="field"><th class="docinfo-name">TinyOS-Version:</th><td class="field-body">All</td>
</tr>
<tr><th class="docinfo-name">Author:</th>
<td>Philip Levis</td></tr>
-<tr class="field"><th class="docinfo-name">Draft-Created:</th><td class="field-body">18-Oct-2004</td>
-</tr>
-<tr class="field"><th class="docinfo-name">Draft-Version:</th><td class="field-body">1.1.2.3</td>
-</tr>
-<tr class="field"><th class="docinfo-name">Draft-Modified:</th><td class="field-body">2006-06-13</td>
-</tr>
-<tr class="field"><th class="docinfo-name">Draft-Discuss:</th><td class="field-body">TinyOS Developer List <tinyos-devel at mail.millennium.berkeley.edu></td>
-</tr>
</tbody>
</table>
<div class="note">
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in TEP 1.</p>
<p>Note that the force of these words is modified by the requirement
-level of the document in which they are used.</p>
+level of the document in which they are used. These words hold their
+special meanings only when capitalized, and documents SHOULD avoid using
+these words uncapitalized in order to minimize confusion.</p>
<div class="section">
<h2><a id="must" name="must">2.1 MUST</a></h2>
<p>MUST: This word, or the terms "REQUIRED" or "SHALL", mean that the
<p>TEPs have two major parts, a header and a body. The header states
document metadata, for management and status. The body contains the
content of the proposal.</p>
-<p>All TEPs MUST follow the TEP docutils template, and conform to
-reStructuredText standards <a class="footnote-reference" href="#id2" id="id1" name="id1">[1]</a>, to enable translation from
-reStructuredText to HTML and Latex.</p>
+<p>All TEPs MUST conform to reStructuredText standards <a class="footnote-reference" href="#id2" id="id1" name="id1">[1]</a> and follow
+the docutils template, to enable translation from reStructuredText
+to HTML and LaTeX.</p>
<div class="section">
<h2><a id="tep-header" name="tep-header">3.1 TEP Header</a></h2>
<p>The TEP header has several fields which MUST be included, as well as
-others which MAY be included. The first six header fields MUST be
+others which MAY be included. The TEP header MUST NOT include headers
+which are not specified in TEP 1 or supplementary Best Current
+Practice TEPs. The first six header fields MUST be
included in all TEPs, in the order stated here.</p>
<p>The first field is "TEP," and specifies the TEP number of the
document. A TEP's number is unique.. This document is TEP 1. The
-TEP type (discussed below)
-determines how a number is assigned to it. Generally, when a document
-is ready to be a TEP, it is assigned the smallest available number.
-BCP TEPs start at 1 and all other TEPs (Documentary, Experimental,
-and Informational) start at 101.</p>
+TEP type (discussed below) determines TEP number assignment. Generally,
+when a document is ready to be a TEP, it is assigned the smallest
+available number. BCP TEPs start at 1 and all other TEPs
+(Documentary, Experimental, and Informational) start at 101.</p>
<p>The second field states the name of the working group that produced
the document. This document was produced by the Core Working Group.</p>
<p>The third field is "Type," and specifies the type of TEP the document
is. There are four types of TEP: Best Current Practice (BCP),
-Documentary, Informational, and Experimental. This document is Best
+Documentary, Informational, and Experimental. This document's type is Best
Current Practice.</p>
<p>Best Current Practice is the closest thing TEPs have to a standard: it
represents conclusions from significant experience and work by its
describe systems that do not have a reference implementation.</p>
<p>The fourth field is "Status," which specifies the status of the TEP.
A TEP status can either be "Draft," which means it is a work in
-progress, "Final," which means it is complete and will not change, or
-"Obsolete," which means it should no longer be considered. If a TEP is
-"Obsolete" because it has been replaced by another TEP, then the new
-TEP number should follow "Obsolete," such as "Obsolete by TEP 1231."</p>
+progress, "Final," which means it is complete and will not change.
+Once a TEP has the status "Final," the only change allowed is the
+addition of an "Obsoleted By" field.</p>
+<p>The "Obsoletes" field is a backward pointer to an earlier TEP which
+the current TEP renders obsolete. An Obsoletes field MAY have multiple
+TEPs listed. For example, if TEP 191 were to replace TEPs 111 and 116, it
+would have the field "Obsoletes: 111, 116".</p>
+<p>The "Obsoleted By" field is added to a Final TEP when another TEP has
+rendered it obsolete. The field contains the number of the obsoleting
+TEP. For example, if TEP 111 were obsoleted by TEP 191, it would have
+the field "Obsoleted By: 191".</p>
+<p>"Obsoletes" and "Obsoleted By" fields MUST agree. For a TEP to list another
+TEP in its Obsoletes field, then that TEP MUST list it in the Obsoleted By
+field.</p>
+<p>The obsoletion fields are used to keep track of evolutions and modifications
+of a single abstraction. They are not intended to force a single approach or
+mechanism over alternative possibilities.</p>
<p>If a TEP is Best Current Practices or Documentary, then it MUST
include an additional field, "TinyOS-Version:," which states what
version(s) of TinyOS the document pertains to. This document pertains
to all versions of TinyOS, until made obsolete by a future TEP. This
field MUST appear after the Status field and before the Author field.</p>
-<p>The final required field is Author, which states the names of the
+<p>The final required field is "Author," which states the names of the
authors of the document. Full contact information should not be listed
here (see Section 3.2).</p>
+<p>There is an optional field, "Extends." The "Extends" field refers to
+another TEP. The purpose of this field is to denote when a TEP represents
+an addition to an existing TEP. Meeting the requirements of a TEP with an
+Extends field requires also meeting the requirements of all TEPs listed
+in the Extends field.</p>
<p>If a TEP is a Draft, then four additional fields MUST be included:
Draft-Created, Draft-Modified, Draft-Version, and Draft-Discuss.
Draft-Created states the date the document was created, Draft-Modified
<p>If a TEP is Documentary, it MUST have a section entitled
"Implementation," which instructs the reader how to obtain the
implementation documented.</p>
-<p>If a TEP is Best Current Practices, it MUST have a section entitled
+<p>If a TEP is Best Current Practice, it MUST have a section entitled
"Reference," which points the reader to one or more reference uses of
the practices.</p>
-<p>The last section of a TEP (but before citations, if there are any),
-entitled "Author's Address" or "Author's Addresses" MUST contain
-detailed author contact information.</p>
+<p>The last three sections of a TEP are author information, citations,
+and appendices. A TEP MUST have an author information section titled
+entitled "Author's Address" or "Authors' Addresses." A TEP MAY have
+a citation section entitled "Citations." A citations section MUST
+immediately follow the author information section. A TEP MAY have
+appendices. Appendices MUST immediately follow the citations section,
+or if there is no citations section, the author information section.
+Appendices are lettered. Please refer to Appendix A for details.</p>
</div>
</div>
<div class="section">
<h1><a id="author-s-address" name="author-s-address">6. Author's Address</a></h1>
<div class="line-block">
<div class="line">Philip Levis</div>
-<div class="line">467 Soda Hall</div>
-<div class="line">UC Berkeley</div>
-<div class="line">Berkeley, CA 94720</div>
+<div class="line">358 Gates Hall</div>
+<div class="line">Stanford University</div>
+<div class="line">Stanford, CA 94305</div>
<div class="line"><br /></div>
-<div class="line">phone - +1 510 290 5283</div>
+<div class="line">phone - +1 650 725 9046</div>
<div class="line"><br /></div>
-<div class="line">email - <a class="reference" href="mailto:pal@cs.berkeley.edu">pal@cs.berkeley.edu</a></div>
+<div class="line">email - <a class="reference" href="mailto:pal@cs.stanford.edu">pal@cs.stanford.edu</a></div>
</div>
</div>
<div class="section">
</tbody>
</table>
</div>
+<div class="section">
+<h1><a id="appendix-a-example-appendix" name="appendix-a-example-appendix">Appendix A. Example Appendix</a></h1>
+<p>This is an example appendix. Appendices begin with the letter A.</p>
+</div>
</div>
</body>
</html>