[Tinyos-2.0wg] Defining a TinyOS platform
Philip Levis
pal at cs.stanford.edu
Fri Aug 25 13:48:41 PDT 2006
Something we've discussed back and forth a bit is "what does it mean
to be a TinyOS platform?"
When I first wrote TEP 1, the idea was that we could in fact avoid
this question, as trying to answer it would be needlessly
constraining. For example, to say that a TinyOS platform has to
follow TEP 103 is problematic if the platform does not have
nonvolatile storage. Similarly, saying that it has to follow 101 is
problematic if there is no ADC. TinyOS could be useful on a much
broader set of devices than the motes we've become so accustomed to.
Instead of defining "this is a TinyOS platform," the idea was that
TinyOS ports could be compliant with particular TEPs. For example,
Boomerang builds on TinyOS technology. It currently follows TEP 102
and 106; it used to follow 103, but then the interfaces changed. It
doesn't follow 107, 113, or 116 though.
Taking this approach has a bunch of advantages. First, an application/
system/etc. can clearly state what TEPs it expects. E.g., the CTP
protocol requires TEP 102, TEP 106, TEP 107, TEP 111, and TEP 116.
Therefore, it doesn't run under Boomerang. But a system that required
only TEP 102 (not sure what that would be) could.
I think the question of "what platforms do we allow in the core" is a
separate one, which we should probably discuss at some point. TinyOS
can be broader than what sits on the SF servers, after all.
Phil
More information about the Tinyos-2.0wg
mailing list