[Tinyos-devel] Request for comments: TEP-108
Philip Levis
pal at cs.stanford.edu
Tue Nov 7 23:22:28 PST 2006
On Nov 7, 2006, at 9:24 AM, Neil Hancock wrote:
> To the TinyOS 2.0 core group
>
> Congratulations to the TinyOS 2.0 working groups. A truly amazing
> achievement to get the next level of functionality released, and
> hopefully
> working. I don't see any pointers to test data in the release
> notice - but
> hopefully everybody has done their best and had fun with it.
>
> However it does raise a question that I asked earlier and I feel I
> should
> ask again:
>
> What is the purpose of the Tinyos-devel TEP community review
> requests?
>
> It seems to me that the TEP community reviews are happening at a
> late stage
> in the project cycle.
>
> I initially volunteered to review TEP-108, and haven't done it due
> to being
> snowed under in other areas.
> I have reviewed other TEPs and my sense of the TEP review's that I
> offered
> was that even with some really basic comments, the TEP review is so
> late in
> the project cycle that the authors don't feel able to incorporate
> anything
> more.
>
> I don't propose to respond to TEP review requests unless it is
> clear that
> the TEP review is early in the project cycle, that the TEP hasn't
> already
> been implemented and there is a clear intent to seek community
> input to
> shape the TEP.
>
> It could also be a failing in the TEP life cycle. That the
> documents are
> "dead" documents and can't evolve once they are release.
> Another possibility in the TEP life cycle is that the TEPS are living
> documents, with multiple reviews and releases and define phases, so
> that the
> implementation can be phased.
>
> Keep up the good work - it is virtually impossible to do everything
> right
> straight away, so trial-and-error has to be built in.
Neil,
These are good points. Thanks for bringing them up.
You're definitely right that many of the TEPs emerging now are
relatively late in their development cycle. It's commonly the case
that a given TEP has gone through 2-3 rewrites (and re-
implementations) before being sent to the Steering Committee for
community review. In that way they are living documents, which have
been in the repository, whose discussion has been on the publicly
accessible mailing lists, and whose re-implementations have been in
the repository.
We tried sending a few earlier (e.g., 106 in March, 101, 106, 107,
109 in July 2005). There were some comments, which were incorporated
into the documents. TEP 103, for example, had significant feedback
which was incorporated into the finalized document. If you look
carefully, the interfaces in TEP 103 are different from those
initially presented for community review.
Unfortunately, the idea that a Documentary TEP might be seriously
considered *before* an implementation exists is a bit contrary to the
intent of that class of TEP. There may not be a full implementation,
but the general approach has been to at least have prototypes as well
as prototype users, in order to assess whether the interfaces are
feasible. Otherwise we get into a situation of lots of people
suggesting changes whose unforeseen ramifications and difficulties
others have to deal with.
Ultimately, the purpose of the TEP review process is for the authors
to gain feedback from the community on their design decisions. The
most extreme case of this is finding bugs and fundamental technical
problems; lesser cases include unclear specifications and wordings.
Ultimately, it's up to the shepherd and the authors which comments
make their way into the TEP. If other developers feel that the TEP is
unsalvageable and a completely different approach is needed, then
it's always possible to write a TEP about a different approach.
TinyOS's component model is open to having multiple implementations;
the implementations that are in the core are not intended to be the
be-all and end-all of TinyOS code. The TEPs have (for the most part)
been carefully written with this in mind.
Phil
More information about the Tinyos-devel
mailing list