X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=doc%2Fhtml%2Ftep1.html;fp=doc%2Fhtml%2Ftep1.html;h=46bdd8cf968dcbe59674f358c228c0f7b40b9755;hb=1ba974b83d19fc41bf80acd52726f36f7f1df297;hp=0000000000000000000000000000000000000000;hpb=4db69a460ad5d18d33cbf5c3ef74ad584d9e2886;p=tinyos-2.x.git diff --git a/doc/html/tep1.html b/doc/html/tep1.html new file mode 100644 index 00000000..46bdd8cf --- /dev/null +++ b/doc/html/tep1.html @@ -0,0 +1,510 @@ + + + + + + +TEP Structure and Keywords + + + + +
+

TEP Structure and Keywords

+ +++ + + + + + + + + + + + + + + + + + + + + + +
TEP:1
Group:Core Working Group
Type:Best Current Practice
Status:Draft
TinyOS-Version:All
Author:Philip Levis
Draft-Created:18-Oct-2004
Draft-Version:1.1.2.3
Draft-Modified:2006-06-13
Draft-Discuss:TinyOS Developer List <tinyos-devel at mail.millennium.berkeley.edu>
+
+

Note

+

This document specifies a Best Current Practices for the +TinyOS Community, and requests discussion and suggestions for +improvements. Distribution of this memo is unlimited.

+
+
+

Abstract

+

This memo describes the structure all TinyOS Extension Proposal (TEP) +documents follow, and defines the meaning of several key words in +those documents.

+
+
+

1. Introduction

+

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 +implementation interoperability, all TEPs MUST observe the meaning of +several key words that specify levels of compliance. This document +describes and follows both.

+
+
+

2. Keywords

+

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +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.

+
+

2.1 MUST

+

MUST: This word, or the terms "REQUIRED" or "SHALL", mean that the +definition is an absolute requirement of the specification.

+
+
+

2.2 MUST NOT

+

MUST NOT: This phrase, or the phrase "SHALL NOT", mean that the +definition is an absolute prohibition of the specification.

+
+
+

2.3 SHOULD

+

SHOULD: This word, or the adjective "RECOMMENDED", 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.

+
+
+

2.4 SHOULD NOT

+

SHOULD NOT: This phrase, or the phrase "NOT RECOMMENDED" 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.

+
+
+

2.5 MAY

+

MAY: This word, or the adjective "OPTIONAL", mean that an item is +truly optional. One implementer may choose to include the item +because a particular application requires it or because the +implementer feels that it enhances the system while another +implementer may omit the same item. An implementation which does not +include a particular option MUST be prepared to interoperate with +another implementation which does include the option, though perhaps +with reduced functionality. In the same vein an implementation which +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.)

+
+
+

2.6 Guidance in the use of these Imperatives

+

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 +potential for causing harm (e.g., limiting retransmissions) For +example, they must not be used to try to impose a particular method +on implementors where the method is not required for +interoperability.

+
+
+
+

3. TEP Structure

+

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.

+
+

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 +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.

+

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 +Current Practice.

+

Best Current Practice is the closest thing TEPs have to a standard: it +represents conclusions from significant experience and work by its +authors. Developers desiring to add code (or TEPs) to TinyOS SHOULD +follow all current BCPs.

+

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 +needed, and document TinyOS service implementations.

+

Informational TEPs provide information that is of interest to the +community. Informational TEPs include data gathered on radio behavior, +hardware characteristics, other aspects of TinyOS software/hardware, +organizational and logistic information, +or experiences which could help the community achieve its goals.

+

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 +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, 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."

+

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.

+

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).

+

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 +states when it was last modified. Draft-Version specifies the version +of the draft, which MUST increase every time a modification is +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.

+
+
+

3.2 TEP Body

+

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 +Abstract, have a Table of Contents. After the Abstract and Table of +Contents there SHOULD be an Introduction, stating the problem the TEP +seeks to solve and providing needed background information.

+

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 +"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), +entitled "Author's Address" or "Author's Addresses" MUST contain +detailed author contact information.

+
+
+
+

4. Reference

+

The reference use of this document is TEP 1 (itself).

+
+
+

5. Acknowledgments

+

The definitions of the compliance terms are a direct copy of +definitions taken from IETF RFC 2119.

+
+
+

6. Author's Address

+
+
Philip Levis
+
467 Soda Hall
+
UC Berkeley
+
Berkeley, CA 94720
+

+
phone - +1 510 290 5283
+

+ +
+
+
+

7. Citations

+ + + + + +
[1]reStructuredText Markup Specification. <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html>
+
+
+ +