[an error occurred while processing this directive]
Dynamic
Negotiating
Agents
Our research aims at realizing ubiquitous computing systems based on the cooperation of autonomous, dynamic and adaptive components which are located in "vicinity" of one another. These systems will be composed of a collection of independently designed components that automatically become aware of each other, establish basic (wireless) communication, exchange information about their basic capabilities and requirements, discover and exchange APIs, and learn to cooperate effectively to accomplish their individual and collective goals.
Such ideas are emerging in a number of areas within our field, including telecommunication, operating systems, programming language design and artificial intelligence. The simultaneous emergence of these ideas convinces us that a fundamental paradigm shift is at hand in the way we thing about designing and building complex systems in general, and the way we approach the design of mobile systems in particular. We are moving away from the traditional discipline of developing a single, overarching design for a complex system in which all of the parts are carefully engineered to fit together and toward a new approach in which the individual atomic components are designed to be autonomous ("active"), self-describing ("articulate"), highly interactive ("social"), and adaptive ("intelligent").
The idea of "ad-hoc" teams of entities that are dynamically formed to pursue individual and collective goals can be used to create the software infrastructure needed by the next generation of mobile applications. These will use the emerging 3rd and 4th generation broadband wireless systems, as well as short range narrowband systems such as Bluetooth. This software infrastructure is important because heretofore, the software component of mobile computing has lagged behind its hardware (communication, computing and networking) aspects. Note that much of the research in mobile computing software has been based on proxy models which try to alleviate the problems caused by mobility. Their basic aim is limited to allowing applications built for the wired world to run in the wireless domain. Our research seeks to move beyond this approach and provide a framework which uses the power of mobility and ad-hoc wireless connectivity to enable novel applications. Our initial efforts in realizing this vision deal mostly with dynamic service discovery in ad-hoc and mobile systems. Ronin is a Jini based framework we have developed to this end. It adds a "broker" service to the Jini System. AS an alternate approach, we have developed the XReggie system, where we enhance Jini's registry and lookup processes to work with XML based semantic descriptions of the service.