c@t: A Language for Programming Massively Distributed Embedded Systems

Seetharam, D. "c@t: A Language for Programming Massively Distributed Embedded Systems"


This thesis presents c@t, a language for programming distributed embedded systems that are composed of thousands (even millions) of interacting computing devices.

Due to the improvements in fabricating technologies, it is becoming possible to build tiny single-chip devices equipped with logic circuits, sensors, actuators and communication components. A large number of these devices can be networked together to build Massively Distributed Embedded Systems (MDES). A wide variety of embedded control applications are envisioned for MDES: responsive environments, smart buildings, wildlife monitoring, precision agriculture, inventory tracking, etc.

These examples are compelling, however, developing applications for MDES remains complex due to the following issues: MDES consist of large number of resource constrained devices and the number of potential interactions between them can be combinatorially explosive.

Systems with the combined issues of such scale complexity, interaction complexity and resource constraints are unprecedented and cannot be programmed using conventional technologies. Accordingly, this thesis presents c@t, a language that employs the following techniques to address the issues of MDES: 1. To address the scale complexity, c@t provides tools for programming the system as a unit. 2. c@t offers a declarative style network programming interface so that network interactions can be implemented without writing any low-level networking code. 3. The applications developed using c@t are vertically integrated. That is, the compiler customizes the runtime environment to the suit the application needs. Using this integrated approach, efficient applications can be developed to fit the available resources.

This thesis describes the design, features and implementation of c@t in detail. A sample application developed using c@t is also presented.

Related Content