Assignment
You will write a first implementation of your
group's part of the final application. The purpose
is to encounter all of the unforseen design
issues that may crop up, so that all of the
parts of the final implementation will work together
in a complete application.
One of the products of your meeting with Phil
will be a set of requirements for your part of the system.
If your part interacts with the rest of the application,
you'll write stub components (or, in the case of the tools
group, dummy servers) that behave as you expect them to.
One purpose of these stub components is to
understand what their interfaces are and what you need
from them. Another purpose is that they'll allow you
to test your code.
Your handin is an implementation of your part
of the system which meets all of its requirements.
Interfaces should be well documented, and you must
include a README describing how the component(s) work.
You should include at least one TinyOS application
(not the entire final project app) that exercises your
system, testing it for bugs and errors.
The path and health monitoring groups should be in
close contact with the scripting group, to make sure
that users can control the system in a meaningful way.
Similarly, the scripting group should be in close
contact with the tools group, to understand what
parts of the system state need to be controllable.
If you encounter a question of design, or are unsure of
how to approach a given algorithmic problem, feel
free to mail Phil. Some problems may warrant bringing up
in class for discussion, if they affect the application as
a whole. Similarly, feel free to arrange appointments to
discuss progress.
Handing in
All of your documentation, components and interfaces
should be in a single directory. Make a gzipped tarball of
this directory named group-initial.tgz and mail
it to Phil. Create a second gzipped tarball of your
test applications, named group-apps.tgz and
mail it to Phil.
|