[net2-wg] Deluge T2 snapshot

Philip Levis pal at cs.stanford.edu
Thu May 17 09:08:02 PDT 2007


On May 17, 2007, at 1:13 AM, Razvan Musaloiu-E. wrote:

> Hi!
>
> I sent first a snapshot because I wanted some feedback before the  
> commit phase. :P I put some things in slightly different places.  
> The meeting notes says that everything should go to tos/lib/net/ 
> deluge but to me it doesn't really make sense to be like that. Here  
> is a quick roadmap of the code from snapshot:
> - tos/lib/net/deluge contains the dissemination code.  
> ObjectTransferC is
>   the frontend to that.
> - tos/lib/deluge contains the DelugeC component. Also here is
>   DelugeStorageC, a component that takes care of multiplexing the  
> access
>   to the flash volumes and SerialStarterC, a component we use to
>   start the serial upon boot.
> - tos/lib/deluge/TOSBoot contains the TOSBoot port from T1. Only the
>   telosb part is included for now.
> - tos/lib/deluge/VolumeManager is a component that we are using to
>   read/write flash volumes over the serial port. I'm almost certain
>   that David Moss has in contrib a replacement for this but we  
> didn't have
>   time try it.
> - tos/lib/deluge/extra contains the code to access the internal flash
>   and reboot the telosb. I think Prabal has the replacement code  
> for this
>   but it was not commited yet so that's why I put it in this  
> directory.
>
> Is this OK with everyone? :P


I'd strongly recommend against doing this. Slicing Deluge up into so  
many directories means that you require, not one, not two, but up to  
FIVE -I entries to use it. That's kind of excessive. Initially, the  
T2 tree looked a bit like this: there were tons of tiny, fine-grained  
directories (you can still see it in chips/). Experience with this  
led to the conclusion that taking less of a finely slicing approach  
was better: as long as you have descriptive file names, it should be OK.

Honestly, I'd just stick with tos/lib/net/deluge for now. Some of  
those components might migrate out into system/ or platfomr (e.g.,  
extra/) over time, but better to start concise and diffuse later than  
start spread all over the place and later decide you want to compact  
your directory structure.

I'd recommend making TOSBoot distinct from Deluge.

So here's my thought. Create two directories:

tos/lib/TOSBoot
   - The TOSBoot code

tos/lib/net/Deluge
   - All of the Deluge code. If it turns out its utility components  
start to be useful elsewhere, then we can figure out where to move them.

We can later figure out if it makes sense to have a lib/Deluge as  
well as a lib/net/Deluge. But nominally responsibilities for code is  
on a per-directory basis. Currently, core is responsible for most  
everything except

tos/lib/tossim (sim)
tos/lib/net (net)
tools/tinyos/ncc (tools)

> And a quick question: can I go ahead and add the bnp.extra? It's  
> something that it's needed in order to keep the Makefiles simple  
> for our examples. :-)

Sure. I'm not sure if you have write access there; if not, let me  
know and I can enable it.

Phil


More information about the net2-wg mailing list