A specification language, called DESAL (Dynamic Embedded Sensor-Actuator Language) and its supporting tools form the core activity of this proposal. The language is tailored to the needs and opportunities of sensor networks. The language models primary system variables and defines actions based on the state of variables, which are distributed over a sensor network. DESAL specifications are condition-pattern rules, and amenable to formal techniques for composition and refinement. DESAL's action specification is state-based rather than event-based to simplify application design and enable more robust implementation choices. The language enables high-level timing specifications that facilitate sensor network control with coordinated actuation, in addition to basic clocked sensing tasks.
The DESAL compiler supports a component-oriented application model. A distributed application is composed of components communicating by shared variable abstractions, which are implemented by a dynamic binding service. Users can also annotate components to support resource utilization constraints, with compiler and runtime support to monitor and maintain desired utilization.
Case studies of the project investigate the use of DESAL for tuning and management tasks. Problems of management in sensor networks include reconfiguring, staging the deployment of new versions of applications software, and adjusting parameters to support system function in dynamic settings. Specifying management and tuning protocols in DESAL, which are then compiled into network applications, is a step in the development of patterns for self-management in sensor networks.