[Tinyos-alliance] Re: [Tinyos-devel] TinyOS Website

Philip Levis pal at cs.stanford.edu
Mon Mar 13 10:53:14 PST 2006


On Mon, 2006-03-13 at 10:51 -0700, Kristin Wright wrote:
> I didn't mean to infer that tinyos structure is analogous to ietf
> structure. I only meant that the working group pages were modeled
> after the ietf working group pages. I think we can safely assume some
> analogies between the working group pages.
> 
> -kw
> 
> 
> On 3/12/06, Joe Polastre <joe at polastre.com> wrote:
> > ps: Just my own opinion (and since I'm not part of the alliance, it
> > probably isn't worth too much), but I don't believe TinyOS is at all
> > like the IETF.  That seems like a very odd model to follow, and has
> > very few ties to the way TinyOS has operated.  If anything, TinyOS is
> > closer to Mozilla or Apache.
> >
> > IETF defines globally acceptable standards without specifying a
> > particular underlying implementation.  While it is noble to think that
> > TinyOS *could* evolve into this model, we're really creating code and
> > products like Mozilla and Apache rather than standards.

I think it's pretty clear that TinyOS doesn't fit any existing models
exactly. That's why the Alliance WG was formed. Otherwise, figuring out
the administrative structure of TinyOS would be easy. I'd argue that the
TinyOS Alliance (TOSA?) should be something which is a hybrid of the
IETF and Apache models.

The IETF fits some parts of TinyOS development as it standardizes
interfaces so that there can be multiple implementations. It promotes
interoperability through specification. Groups of interested individuals
come together to discuss the requirements of a protocol or architecture,
and through consensus come up with a description of it. Ultimately,
working code evaluates the pros, cons, and tradeoffs of different
implementations and approaches.

Given that TinyOS has multiple solutions for almost any problem, this
form of standardization is very important. It means that, for example,
if Boomerang is compliant with TEP 119 and Moteware's TinyOS component
is compliant with TEP 119, then (if TEP 119 is written well), a user can
switch from one to other other with minimal fuss.

There are lots of standards bodies, but the IETF has a large, well-
tested, very successful, and inclusive process for doing so; there's a
lot that can be borrowed and learned from.

On the other hand, as you point out, the IETF does not produce
artifacts: it assumes that vendors or interested parties will do so.
TinyOS' success has been in no small part due to the presence of a large
amount of existing source code that users can pick up and incorporate
into their systems. Therefore, just writing specifications probably
isn't enough. Instead, since TinyOS is a small, component-based system,
also having reference implementations of the specifications is
important. Of course, the more efficient and better the reference
implementation, the greater the benefit to the community. But it's
inevitable that there will almost always be implementations that exist
which are "better" than the reference one: this is, after all, often the
entire purpose of research, and we want to promote, rather than inhibit,
that kind of innovation.

In this way, TinyOS also resembles Apache, in that it's a collection of
a large set of systems which users can easily pick up and take advantage
of. Currently, development in 2.x has been focused on the
specifications, but I'm sure that as it gains momentum we'll see the
opposite approach emerge as well, where people write TEPs to describe
systems that they have built.

Phil



More information about the Tinyos-alliance mailing list