]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Recommended changes to TEP 1.
authorscipio <scipio>
Tue, 29 May 2007 22:23:55 +0000 (22:23 +0000)
committerscipio <scipio>
Tue, 29 May 2007 22:23:55 +0000 (22:23 +0000)
doc/html/tep1.html
doc/txt/tep1.txt

index 2d2068b51b5a08df0c3d2221a171865c92421356..d83c94bba6ebf1e252a99fc75f83f6199e9a1d34 100644 (file)
@@ -3,7 +3,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
 <title>TEP Structure and Keywords</title>
 <meta name="author" content="Philip Levis" />
 <style type="text/css">
@@ -283,6 +283,7 @@ ul.auto-toc {
 </style>
 </head>
 <body>
+<div class="document" id="tep-structure-and-keywords">
 <h1 class="title">TEP Structure and Keywords</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
@@ -310,21 +311,20 @@ ul.auto-toc {
 </tr>
 </tbody>
 </table>
-<div class="document" id="tep-structure-and-keywords">
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p class="last">This document specifies a Best Current Practices for the
 TinyOS Community, and requests discussion and suggestions for
 improvements.  Distribution of this memo is unlimited.</p>
 </div>
-<div class="section" id="abstract">
-<h1><a name="abstract">Abstract</a></h1>
+<div class="section">
+<h1><a id="abstract" name="abstract">Abstract</a></h1>
 <p>This memo describes the structure all TinyOS Extension Proposal (TEP)
 documents follow, and defines the meaning of several key words in
 those documents.</p>
 </div>
-<div class="section" id="introduction">
-<h1><a name="introduction">1. Introduction</a></h1>
+<div class="section">
+<h1><a id="introduction" name="introduction">1. Introduction</a></h1>
 <p>In order to simplify management, reading, and tracking development,
 all TinyOS Extension Proposals (TEPs) MUST have a particular
 structure. Additionally, to simplify development and improve
@@ -332,40 +332,42 @@ implementation interoperability, all TEPs MUST observe the meaning of
 several key words that specify levels of compliance. This document
 describes and follows both.</p>
 </div>
-<div class="section" id="keywords">
-<h1><a name="keywords">2. Keywords</a></h1>
+<div class="section">
+<h1><a id="keywords" name="keywords">2. Keywords</a></h1>
 <p>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
 &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; 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>
-<div class="section" id="must">
-<h2><a name="must">2.1 MUST</a></h2>
+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 &quot;REQUIRED&quot; or &quot;SHALL&quot;, mean that the
 definition is an absolute requirement of the specification.</p>
 </div>
-<div class="section" id="must-not">
-<h2><a name="must-not">2.2 MUST NOT</a></h2>
+<div class="section">
+<h2><a id="must-not" name="must-not">2.2 MUST NOT</a></h2>
 <p>MUST NOT: This phrase, or the phrase &quot;SHALL NOT&quot;, mean that the
 definition is an absolute prohibition of the specification.</p>
 </div>
-<div class="section" id="should">
-<h2><a name="should">2.3 SHOULD</a></h2>
+<div class="section">
+<h2><a id="should" name="should">2.3 SHOULD</a></h2>
 <p>SHOULD: This word, or the adjective &quot;RECOMMENDED&quot;, mean that there
 may exist valid reasons in particular circumstances to ignore a
 particular item, but the full implications must be understood and
 carefully weighed before choosing a different course.</p>
 </div>
-<div class="section" id="should-not">
-<h2><a name="should-not">2.4 SHOULD NOT</a></h2>
+<div class="section">
+<h2><a id="should-not" name="should-not">2.4 SHOULD NOT</a></h2>
 <p>SHOULD NOT: This phrase, or the phrase &quot;NOT RECOMMENDED&quot; mean that
 there may exist valid reasons in particular circumstances when the
 particular behavior is acceptable or even useful, but the full
 implications should be understood and the case carefully weighed
 before implementing any behavior described with this label.</p>
 </div>
-<div class="section" id="may">
-<h2><a name="may">2.5 MAY</a></h2>
+<div class="section">
+<h2><a id="may" name="may">2.5 MAY</a></h2>
 <p>MAY: This word, or the adjective &quot;OPTIONAL&quot;, mean that an item is
 truly optional.  One implementer may choose to include the item
 because a particular application requires it or because the
@@ -378,8 +380,8 @@ does include a particular option MUST be prepared to interoperate with
 another implementation which does not include the option (except, of
 course, for the feature the option provides.)</p>
 </div>
-<div class="section" id="guidance-in-the-use-of-these-imperatives">
-<h2><a name="guidance-in-the-use-of-these-imperatives">2.6 Guidance in the use of these Imperatives</a></h2>
+<div class="section">
+<h2><a id="guidance-in-the-use-of-these-imperatives" name="guidance-in-the-use-of-these-imperatives">2.6 Guidance in the use of these Imperatives</a></h2>
 <p>Imperatives of the type defined in this memo must be used with care
 and sparingly.  In particular, they MUST only be used where it is
 actually required for interoperation or to limit behavior which has
@@ -389,31 +391,32 @@ on implementors where the method is not required for
 interoperability.</p>
 </div>
 </div>
-<div class="section" id="tep-structure">
-<h1><a name="tep-structure">3. TEP Structure</a></h1>
+<div class="section">
+<h1><a id="tep-structure" name="tep-structure">3. TEP Structure</a></h1>
 <p>TEPs have two major parts, a header and a body. The header states
-document metadata, for management and status. The body contains the 
+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>
-<div class="section" id="tep-header">
-<h2><a name="tep-header">3.1 TEP Header</a></h2>
+<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 &quot;TEP,&quot; 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>
+document. A TEP's number is unique.. This document is TEP 1. The
+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 &quot;Type,&quot; 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
@@ -421,7 +424,7 @@ authors. Developers desiring to add code (or TEPs) to TinyOS SHOULD
 follow all current BCPs.</p>
 <p>Documentary TEPs describe a system or protocol that exists; a
 documentary TEP MUST reference an implementation that a reader can
-easily obtain.  Documentary TEPs simplify interoperability when 
+easily obtain.  Documentary TEPs simplify interoperability when
 needed, and document TinyOS service implementations.</p>
 <p>Informational TEPs provide information that is of interest to the
 community. Informational TEPs include data gathered on radio behavior,
@@ -430,14 +433,13 @@ organizational and logistic information,
 or experiences which could help the community achieve its goals.</p>
 <p>Experimental TEPs describe a completely experimental approach to a
 problem, which are outside the TinyOS core and will not necessarily
-become part of it.  Unlike Documentary TEPs, Experimental TEPs may 
+become part of it.  Unlike Documentary TEPs, Experimental TEPs may
 describe systems that do not have a reference implementation.</p>
 <p>The fourth field is &quot;Status,&quot; which specifies the status of the TEP.
 A TEP status can either be &quot;Draft,&quot; which means it is a work in
-progress, &quot;Final,&quot; which means it is complete and will not change. 
-Once a TEP has the status &quot;Final,&quot; its body MUST NOT change. 
-The values of its header fields MUST NOT change. The header of a
-Final TEP MAY have an &quot;Obsoleted By&quot; field added.</p>
+progress, &quot;Final,&quot; which means it is complete and will not change.
+Once a TEP has the status &quot;Final,&quot; the only change allowed is the
+addition of an &quot;Obsoleted By&quot; field.</p>
 <p>The &quot;Obsoletes&quot; 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
@@ -463,7 +465,7 @@ here (see Section 3.2).</p>
 <p>There is an optional field, &quot;Extends.&quot; The &quot;Extends&quot; 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 
+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.
@@ -474,8 +476,8 @@ made. Draft-Discuss specifies the email address of a mailing list
 where the draft is being discussed. Final and Obsolete TEPs MUST NOT
 have these fields, which are for Drafts only.</p>
 </div>
-<div class="section" id="tep-body">
-<h2><a name="tep-body">3.2 TEP Body</a></h2>
+<div class="section">
+<h2><a id="tep-body" name="tep-body">3.2 TEP Body</a></h2>
 <p>The first element of the TEP body MUST be the title of the document. A
 TEP SHOULD follow the title with an Abstract, which gives a brief
 overview of the content of the TEP. Longer TEPs MAY, after the
@@ -485,25 +487,27 @@ seeks to solve and providing needed background information.</p>
 <p>If a TEP is Documentary, it MUST have a section entitled
 &quot;Implementation,&quot; 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 Practic, it MUST have a section entitled
 &quot;Reference,&quot; 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),
+<p>The last numbered section of a TEP (but before citations, if there are any),
 entitled &quot;Author's Address&quot; or &quot;Author's Addresses&quot; MUST contain
 detailed author contact information.</p>
+<p>A TEP MAY have appendices after its Author section. Unlike regular sections,
+appendices are lettered. Please refer to Appendix A for details.</p>
 </div>
 </div>
-<div class="section" id="reference">
-<h1><a name="reference">4. Reference</a></h1>
+<div class="section">
+<h1><a id="reference" name="reference">4. Reference</a></h1>
 <p>The reference use of this document is TEP 1 (itself).</p>
 </div>
-<div class="section" id="acknowledgments">
-<h1><a name="acknowledgments">5. Acknowledgments</a></h1>
+<div class="section">
+<h1><a id="acknowledgments" name="acknowledgments">5. Acknowledgments</a></h1>
 <p>The definitions of the compliance terms are a direct copy of
 definitions taken from IETF RFC 2119.</p>
 </div>
-<div class="section" id="author-s-address">
-<h1><a name="author-s-address">6. Author's Address</a></h1>
+<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>
@@ -515,8 +519,8 @@ definitions taken from IETF RFC 2119.</p>
 <div class="line">email - <a class="reference" href="mailto:pal&#64;cs.berkeley.edu">pal&#64;cs.berkeley.edu</a></div>
 </div>
 </div>
-<div class="section" id="citations">
-<h1><a name="citations">7. Citations</a></h1>
+<div class="section">
+<h1><a id="citations" name="citations">7. Citations</a></h1>
 <table class="docutils footnote" frame="void" id="id2" rules="none">
 <colgroup><col class="label" /><col /></colgroup>
 <tbody valign="top">
@@ -524,6 +528,10 @@ definitions taken from IETF RFC 2119.</p>
 </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>
index a2fee1bc4f9d89d8952557207a26405bf668a282..94b45b7f5d9f2ed60541b93dc4542dd078b87eba 100644 (file)
@@ -45,7 +45,10 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 document are to be interpreted as described in TEP 1.
 
 Note that the force of these words is modified by the requirement
-level of the document in which they are used.
+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.
+
 
 2.1 MUST
 --------------------------------------------------------------------
@@ -110,31 +113,32 @@ 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.
 
-All TEPs MUST follow the TEP docutils template, and conform to 
-reStructuredText standards [1]_, to enable translation from 
-reStructuredText to HTML and Latex.
+All TEPs MUST conform to reStructuredText standards [1]_ and follow
+the docutils template, to enable translation from  reStructuredText
+to HTML and LaTeX.
 
 3.1 TEP Header
 --------------------------------------------------------------------
 
 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.
 
 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.
+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.
 
 The second field states the name of the working group that produced
 the document. This document was produced by the Core Working Group.
 
 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.
 
 Best Current Practice is the closest thing TEPs have to a standard: it
@@ -161,9 +165,8 @@ describe systems that do not have a reference implementation.
 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. 
-Once a TEP has the status "Final," its body MUST NOT change. 
-The values of its header fields MUST NOT change. The header of a
-Final TEP MAY have an "Obsoleted By" field added.
+Once a TEP has the status "Final," the only change allowed is the
+addition of an "Obsoleted By" field.
 
 The "Obsoletes" field is a backward pointer to an earlier TEP which
 the current TEP renders obsolete. An Obsoletes field MAY have multiple
@@ -222,14 +225,17 @@ If a TEP is Documentary, it MUST have a section entitled
 "Implementation," which instructs the reader how to obtain the
 implementation documented.
 
-If a TEP is Best Current Practices, it MUST have a section entitled
+If a TEP is Best Current Practic, it MUST have a section entitled
 "Reference," which points the reader to one or more reference uses of
 the practices.
 
-The last section of a TEP (but before citations, if there are any),
+The last numbered 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.
 
+A TEP MAY have appendices after its Author section. Unlike regular sections,
+appendices are lettered. Please refer to Appendix A for details.
+
 4. Reference
 ====================================================================
 
@@ -258,3 +264,8 @@ definitions taken from IETF RFC 2119.
 
 .. [1] reStructuredText Markup Specification. <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html>
  
+
+Appendix A. Example Appendix
+====================================================================
+
+This is an example appendix. Appendices begin with the letter A.