[Tinyos-host-mote-wg] Re: [Tinyos-2.0wg] packages for nesC: why/etc
[shortish so you canglance through it this morning]
Joe Polastre
joe.polastre at gmail.com
Wed Jun 1 19:35:30 PDT 2005
If Cory would fix "make tmote deps", this wouldn't be a problem ;)
Packages would be nice, but I'm not convinced we need them (nor do I
think we know how to create a good package system). I think we have
enough on our plates, if you're concerned about a package system, then
take some of that extra pent up energy and help me debug the radio
stack!
-Joe
On 6/1/05, Buonadonna, Phil <phil.buonadonna at intel.com> wrote:
> Coming from EmNets, the biggest (and most concrete) complain from nesc
> users is the surmounting difficulty of navigating the TOS
> directory/namespace. Answering the question "which component is my
> program using" is becoming increasingly complex.
>
> I assume the package system would help address this problem? If yes,
> then this is a much needed thing.
>
> Going from #include back to 'includes' isn't to hard. However, it
> sounds like integrating a C-preprocessor in nesC quite a bit of work.
>
> would the package system impact source-line debugging?
>
> pb
>
>
>
> > -----Original Message-----
> > From: tinyos-2.0wg-bounces at Mail.Millennium.Berkeley.EDU
> > [mailto:tinyos-2.0wg-bounces at Mail.Millennium.Berkeley.EDU] On
> > Behalf Of David Gay
> > Sent: Wednesday, June 01, 2005 9:32 AM
> > To: tinyos2
> > Subject: [Tinyos-2.0wg] packages for nesC: why/etc [shortish
> > so you canglance through it this morning]
> >
> > Name space for tinyos components and interfaces is getting complex:
> >
> > - similar names needed for functionality at many layers:
> > hpl, hal, hil, oski
> > - similar names needed across platforms / chips
> > - some components are "private": not intended for independent use
> > (lookup, e.g., at tos/lib/FS in 1.x)
> >
> > Prefixing is not a good solution: names become very awkward,
> > prefixes are not
> > used consistently, etc.
> >
> > ------------
> >
> > Proposal: add a package system to nesC
> >
> > packages contain component and interface files, and other packages
> > issue: what about C names and include files? (see below)
> >
> > packages must be imported in a file before use
> > packages can be imported with a "private" name
> > (something like import "tinyos.lib.adc as foo", followed by uses
> > like foo.SomeAdcInterface)
> > some set of packages are automatically imported
> >
> > --------------
> >
> > Major issues:
> > - how to deal with C names?
> > - how to deal with C files, preprocessor macros?
> > i.e., are they part of the package system, which means that:
> > - C file inclusion should either include the package name, or
> > be searched for in imported packages
> > - C names/preprocessor names would be searched for in imported
> > packages (and support the importedasname.name syntax)
> >
> > Reasons to include them:
> > - same as for components and interfaces: the packages will
> > need to organise
> > their type names, etc
> >
> > Reasons not to include them:
> > - how does #include work within a package system?
> > (short answer: it doesn't, we would need to go back to
> > "includes foo;")
> > (long answer on request)
> > - macroprocessing currently handled by external gcc invocation
> > --> cannot handle macros in packages
> > solution: integrate preprocessing into nesC compiler
> > this allows "includes" and macros to work together...
> > - more changes from C, possible syntax issues
> >
> > _______________________________________________
> > Tinyos-2.0wg mailing list
> > Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
> > https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/
> > tinyos-2.0wg
> >
>
> _______________________________________________
> Tinyos-2.0wg mailing list
> Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg
>
_______________________________________________
Tinyos-2.0wg mailing list
Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg
More information about the Tinyos-host-mote-wg
mailing list