[Tinyos-devel] Proposed interface for Nucleus attributes, events, and commands

Ion Yannopoulos ion at eecs.berkeley.edu
Thu Feb 17 12:31:24 PST 2005

Stanislav Rost wrote:

>Hey Gil,
>Looks very good, and I would like to pitch in a couple of cents.
>Do you think that perhaps Nucleus events etc. should be a property of
>interfaces, rather than modules?  That seems to make a bit more sense in
>many cases, although it might require more language support.
I'm up in the air on this one.  It depends on whether you'd expect all 
uses of an interface to provide the same attributes.  My feeling is that 
this would be true 80-90% of the time, but that you'd need some way to 
override in the cases where you couldn't provide the same attributes.  
Ideally you want the management system to be able to report on all 
aspects of the system, but we don't know that that's feasible in all 
cases yet, and having an out is important.  Having said that I like the 
idea in principle: it -would- save on work.

Gil, am I off base with this?

>And finally, some comments about naming.  I would call the Attr
>interface AttrGet, just for consistency.
I'd second that, mainly because in the absence of an AttrSet, you can 
tell an AttrGet is readonly.  It may be less obvious with plain "Attr".

>The Event and Command
>interfaces are clearly the Nucleus counterparts to the NesC constructs,
>but maybe the names should be different so that, for example, when
>you are explaining the code to someone, you wouldn't have to refer
>to them as "Nucleus events" and "Nucleus commands."  Maybe something
>like RemoteCall and Trigger could be used instead.
I don't agree with this.  There's enough terminology in TinyOS and nesC 
to learn already without provide new terms for very similar concepts.  
If you think an adjective other than "nucleus" is clearer ("remote" or 
the like) that's one thing.   But "command" and "event" should stay.  I 
think the RPC aspect is less important than keeping track of what 
direction information is going in.


Ion Yannopoulos				ion eecs berkeley edu
TinyOS Programmer			http://www.tinyos.net

More information about the Tinyos-devel mailing list