Sensor Network Systems Laboratory
2048 Kemper Hall
One Shields Avenue
University of California, Davis CA 95616


Admin | Contact

Overview People Papers WSN Blog WSN Resources Deadlines

The SENSES (Software Environment for Networks of Sensors and Embedded Systems) project at UC Davis is building software infrastructure solutions that will enable long term development, deployment and management of sensor network applications. The design of the SENSES software infrastructure and programming model is driven by usability and manageability concerns:

  • What kind of software infrastructure and programming models are needed to reduce the complexity of programming large numbers of distributed heterogeneous devices?

  • How can sensor networks and applications be managed over long term once they have been deployed in the physical world?

The SENSES project will develop (i) system software that will run on a variety of devices, (ii) middleware services that provide communication, application management, security and reliability services; (iii) scalable programming abstractions for controlling and managing a large number of sensors; and (iv) tools for analyzing, debugging, testing, instrumenting, and visualizing sensor applications.  The software infrastructure consists of the following:

  • Infrastructure for building, synthesizing and scaling software:

    • BOTS: A component-based framework for building scalable and synthesizable software systems. Used to specify, compose and generate component OS, virtual machines and applications

    • Component visualization tool

  • System Software:

    • OS*: A light-weight synthesizable operating system for the Mica, Telos and Stargate families of sensor nodes

      • Statically and dynamically reconfigurable

      • Variable size footprint

      • Support for multiple concurrency models (events, multi-threading, cooperative, etc.)

      • Region-based dynamic memory allocation

      • Long term storage on FLASH, EEPROM and

      • C-based API for accessing I/O, communication and sensing devices

    • VM*: An extensible, retargettable and scalable virtual machine that currently runs on MICA and Linux Platforms.

      • Support for Java sensor network applications  (A sample Java application: Birthday protocol for neighbor discovery neighbors (Base, Node))

      • Scalable footprint (Small for small applications and large for larger applications)

      • Support for event-based, multi-threading, and  cooperative scheduling

      • Support for persistence of Java objects

      • Dynamic memory management and region-based garbage collection

      • Access to sensor devices and wireless radio through Java API

    • Remote Incremental Linker:

      • Dynamic linking of native and Java code

      • Remote linking for energy-efficient dynamic updates of Java code

    • Remote JIT compilation

  • Middleware

    • Incremental VM and Java application code distribution

    • Distributed programming models and middleware

    • Intrusion detection

Funding Support
  • NSF NeTS-NOSS Program

  • Intel Equipment Grant

  • NSF Research Infrastructure Grant



Upcoming Deadlines

November 11, 2005

November 15, 2005

November 28, 2005

December 2, 2005

December 16, 2005


University of California, Davis - Department of Computer Science

Copyright © 2005 Senses