Cyber Physical Networks  (CPN) Research Lab

HOME

|

People

|

Research projects

|

Publications

|

Courses

| Announcements

| 

Contact Us

 

The Collaborative Sensing Language (CSL) is a high-level feedback control language for mobile sensor networks (MSN). It specifies MSN controllers to accomplish network objectives with a dynamically changing ad-hoc resource pool. Furthermore, CSL is designed to allow the updating of controllers during execution (patching). This enables hierarchical control with simpler controllers at lower levels. The CSL Execution Engine contains the intelligence to allocate resources to tasks dynamically and adjust in real time to resource motion; this enables CSL controllers to be simple, intuitive and scalable. Experimental results show that the CSL Execution Engine performs these services with the addition of very little overhead.

CSL is comprised of two sub-languages: CSL-MCL the declarative Mission Control Language, and CSL-RPL the imperative Run-time Patching Language. CSL’s research efforts, and its two sub-languages, are motivated by two coupled problems: the need to program controllers for distributed ad-hoc mobile sensor, and the desired ability to significantly change those controllers during execution. Both abilities simplify the control of mobile sensor networks and are therefore necessary parts of CSL.

The first problem arises due to human-user limitations. A single user cannot properly control the low-level details of multiple resources concurrently. In the CSL philosophy, the user should control network objectives and receive information relevant to the objectives. This is further complicated if a network may have variable dimension, i.e., sensors and channels come and go. Therefore a goal oriented network controller interacting with a dynamic network should be weakly coupled to the size of the network. A tightly coupled controller, i.e., one reacting at fine grain to changes in network dimension, would be too complex to scale. MCL controllers are very weakly coupled for scalable execution by large networks. MCL controllers do not specify the allocation of tasks to platforms, coordination structures between collaborating platforms, or lower-level platform controllers. All of this is embedded in the CSL Execution Engine. It is part of the network intelligence, similar to the Internet which autonomously adapts to the loss of a router without troubling its applications. This helps reduce the cognitive workload required of the user.

The second problem requires the run-time patching of controllers and has value in many ways. Controllers are typically continuously operating components; think of air traffic management systems, traffic signal control systems, or Google servers. Updates should be run-time updates unless one assumes it is acceptable to leave the plant without control for some time. In the MSN context, the ability to change controllers at run time can lead to simpler controllers. Instead of defining a controller able to accommodate all eventualities, one may set up the current controller for a short horizon, and patch it to a new controller if the state changes in unforeseen ways.

Publications:

Joshua Love, Jerry Jariyasunant, Eloi Pereira, Marco Zennaro, Karl Hedrick, Christoph Kirsch and Raja Sengupta, CSL: A Language to Specify and Re-Specify Mobile Sensor Network Behaviors, 15th IEEE Real-Time and Embedded Technology and Applications Symposium, San Francisco, California, April 2009. [pdf]


 


Page last updated 02/02/2010.

 

© Copyright UC Berkeley