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

Child Independent Mobility

Child independent mobility (CIM) refers to the freedom of children to move about their neighborhoods without direct adult supervision. It is widely accepted that CIM is essential to emotional, social, and physical well-being, yet CIM has dramatically declined. This project uses the Internet of Things (IoT) to foster community supported CIM. In the IoT, every "thing" can sense its surroundings and communicate wirelessly with other nearby things. When all children have a small digital beacon, adult community members carry mobile devices, and the neighborhood itself has embedded devices, the community can support safe CIM in a local and self-organizing way. The project will support CIM using local community resources, made available using increasingly common device-to-device wireless links. The project is organized along two primary research thrusts. First, we are designing novel protocols for continuous neighbor discovery that enable IoT devices to discover other nearby devices with minimal energy costs. Second, given the ability to efficiently discover other nearby devices, we are also exploring the ability for parents and other caregivers to define declarative policies for community data. These policies allow the creation of rules for assessing the state of a child's IoT device to ensure that desired safety conditions are satisfied.

Project Participants: Dr. Christine Julien (MPC director), Colin Maxfield (Ph.D. student), Chenguang Liu (Ph.D. student), Amy L. Murphy (Collaborator), Dr. Mohit Tiwari (collaborator at The University of Texas at Austin)

Continuous Neighbor Discovery

Identifying “who is around” is key in a plethora of smart scenarios. Our work in this area investigates how to use off-the-shelf devices and technologies (e.g., WiFi direct and Bluetooth Low Energy) to enable lightweight and energy efficient device-to-device continuous discovery. While many solutions exist, they o‰ften take a theoretical approach, reasoning about protocol behavior with an abstract model that makes simplifying assumptions about the environment. ThŒis approach creates a gap between protocol implementations and the models used during design and analysis. Our work, in contrast is focused on solutions that can be realistically implemented and deployed on real devices and in support of real applications in a way that honestly considers real-world constraints. For instance, our approaches consider the very real effects of packet collisions, which have a real and measurable impact on applications relying on device-to-device neighbor discovery. To our knowledge, this is a €first in this domain. Our ultimate goal is to directly empower developers with the ability to determine the optimal protocol con€figuration for their applications.

Project Participants: Chenguang Liu (Ph.D. student), Dr. Christine Julien (MPC director), Amy L. Murphy (Collaborator), Gian Pietro Picco (Collaborator)


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.


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


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: Samuel (Sungmin) Cho (Assistant professor), Dr. Christine Julien (MPC director)

Warble: Middleware for Discovery in the IoT

Advances in sensing and networking along with ubiquitous Internet connectivity have paved the way for today's massive Internet of Thing (IoT) market. Despite the vast potential of connecting to myriad devices across homes, office buildings, and public spaces, there is still a large need to unify the scattered protocols, hubs, and cloud services while personalizing end user experiences. Enabling personalized IoT experiences requires an open infrastructure, backed by expressive and flexible middleware that enables developing applications to address diverse individual needs. Warble is a middleware for personalized IoT applications that encapsulates device and protocol complexities, abstracts communication and IoT devices' impacts in physical spaces into flexible programming abstractions, and enables applications to learn from their prior interactions in the IoT.

Project Participants: Dr. Christine Julien (MPC director), Dr. Gruia-Catalin Roman (collaborator at The University of New Mexico), Nathaniel Wendt (Ph.D. student)

XD Middleware

Device-to-device (D2D) communication technologies are growing in availability and popularity and are commonly used to facilitate applications in Internet of Things (IoT) environments. Such environments are characterized by heterogeneous devices, often employing diverse communication technologies with varying energy consumption, discovery ranges, and transmission rates. While many IoT proponents aim to homogenize communication by advocating for a single technology, we propose XD: a middleware that integrates diverse D2D technologies "under the hood" and allows application developers to interact with devices in the network as if they were unified under a single technology without the actual limitation of homogeneity. XD provides a unifying operating framework, where applications separate content into lightweight, periodic context and heavyweight, bulky data. The XD middleware sits between the application and the communication technologies, easing the development of IoT applications.

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

Previous Projects


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)


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 assertions 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)


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).


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)


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)


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 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)