| Teaching |
Research |
Publications |
Curriculum
Vitae |
Personal |
Our research
focuses on software engineering for mobile environments. Our
current research in this area is focused on three areas: algorithms for
mobile computing, middleware design and development, and the
application of formal methods.
The mobile environment is an extreme among networks and the lack of infrastructure necessitates a reinvestigation and communication paradigms. Many of the algorithms developed for static networks cannot be directly adapted to this new environment for two reasons: (1) the drastic differences created by mobility and (2) unique resource constrained devices not present in traditional networks. In addition, such networks typically are heterogeneous, requiring coordination among many different types of components, some of which may be physically distributed over a large area. The goal of our research in this area is to develop new algorithms that provide the support applications need in these new environments. These algorithms include developing support for network-aware communication, group membership, and the need to maintain consistent views of the network and its resources.
Some of the most dynamic systems being built today consist of physically mobile hosts and logically mobile agents. Such systems exhibit frequent configuration changes and a great deal of resource variability. Applications executing under these circumstances need to react continuously and rapidly to changes in operating conditions and must adapt their behavior accordingly. The development of such applications requires a reexamination of the notion of context and the mechanisms used to manage the application's response to contextual changes. My work in this area focuses on adapting the context-aware computing paradigm as the foundation for mediating interactions among mobile parties. This support manifests itself in middleware systems designed to simplify the programming task while allowing the developer to harness the flexibility available in the mobile environment. This research includes not only constructing the system support for application development but also investigating novel forms of coordination among entities that allow them to adapt to the changing environment.
In my work, I view the application of formal methods as an important component in the design and development process. Some of my early work focused on demonstrating the use of specification refinement in the mobile setting in a manner tailored to mobile applications. The goal of this work was to show how the refinement process can be used to help designers address concerns inherent to the target environment such as the mobility of hosts, transient interactions, and specific coordination constructs. To accomplish this, we utilized the proof logic and programming notation of Mobile UNITY to revisit the classic problem of termination detection in the mobile computing environment. More recently, my interests have included building reasoning techniques tailored to context-aware computing, especially in ad hoc mobile environments.