[Tinyos-2.0wg] 7/26 meeting notes
Philip Levis
pal at cs.stanford.edu
Thu Jul 27 01:55:06 PDT 2006
Notes are up on the wiki.
Vlado, Jan, Philip, Kevin, Prabal, Jonathan, Phil L., Gil (later),
Martin
PL: What to do about contrib?
Prabal: What's broken with 1.x? Bit rot? But it does provide a place
to put code.
Martin: I think that the contrib directory is good from an archival
standpoint. Even if bits rot, it's there. Although we're focusing on
problems... how do you convince people to maintain their contrib
directory? It's a bit unorganized... hard to find things. Things move
around. Having a standard policy there.
Prabal: No schema, no index, bit rot?
Vlado: Licenses? We allowed external entities to supply code with
different licenses. But this breaks the Sourceforge user agreeement.
PL: We're breaking the rules.
Vlado: If the Alliance decides on a specific license, then this might
become easier. We do need a better structure. By project, by user, by
institution.
PL: Currently, the alliance says BSD. One way would be to have a
contrib/ directory that follows this, but then have another place for
other licenses.
Vlado: True, but why would someone want to follow the rules for
licensing, but not have it in the core?
PL: I'd think that the difference between in the core and contrib is
a support question.
Vlado: The beta issue is something we didn't clear. Some questions.
Branches are becoming tricky. You can shadow individual files.
Branching means copying directories, etc. We have a proposal: one top-
level directory, testing/ or broken/, where we can put code in
individual subdirectories which can then be wired using include
files. There are several branches out there, not seeing enough testing,
PL: That sounds reasonable. Devel -> main, plus. But consensus is
that we want a contrib directory. Top-level module, or subdirectory
in tinyos-2.x/?
Vlado: Directory seems OK.
PL: Any other issues?
Prabal: Bit rot?
PL: Contrib is up to the developer.
Prabal: It's all under the umbrella, though. If you check out, you
get contrib. Maybe it would be useful to have it in a different
location. Vlado's concern about incompatibility is valid. This
suggests that it should be a top-level module. Let's make a division
between what's core and what's not, through the checkout policy.
Otherwise we inherit all of the bad juju of contrib.
PL: Let's continue this over email. Bug tracking.
Vlado: I think we need a dedicated mailing list for bugs. It's much
harder for developers to locate bug reports. Developers have first-
round filtering.
Prabal: There's no admission control on tinyos-bugs, but there is
admission control on Sourceforge. Developers put them on Sourceforge.
Vlado: Yes.
Prabal: Sounds like consensus.
Phil L: I'll include it in the mail. Let's talk about TEP 103 and
101. Start with 103, Vlado can you summarize the discussion.
Vlado: David Moss commented on 103. He provided a long email with
extended comments. From what I understood, his main concern was that
while there are some HAA confusion, the core of the problem is that
the current HILs did not let him implement the filesystem
abstraction. He suggested a modification so that he could more easily
implement his abstraction on existing chips. I think we all agree
that the HAL should be customized to current chips, should provide
maximum performance. The separate issue is what HILs we should
provide, and how are they implemented. How much sharing, etc. So I
don't think there are many problems there. The basic question is
whether the current interfaces are not OK for Blackbook. If so, we
need to fix that.
PL: Jonathan?
Jonathan: The initial confusion was just because David Moss mixed up
interface versus implementations in the HAL/HIL. If we are going to
look into satisfying David Moss's requirements, we need to consider
NAND flashes. I think that's David Gay's question, based on his
email. He's not sure that what David Moss is proposing is sufficient
for NAND flash technology.
PL: A lot of other people have done storage work. I asked Rick and
Deepak if they could sound off or have a student sound off on the
issues. What Ramesh thinks is also important.
Vlado: Reading his next message, I am still confused.
PL: Let's continue the discussion.
Vlado: It sounds like he doesn't think the HAL/HIL decomposition is
worth the effort. It looks like he is ready to take the performance
hit. But that doesn't mean everyone is. Are there applications where
you are not ready to make that compromise.
Phil: Maybe in a week we can organize a telecon to discuss. Any more
comments on TEP 103?
Vlado: One more, to Jonathan. But there is a comment there in the
TEP, where it is claimed that the (section 3.2) system guaranteees
that the user is going to use at most one complete record from the
log. I think it's a bit confusing. I think this should be rephrased.
You do not guarantee that there are no half-records.
Jonathan: Metadata-data distinction. You put the record on, but you
update the metadata separately.
Vlado: You filter things. You don't manage the actual record. I was
confused by one sentence: Applications do not need to worry about
incomplete log entries. Some applications read the data post-facto.
E.g., if I just suck the data off.
Jonathan: OK, I'll talk with David Gay.
PL: Let's go on to 101. ARC, did you guys get a chance to read the
transforming proposal?
Jonathan: It was a proposal to transform the configuration into
something more platform-independent, right?
Vlado: Yes, as well as defining the unit, as some fraction of a volt.
Jonathan: Ah, OK. So, I haven't read the document word-for-word, but
both of those proposals, I'm in favor of.
Vlado: So Jan has implemented it.
PL: What do you think, Gil?
Gil: This is feeling about right to me. Just the other option would
be to call configure without a parameter.
Vlado: I think the advantage is that we get a compile-time check.
PL: How?
Vlado: There's a section in the document.
Gil: Here's a separate issue. There's also this bit about voltages
instead of ADC units. So that wasn't in the original discussion, was it?
Vlado: This came up in the discussion. If we change the configuration
interface, so the interface should be as well.
Gil: It's just not clear to me where this happens. Tracing down the
call path, it's not clear to me where the translation into millivolts
occurs. It seems like the platform ADC would do this.
Jan: For the sensor driver, it is not clear whether the sensor is
attached to an ADC, so the config has to provide the read, but it
will not actually provide read, but it will wire a component that does.
Gil: So you're thinking a single driver might be able to work on two
different ADCs?
Vlado: No, the idea is to support a sensor that if you have one
sensor that produces analog output, in order to sample these in an
ADC independent way, then the ADC needs to provide some kind of
independent measurement, so the driver can make some kind of
computation on it.
Gil: Why does ADCReadClienC isn't providing millivolt by itself. It
gets routed through configC and configP.
Kevin: Comes out of the ADC, goes through the config component.
That's because you don't know whether it's going through an ADC. It
just wants a millivolt value, doesn't care where it comes from. So
the way the wiring works is you wire the driver to the config, which
then wires to the ADC. In this example, it's going directly through.
Gil: So the config component translates ADC value to millivolt, which
then the driver translates to a value.
Jan: We are discussing. The idea is that this proposal only affects
the ADC representation. It provides data in millivolts. How the
sensors use this is in the sensorboards TEP, and this should be
independent of the driver. The driver can decide whether to use the
ADC HIL, or to wire it in some other way (e.g., I2C), maybe post-
process.
Gil: The back into millivolts seems kinds of backwards.
Phil: But what about draining batteries.
Vlado: But you can correct it, if you know the reference voltage. I
don't see what the problem of the reference voltage. then there is no
problem. The curves are always based on volts, or parts of volts.
Gil: I don't think there is an issue.
PL: How about your questions about the proposal?
Gil: I still don't see how the ReadClientC works with regards to the
Config.
Vlado: Your concern is in the wiring of the driver. Your question is
why is this from Config, rather than the HIL directly.
Gil: I also don't see ConfigP, which is what bridges ConfigC to the HIL.
Vlado: OK, I need to update the doc.
PL: Do we want to retract the TEP from review? Or should be just fold
in comments?
Vlado: Let's wait for comments on existing document. Let's see if
those are addressed, relevant, and then try to unify everything into
a new version of the TEP. I think it's too late to retract. The
comments that come back will be good.
PL: I'll send out email, Vlado will update the proposal.
Phil
More information about the Tinyos-2.0wg
mailing list