This page is OBSOLETE.
Use the new NEST Challenge Architecture Homepage, instead.


Nest Challenge API

Click here to enter your own feedback.

This is a work-in-progress -- note that any new input will be appended to the bottom. Don't forget to refresh to see the latest feedback.

NEST Challenge Architecture Document

UPDATE (Wed 14 Aug 2002): This page is obsolete. Use the new NEST Challenge Architecture Homepage, instead.

It's unclear what the best format for collaboration is for this document. Until we get that resolved, we're keeping it simple:

UPDATE (Thu 08 Aug 2002): A Nest-challenge mailing list has been created specifically for working on this document. This mailing list is the preferred form of communication for collaboration on the Nest Challenge Architecture Document.

You may also send your comments directly to Cory Sharp (cssharp@eecs.berkeley.edu) or post your comments below for everyone to see.

API Input / Comments

Component Methodology
Cory Sharp
cssharp@eecs.berkeley.edu
Berkeley

I think it's useful to describe our design methodology for the components:

Strictness: We at first thought polymorphism or inheritance would be useful, providing maximum flexibility in the interfaces. We eventually tabled those ideas, instead opting to strictly define each component with minimal flexibility in its interface. We hope this will both facilitate interaction between groups and encourage more concrete thought on the underlying algorithms.

Input/Output Convention: Sensors readings (input) are event driven. Processing dependent on sensor readings are also events, say for filtering data. And, it cascades all the way up; events are fired for both estimating position and initiating the broadcast of those estimates. Actuation (output) is command driven; that includes both movement and outgoing communication (say, actually putting position estimates on the radio).

Send/Receive Structures: We want to abstract from byte-packed messages used for radio communication. Each component that communicates via messages to other components (either on the local mote or remote motes) operates in the context of a structure containing native types. We package all relevant information in a single structure. This reduces the need to redefine interfaces when/if we adjust only the particular data passed between components. This also results in a one-to-one correspondence between message interfaces and message structures.

Filtering and Calibration Interfaces: To filter data or calibrate a sensor or actuator, we intend to create components that both provide and use the interface they are filtering/calibrating. This allows us to chain any number of filters or calibrations transparently.


Strictness issue
Stankovic
stankovic@cs.virginia.edu
Univ of Virginia

If we do not allow flexibility in the interface design it may be VERY difficult to create paltform independent/ application independent protocols. Our approach is to have a general API and then via configuration "tailor" the API and the protocol implementation to the platform of interest. Having a strict API is indeed best to get the mid-term exam to work, but it will not be as beneficial in illustrating some of the key purposes of the NEST program -- composition, application independence, tailorability, ...
Mailing List
Cory Sharp
cssharp@eecs.berkeley.edu
Berkeley

A Nest-challenge mailing list has been created specifically for working on this document. This mailing list is the preferred form of communication for collaboration on the Nest Challenge Architecture Document.
Re: Strictness issue
Cory Sharp
cssharp@eecs.berkeley.edu
Berkeley

I should also add that our goal of the strictness applies primarily to this phase of the document until we get something more concrete to work with. From there, we hope to refactor and abstract. Right now, we're trying to be careful not to create abstractions that are mismatched with our problem space. We're also hoping that even the strict specifications umbrella over a sizeable set of algorithms and a reasonable set of component infrastructures.
Notre Dame Comments
Cory Sharp
cssharp@eecs.berkeley.edu
Berkeley

Michael Lemmon from Notre Dame provided some initial comments on the NEST Challenge Architecture Document 002.
New Homepage
Cory Sharp
cssharp@eecs.berkeley.edu
Berkeley

This page is obsolete. Use the new NEST Challenge Architecture Homepage, instead.
Coordination Component
Prasanta Bose
prasanta.bose@lmco.com
ATC Lockheed Martin

The NesC Architecture identifies a set of components which will get scheduled and coordinated by the coordinator. Is there a provision to add new components (other than the ones listed) -- which will get scheduled accordingly (so long they are well formed -- no resource conflicts, conforms to the component design..).
Coordination Component
Prasanta Bose
prasanta.bose@lmco.com
ATC Lockheed Martin

The NesC Architecture identifies a set of components which will get scheduled and coordinated by the coordinator. Is there a provision to add new components (other than the ones listed) -- which will get scheduled accordingly (so long they are well formed -- no resource conflicts, conforms to the component design..).