Georgia Tech College of Computing

Integrating Object and Agent Technologies for High-end Collaborative Applications

Principal Investigator: Mustaque Ahamad, Raja Das, Karsten Schwan,

Future computing infrastructures will be highly dynamic, subject to runtime changes in operating modes and requirements, and typically combine mobile elements with components configured for high performance communication and computation. Our work concerns the programming of such distributed and heterogeneous infrastructures, specifically addressing the delivery of service guarantees in such systems at dynamically selected levels of quality. We will develop principles, methods, and programming techniques so that system developers can (1) utilize a single and uniform programming model to define system-wide abstractions, and then (2) tailor them, at runtime, in their operation to current application requirements and infrastructure capabilities.

Unification of object- and agent-based programming. The solution approach chosen in this research is unique in its unification of programming techniques used for implementing highly dynamic systems with those targeting high performance platforms. Namely, we will develop runtime support and compilation techniques that permit users to combine dynamic, agent-based programs with high performance, object-based programs. As a result, users may take advantage of the ubiquitous nature of remote evaluation and the languages/systems that support it (e.g., Java), while also employing dynamically configured shared objects to realize the performance needs of frequently performed computations. In addition, it will be easy to exploit tradeoffs in terms of service delivery between both types of representations.

QoS and resource management for distributed shared state. The second, innovative attribute of the proposed work is the development of novel notions of quality of service for distributed object/agent systems. These notions are useful for a broad variety of common information gathering, access, dissemination, and processing tasks. Our approach to formulating QoS relies on and extends research that considers a problem central to any distributed program: the access and manipulation of information shared by multiple program components. The representation of such shared abstractions in a distributed system, their access, and their manipulation are typically a core element of the system's runtime behavior and performance. We will both (1) develop novel QoS formulations capturing a dynamic system's requirements on its shared state, and (2) create and evaluate associated `information sharing' resource management techniques that provide QoS guarantees in the face of runtime variations in computing platforms and application requirements.

Evaluation with rich applications. We will use the object/agent framework to explore a range of applications. First, the Distributed Laboratories (DL) project, which is funded by NSF, is exploring systems support for high-end interactive applications that have considerable data and computational requirements. The second project, which is directed at applications at home, is being done in the context of the Broadband Telecom Center (BTC) that has been established at Georgia Tech. Although the DL project is focusing on scientific applications where widely distributed scientists interact via rich shared visualizations and manipulate complex scientific data sets, and BTC focuses on home applications, we claim that in the future, applications in both environments will share a common set of requirements. In the home context we will have highly demanding applications, similar to scientific applications, like tele-medicine and rich virtual reality based games. Furthermore, the distinction between workplace and home will blur and it will be possible to conduct and participate in shared scientific experiments from home. We have been exploring various aspects of systems support for the DL and BTC applications that have helped us understand the characteristics of future applications and the research problems introduced by them.