
My research focuses on the development of middleware for ad hoc mobile environments. The middleware should simplify the programming task, allowing novice programmers with a minimal amount of programming experience to develop applications. The middleware should hide the complexities of the environment (e.g., network communication, transient connections, resource constrained devices) from the programmer, while maintaining a high level of flexibility and generality in what the programmer is able to accomplish. My work for ad hoc mobile environments focuses on three areas, discussed in more detail below: algorithms for mobility, middleware design and development, and the application of formal methods.
![]()
Algorithms for Mobility
The ad hoc mobile environment is an extreme among networks because the lack of infrastructure necessitates a reinvestigation of network protocols and communication paradigms. The former must be established in order to support the latter. Many of the algorithms and protocols 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.
Network Abstractions
Context-aware computing is characterized by the ability of a software system to adapt its behavior continuously to a changing environment over which it has little or no control. Previous work in this area has adopted a rather narrow definition of context, one that was centered on resources being immediately available to the component in question, e.g., communication bandwidth, physical location, etc. My work explores context-aware computing in ad hoc networks consisting of numerous mobile hosts interacting via transient wireless interconnections. The notion of context is extended to encompass awareness of an entire neighborhood within the ad hoc network. The ideas behind this work are rooted in the notion that mobile application development could be simplified if the maintenance of contextual information is delegated to the software support infrastructure without loss of flexibility or generality. My research has developed network abstractions that demonstrate the feasibility of such an approach by presenting a novel technical solution for context specification, coupled with the implementation of a protocol to compute and maintain the context. The specification mechanism allows an application's context to be limited in scope to a neighborhood whose size and scope is determined by the specific needs of the application as it changes over time.
Related Papers:
|
Julien, C., Roman, G.-C., "A Protocol Supporting Context Provision in Wireless Mobile Ad Hoc Networks," Technical Report WUCSE-03-57, Washington University, Department of Computer Science and Engineering, St. Louis. | |
|
Julien, C., Roman, G.-C., and Huang, Q., "Declarative and Dynamic Context Specification Supporting Mobile Computing in Ad Hoc Networks," Technical Report WUCSE-03-13, Washington University, Department of Computer Science and Engineering, St. Louis. | |
|
Roman, G.-C., Julien, C., and Huang, Q., "Network Abstractions for Context Aware Mobile Computing," in Proceedings of the 24th International Conference on Software Engineering (ICSE'02), Orlando, FL (USA), May 2002, pp. 363-373. |
Related Presentations:
|
International Conference on Software Engineering (ICSE), May 2002 |
Group Membership
My early work in this area supported the development of an algorithm for maintaining a consistent view of group membership in the ad hoc mobile environment. Group membership is a property of a set of hosts defined by the needs of the application. For example, an application may restrict group membership such that a message sent from one group member to another must be guaranteed to arrive at the destination. Maintaining such a guarantee is challenging in the mobile setting because mobile hosts can suddenly move out of communication range, thus becoming unable to receive messages. Our approach ensures that this kind of unannounced disconnection will never occur between group members by detecting and announcing the imminent departure of a mobile unit from the group. All group members are notified of this change, keeping the group membership consistent across all hosts. This algorithm has been implemented in Java as a standalone package. It has also been integrated with the Lime middleware to provide a working version of Lime that allows implicit engagement and disengagement based on safe distance information.
Related Papers:
|
Huang, Q., Julien, C., and Roman, G.-C., "Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks," in IEEE Transactions on Mobile Computing 3, No. 2, April-June 2004, pp. 192-205. |
Middleware for Mobility
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. Much of my research has revolved around creating EgoSpaces, a coordination model and middleware for ad hoc mobile environments. EgoSpaces addresses application development in ad hoc environments by introducing an agent-centered notion of context, called a view, whose scope extends beyond the local host to include data and resources associated with hosts and agents located within a subnet surrounding the agent of interest.
Context-Awareness and Declarative Specification
Much of the current work on context-aware computing relies on information directly available to an application via context sensors on its local host, e.g., user profile, host location, time of day, resource availability, and quality of service measurements. EgoSpaces uses a new notion of context that includes in principle any information available in the ad hoc network infrastructure. But this notion is restricted in practice to specific views of the overall context. In addition, ad hoc networks can grow very large, so common symmetric interactions may become infeasible. In such environments, applications will rely on asymmetric interactions in which each mobile component is allowed to precisely specify the other mobile components with which it will coordinate . EgoSpaces provides for such interactions, allowing each application agent to personalize its operating context. An agent may operate over multiple views whose definitions may change over time. An agent uses declarative specifications to constrain the contexts of each view by employing a rich set of constraints that take into consideration properties of the individual data items, the agents owning the data items, the mobile hosts on which those application agents reside, and some restricted subnet containing a subset of all the hosts in the ad hoc network. Location, distance, movement profiles, access rights, and much more can be used in view specifications. The underlying system infrastructure interprets the view specifications and continuously updates the contents of user-defined views despite dynamic changes in the specifications, state transitions at the application level, mobility of hosts in the physical space, and migration of code among hosts. In systems that are large-scale in terms of both space and numbers of agents, this local restriction will prove necessary for providing timely context information to application agents. My work on context-awareness and declarative specifications has formalized the view concept, and explored the notion of programming against the views defined within a middleware model. I have developed a system prototype based on tuple space based coordination and am working on a full middleware implementation.
Related Papers:
|
Julien, C., Roman, G.-C., and Payton, J., "Bringing Context-Awareness to Applications in Ad Hoc Mobile Networks," Technical Report WUCSE-04-18, Washington University, Department of Computer Science and Engineering, St. Louis. | |
|
Julien, C., Roman, G.-C., and Payton, J., "Context-Sensitive Access Control for Open Mobile Agent Systems," in Proceedings of the 3rd International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'2004), co-located with ICSE'04, Edinburgh, Scotland (UK), May 2004, pp. 42-48. | |
|
Roman, G.-C., Julien, C., and Murphy, A. L., "A Declarative Approach to Agent-Centered Context-Aware Computing in Ad Hoc Wireless Environments," Software Engineering for Large-Scale Multi-Agent Systems, A. Garcia et. al. (editors), Lecture Notes in Computer Science 2603, April 2003. | |
|
Julien, C., and Roman, G.-C., "Egocentric Context-Aware Programming in Ad Hoc Mobile Environments," in Proceedings of the 10th International Symposium on the Foundations of Software Engineering (FSE-10), Charleston, SC (USA), November 2002, pp. 21-30. |
Related Presentations:
|
International Conference on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS '04), May 2004 | |||||
|
International Symposium on the Foundations of Software Engineering (FSE-10), November 2002 |
Novel Coordination Constructs
The increasing ubiquity of mobile devices has led to an explosion in the development of applications tailored to the particular needs of individual users. As the research community gains experience in the development of these applications, the need for middleware to simplify such software development is rapidly expanding. The vastly different needs of these various applications, however, have led to the emergence of many different middleware models, each of which approaches the dissemination of contextual information in a distinct way. The various coordination mechanisms that these models offer have proven individually useful in particular application domains or situations. In the ad hoc mobile environment, the use of such coordination mechanisms is an essential component of any middleware system. My work in developing novel coordination constructs builds on EgoSpaces by allowing agents to assign automatic behaviors to the agent-defined views. Behaviors consist of actions that are automatically performed in response to specified changes in the view. The behaviors I have investigated thus far result from applying a context-aware focus to previously used coordination constructs while tailoring them to the ad hoc environment. Current investigations encompass reactive programming, transparent data migration, automatic data duplication, and event capture.
Related Papers:
|
Payton, J., Roman, G.-C., and Julien, C., "Context Sensitive Data Structures Supporting Software Development in Ad Hoc Mobile Settings," in Proceedings of the 3rd International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'2004), co-located with ICSE'04, Edinburgh, Scotland (UK), May 2004, pp. 34-41. | |
|
Julien, C. and Roman, G.-C., "Active Coordination in Ad Hoc Networks," in Proceedings of the 6th International Conference on Coordination Models and Languages, Pisa (Italy), February 2004, pp. 199-215. |
Related Presentations:
|
International Conference on Coordination Models and Languages, February 2004 |
Formal Methods
In the Mobile Computing Laboratory, we view the application of formal methods as an important component in the design and development process. Some of my early graduate 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, we have begun development of a formal model tailored to context-aware computing, especially in ad hoc mobile environments.
Related Papers:
|
Roman, G.-G., Julien, C., and Payton, J., "A Formal Treatment of Context-Awareness," (invited paper) in Proceedings of the 7th International Conference on Fundamental Approaches to Software Engineering Lecture Notes in Computer Science 2984, Barcelona (Spain), March 2004, pp. 12-16. | |
|
Julien, C., Payton, J., and Roman, G.-C., "Reasoning About Context-Awareness in the Presence of Mobility," in Proceedings of the 2nd International Workshop on Foundations of Coordination Languages and Software Architectures (FOCLASA03), co-located with CONCUR03, Marseille (FRANCE), September 2003. | |
|
Roman, G.-C., Julien, C., and Huang, Q., "Formal Specification and Design of Mobile Systems," in Proceedings of the 7th International Workshop on Formal Methods for Parallel Programming: Theory and Applications (FMPPTA'2002), Ft. Lauderdale, FL (USA), April 2002. |
Related Presentations:
|
International Workshop on Foundations of Coordination Languages and Software Architectures |