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

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: Jie Hua (Ph.D. student), Dr. Christine Julien (MPC director), Amy L. Murphy (Collaborator), Gian Pietro Picco (Collaborator)

Omni 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. These complexities pose a daunting setting for the development of IoT applications that could leverage direct communication with proximal mobile and embedded devices. While current approaches focus either on device discovery in the IoT setting or content transfer assuming established communication channels, none facilitate the intelligent discovery of useful devices and the seamless formation of temporary D2D connections to transfer content directly between devices. Our Omni middleware provides both of these features critical in the development of applications that leverage proximal devices in IoT settings. Using Omni, we demonstrate the feasibility of building applications that use heterogeneous D2D communication channels in an efficient and realistic (in terms of energy and time) manner.

Project Participants: Eftychia Vakaliou (Ph.D. student), Dr. Christine Julien (MPC director)

Opportunistic Federated Learning

Opportunistic Federated Learning (OFL) is an encounter-based learning paradigm in pervasive environments. We explore how privacy-preserving model training and fine-tuning can be achieved by leveraging neighbor discovery and device-to-device communication in egocentric networks. In OFL, devices opportunistically incorporate intelligence from others in proximity, to obtain the most relevant information as efficiently as possible in terms of communication cost. Our work shows the feasibility of OFL even with extreme skewness in devices' data distributions and diverse personalized objectives.

Project Participants: Sangsu (Seth) Lee (Ph.D. student), Dr. Christine Julien (MPC director)

Project SMART

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), Dr. Darla Castelli (Collaborator), Amy L. Murphy (Collaborator)

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: Jie Hua (Ph.D. student), Dr. Christine Julien (MPC director), Dr. Gruia-Catalin Roman (collaborator at The University of New Mexico)

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)


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)


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)


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)

JIVE: Joint Integration of VLC and Encryption

The vulnerabilities of traditional RF based wireless communications pose a security threat for the transmission of private data among co-located members in physically constrained spaces. Exchanging secure or private information in the clear over direct wireless links is potentially dangerous because eavesdroppers unseen to the communicating parties (e.g., nearby but outside of the room) may overhear the communication. JIVE is a novel encryption key sharing mechanism using Visible Light Communication (VLC). The inherently constrained nature of VLC makes it an ideal medium to communicate secure message encryption keys to individuals in a shared, secure physical space. JIVE can be applied to many scenarios including securing health care information, authenticating smart home IoT devices, and exchanging trade secrets.

Project Participants: Jayanth Shenoy (Undergraduate student), Aditya Tyagi (Undergraduate student), Meha Halabe (Undergraduate student), Dr. Christine Julien (MPC director)


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)