Our research is in the general intersection of software engineering with dynamic, resource constrained networks. We focus on programming abstractions, middleware, models, and tools that ease the programming burden in these complex, dynamic, and unpredictable environments. Here, we provide details of our current and past projects; for more information, please contact us directly.

Current Projects

Brace

Brace is a framework that allows developers to explicitly specify both physical and logical assumptions and expected behaviors. Brace then enables run-time checking of these combined physical and logical specifications, provided in the form of assertions, using the physical environment in which a CPS application is running. Brace uses physics models and temporal semantics to guide CPS developers in creating appropriate assertions and to check specified asser tions for inconsistencies with the physical world.

Project Participants: James (Xi) Zheng (Ph.D. student), Dr. Chien-Liang Fok (Post-doctoral researcher), Dr. Christine Julien (MPC director), Dr. Sarfraz Khurshid (collaborator at The University of Texas at Austin), Dr. Miryung Kim (collaborator at The University of Texas at Austin)

Disseminate

Employing opportunistic device-to-device connections among mobile devices has begun to be exploited as a means to alleviate overloaded cellular connections. We have developed a novel publish-subscribe based technique to drive device-to-device data exchange in situations when peers have overlapping interests. Our approach breaks large (media heavy) data into small chunks, and interested mobile peers issue subscriptions and publications over these chunks. An interested device can then receive chunks from the infrastructure or via opportunistic connections to mobile peers. We provide a very lightweight beacon mechanism to exchange interests, and each peer serves chunks of data based on its assessment of the information diversity in the neighborhood of peers. We have implemented our approach in an Android application. The protocol is called Disseminate. Our Android implementation runs on stock Android (assuming support for WiFi-Direct). Using this implementation and through simulation, we have demonstrated that Disseminate improves over state of the art alternatives in terms of overall network overhead and delivery latency.

Links

Project Participants: Tomasz Kalbarczyk (Ph.D. student), Venkat Srinivasan (Undergraduate student), Dr. Christine Julien (MPC director)

Gander

Gander is a distributed search engine for mobile networked environments characterized by high volumes of short-lived data. We refer to these emerging types of environments as Personalized Networked Spaces (PNetS).

PNetS are comprised of digital devices, both mobile and embedded in the environment (e.g., smart phones, sensors, RFID tags), connected by a dynamic network topology. As in the Internet, large volumes of data motivate the need for expressive search mechanisms that efficiently identify and provide access to information relevant to users' needs. However, the volatile and heterogeneous nature of PNetS' network and data preclude traditional information retrieval techniques.

This project aims to address the novel research and software engineering challenges that arise from the new requirements in this emerging search space.

This project is funded, in part, by the National Science Foundation under grant CNS-0844850 and a Google Research Award. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Press

Project Participants: Jonas Michel (Ph.D. student), Dr. Christine Julien (MPC director), Dr. Jamie Payton (collaborator at The University of North Carolina-Charlotte), Dr. Gruia-Catalin Roman (collaborator at The University of New Mexico)

Grapevine

Grapevine is a framework that enables applications to share context information in a localized region of a pervasive computing network, use that information to dynamically form groups defined by their shared situations, and assess the aggregate context of that group.

Moving beyond more typical egocentric world views, Grapevine allows an application to distribute its own context information while simultaneously leveraging the context information it receives to modify its behavior and aggregate task-relevant group context information that can also distributed within the network. We use novel data structures such as probabilistic Bloomier filters to represent context information efficiently and minimize the network resources required to support Grapevine's use.

Our long term vision is a framework that allows a pervasive computing application developer to delegate all context related functionality to Grapevine and focus solely on the task at hand. Instead of spending time determining what context information is needed, who it should be sent to, and managing the lifecycle of the information it has received, a Grapevine-enabled application can merely indicate the context information it has to offer and the context information it is interested in receiving. Achieving this vision leaves many interesting research challenges such as communicating and responding to interest gradients within the network, determining the frequency with which information should be sent, assessing a quality metric for the context information on hand, and finding ways to provide all this functionality without placing undue burden on the limited resources available to pervasive computing platforms.

This project is funded, in part, by the National Science Foundation under grants CNS-0844850 and CNS-1218232. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).

Project Participants: Sungmin Cho (Ph.D. student), Dr. Christine Julien (MPC director)

Previous Projects

Balance

Balance is an autonomous thermostat control framework that balances a range of user comfort levels (i.e. temperature settings for heating and cooling) with a user-defined monthly budget for heating and air conditioning costs.

Our work is motivated by the large percentage of residential energy usage that is consumed by heating and cooling (HVAC) needs. Many commercial and academic approaches have been developed for autonomous thermostat control to reduce unnecessary HVAC usage. Such systems typically reduce HVAC usage by adjusting the thermostat setting while the house is unoccupied, so as not to disrupt occupants' thermal comfort. We instead consider the balance of the financial burden of HVAC costs with occupants' comfort desires. Balance is an agent-based approach to autonomous thermostat control that is based on the idea that many people are comfortable in a range of temperatures (for example, 68 to 75 degrees Fahrenheit in the summer). Those wishing to meet a certain energy bill each month may wish to adjust the thermostat in order to save money, but mentally converting from the thermostat setting to dollars on an energy bill is challenging, due to the variable impact of weather and household activities on energy used.

Our Balance agent therefore aims to meet the user's monetary HVAC budget by adjusting the thermostat setting within the range of temperatures the user finds comfortable. The agent has two constraints - to meet the user's budget and to stay within the user's comfort range; and one optimization - maximize the user's comfort within that range. To-date, we have implemented a simple agent that accomplishes this task in realistic simulated environments, using real-time HVAC consumption data and indoor and outdoor temperature data to determine thermostat settings at regular intervals throughout each day. Ongoing work on Balance includes: 1) improving the Balance agent's control strategy through reinforcement learning techniques; 2) deploying the Balance agent in the real world, using an Ecobee Smart Thermostat; and 3) investigating the use of feedback, for example if a user provides a budget that is simply not feasible with the user's comfort levels.

Project Participants: Kate McArdle (Ph.D. student), Dr. Christine Julien (MPC director)

MadApp

MadApp is an application-level development framework that provides tailored abstractions and support infrastructure for creating dynamic web pages that can incorporate received content from various opportunistic communication channels on-the-fly. Multiple application scenarios exist in which these constructs can seamlessly apply. By constructing expressive exemplars from these domains, we have shown that MadApp can enable opportunistic mobile computing applications to begin to leverage the significant advances in delay-tolerant communication research, opening doors for even more dynamic and adaptive applications.

Project Participants: Venkat Srinivasan (Undergraduate student), Dr. Christine Julien (MPC director)

MadMAN

Our group does a variety of research related to middleware architectures for delay-tolerant networks. In general, our approaches focus on using adaptation to ensure that nodes in DTNs opportunistically and automatically make use of the available connection opportunities in these highly unpredictable environments. We have performed these adaptations at the "macro" level, adapting the entire network stack from a "traditional" mobile ad hoc network stack to a "delay-tolerant" network stack when conditions dictate such a change. We also explore this a the "micro" level, developing adaptations within the DTN stack that, for example, change the nature and behavior of network coding in response to contextual information.

This project is funded, in part, by the National Science Foundation under grant CNS-0844850 and by the Department of Defense. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the sponsoring agencies.

Pharos

Pharos is a testbed that supports the validation of perception, control, and coordination in pervasive and mobile computing environments. The testbed's physical space, hardware, software, and rich application scenarios support research and discovery at a variety of levels. We support research in sensor management, network coding, wireless protocols, localization, multi-agent coordination, fault-tolerant systems, and software simulation validation.

This project is funded, in part, by the National Science Foundation under grant CNS-0844850 and by the Department of Defense. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the sponsoring agencies.

Project Participants: Dr. Chien-Liang Fok (Post-doctoral researcher), Dr. Christine Julien (MPC director)