This tutorial was designed to provide a relatively thorough introduction to DSN programming, providing the tools necessary for you to be begin developing and deploying your own DSN programs. In this section, we provide a brief overview of some future DSN capabilities that we are currently working on.
Any new features will be embedded in new versions of DSN, which will be announced on the DSN website, and also pushed into the TinyOS tree.
The Deluge protocol allows a user to reprogram deployed nodes wirelessly with a new program image. This capability is extremely beneficial for DSN. Currently, while each node can accept new tuples that arrive, the query processor is only designed to handle certain types of tuples and process them using rules specified at compile time.
Using Deluge, DSN can provide the ability for the user to dynamically change the database schema at each individiual node, allowing for on-the-fly adjustments to the programs running on the nodes.
We are currently working on porting DSN to TinyOS 2.x. Along with this work, we plan on allowing DSN to work on top of a link-layer abstraction, such as SP, as was originally envisioned, in order to provide greater platform and radio independence.
One of the foremost complaints about declarative programming is that the resulting system reduces user control and also hides system state. DSN strives to avoid this pitfall by exposing the internals of the system through consistent tuple output, built-in functions, and other mechanisms such as priorities. We are currently working on building a complementary debugger that aims to provide an intuitive and interactive debugging and monitoring environment for DSN programs.