Skip directly to content

Minimize RSR Award Detail

Research Spending & Results

Award Detail

Awardee:RECTOR & VISITORS OF THE UNIVERSITY OF VIRGINIA
Doing Business As Name:University of Virginia Main Campus
PD/PI:
  • Cameron (Kamin) D Whitehouse
  • (434) 982-2211
  • whitehouse@virginia.edu
Award Date:02/05/2009
Estimated Total Award Amount: $ 410,000
Funds Obligated to Date: $ 431,643
  • FY 2011=$81,829
  • FY 2013=$88,591
  • FY 2009=$75,845
  • FY 2012=$85,169
  • FY 2010=$100,209
Start Date:02/15/2009
End Date:01/31/2015
Transaction Type:Grant
Agency:NSF
Awarding Agency Code:4900
Funding Agency Code:4900
CFDA Number:47.070
Primary Program Source:040100 NSF RESEARCH & RELATED ACTIVIT
Award Title or Description:CAREER: MacroLab: a Comprehensive Macroprogramming System for Cyber-physical Systems
Federal Award ID Number:0845761
DUNS ID:065391526
Parent DUNS ID:065391526
Program:CSR-Computer Systems Research
Program Officer:
  • Marilyn McClure
  • (703) 292-5197
  • mmcclure@nsf.gov

Awardee Location

Street:P.O. BOX 400195
City:CHARLOTTESVILLE
State:VA
ZIP:22904-4195
County:Charlottesville
Country:US
Awardee Cong. District:05

Primary Place of Performance

Organization Name:University of Virginia Main Campus
Street:P.O. BOX 400195
City:CHARLOTTESVILLE
State:VA
ZIP:22904-4195
County:Charlottesville
Country:US
Cong. District:05

Abstract at Time of Award

Cyber-physical systems (CPSs) allow computer systems to monitor and control the physical world in a new way that could revolutionize many areas of science and engineering. However, they are often too complex for non-specialists to use. The aim of this work is to develop new technology to manage this complexity, enabling scientists and engineers to use CPSs just like other tools and instruments. This research takes a comprehensive approach to macroprogramming -- the task of programming an entire network of devices as a single, programmable substrate. This research exploits global, network-wide information about a CPS provided by a macroprogram to improve traditional software engineering techniques such as testing, debugging, analysis, and optimization. New techniques are being developed that use global information to optimize system performance, automatically generate test cases, and reduce the state space for analysis. This work is developing new programming abstractions that allow the separation of the application logic from quality-of-service requirements and hardware requirements, improving code portability and reuse. This research will produce a comprehensive development environment for CPSs called MacroLab. The new tools developed will greatly simplify the process of their programming and make them more accessible to non-experts. By taking a holistic view of the network and its software, MacroLab will manage a range of complex, interacting issues that would be extremely difficult to manage by hand. MacroLab will be tested pilot studies, including environmental monitoring. A graduate CPS course will be developed. MacroLab will be used for course experiments and in senior capstone projects.


Project Outcomes Report

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

As sensor technology increasingly pervades the physical world, computer systems are monitor and control the physical world in a new way that could revolutionize many areas of science and engineering. Wireless, battery-powered devices offer the promise of anywhere, anytime information that could improve transportation systems, factories, buildings, and other aspects of the human environment. However, these sensing systems are often too complex for non-specialists to design, build, and deploy and software is one of the main sources of complexity: ubiquitous sensing systems combine aspects of the most challenging computer systems, including distributed systems, embedded systems, wireless systems, and low-power systems.

The aim of this project was to develop new technology to easily manage this complexity, enabling scientists and engineers to use wireless sensing systems just like other tools and instruments. Specifically, this research has taken a comprehensive approach to a new technology called “macroprogramming” -- the task of programming an entire network of devices as a single, programmable substrate.

During the project, we created new programming abstractions that allow the separation of the application logic from quality-of-service requirements and hardware requirements. We applied these techniques first to stationary sensing networks and demonstrated that the same code could be executed efficiently on networks of many different sizes and topologies without modification. Thus, this work improves code portability and reuse for wireless embedded systems. We then extended these techniques to mobile sensing networks, also called “drone sensor networks”, and showed that the same code could execute efficiently even as the network dynamically changed shape, size, and organization. Again, this result demonstrates improved code portability and reuse than state of the art techniques.

In addition to improved programming abstractions, we developed new techniques that use global information a macroprogram to optimize system performance, automatically generate test cases, and reduce the state space for analysis. This research exploits global, network-wide information about a sensing system provided by a macroprogram to improve traditional software engineering techniques such as testing, debugging, analysis, and optimization. The artifacts of this research was combined into a comprehensive development environment for CPSs called MacroLab. The new tools developed will greatly simplify the process of programming both stationary and mobile sensing systems and make them more accessible to non-experts. By taking a holistic view of the network and its software, MacroLab can manage a range of complex, interacting issues that would be extremely difficult to manage by hand.

This project resulted in over a dozen peer-reviewed publications and over one-hundred fifty citations, supported the graduate programs of three PhD students, and supported publications from two undergraduate researchers, and supported one international collaboration. The research projects are documented online and the publications have been made available to the general public and to other researchers. 

 

 


Last Modified: 07/18/2015
Modified by: Cameron (Kamin) D Whitehouse

For specific questions or comments about this information including the NSF Project Outcomes Report, contact us.