[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