Wireless sensor network (WSN) applications sense events in-situ and compute results in-network. Their software components should run on platforms with stringent constraints on node resources. Developers often design their programs by trial-and-error with a view to meeting these constraints. Through numerous iterations, they manually measure and estimate how far the programs cannot fulfill the requirements, and make adjustments accordingly. Such manual process is time-consuming and error-prone. Automated support is necessary. Based on an existing task view that treats a WSN application as tasks and models resources as constraints, we propose a new component view that associates components with code optimization techniques and constraints. We develop algorithms to synthesize components running on nodes, fulfilling the constraints, and thus optimizing their quality. We evaluate our proposal by a simulation study adapted from a real-life WSN application.
Zhenyu Zhang, W. K. Chan, T. H. Tse