Co‐ordination of mobile information agents in TuCSoN
Andrea Omicini, Franco Zambonelli
The increasing need to access and elaborate dynamic and heterogeneous information sources distributed over Internet calls for new models and paradigms for application design and development. The mobile agent paradigm promotes the design of applications where agents roam through Internet sites to locally access ad elaborate information and resources, possibly cooperating with each other. This paper focuses on mobile agent coordination, and discusses the TuCSoN coordination model for Internet
... ications based on mobile information agents. The model is based on the notion of tuple centre, a tuple-based interaction space associated to each site and to be used both for inter-agent cooperation and for accessing to local infromation sources. TuCSoN tuple centres enhance tuple spaces because their behaviour in response to communication events can be programmed. This can be used to deal with heterogeneity and dynamicity of the information sources, as well as to ensure some degree of global data integrity. The effectiveness of the TuCSoN model is shown by means of an application example in the area of Internet information retrieval. While several new mobile agent systems and programming environments keep on appearing [KZ97], many issues still needs to be analysed before the mobile agent paradigm will gain wide acceptance [CGPV97] . A crucial point in this framework is represented by the model for agent interaction. Understanding how interactions can be ruled and exploited is the basic goal of current research on coordination languages and models [MC94, GC92]. The research interest in this area naturally derives from recognising the space of interaction as a source of complexity and expressive power for multi-component applications [Weg97] . From a software engineering viewpoint, the choice of a coordination model has an obvious influence over the design of complex applications, particularly when mobile agents are involved [CLZ98a] . Even more, we argue that a coordination model should effectively support application design and development, so that the component interaction space can fruitfully be exploited as an independent design space. Following the classification introduced by [PA98], coordination models can be distinguished in two classes: control-driven and data-driven ones. The former class includes those models (such as ConCoord [Hol96], MANIFOLD [AHS93], and RAPIDE [LKA£ 95]) which focus on communication actions, mainly by ruling the topology of interaction between the applications components. Models of the latter class focus instead on communication information, by making coordination rules depend on information exchanged in the interaction. The most typical examples are blackboard-based models [EM88] and Linda [Gel85] with all of its descendents. We argue that data-driven models better fit our application scenario than control driven ones. On the one hand, control-driven models do not cope well with highly autonomous, dynamic, and unpredictable coordinated entities like mobile agents. For instance, Internet applications based on mobile agents can hardly guarantee precise temporal and spatial schedules of communication actions. On the other hand, the intrinsic orientation of data-driven models towards communication information provides a more natural support to the coordination of informationoriented applications. In particular, a coordination model based on a shared dataspace like a Linda tuple space provides many key-features for the design and development of informationbased systems, like associative access to information, as well as for mobile agent coordination, like temporal and spatial agent uncoupling. Still, data-driven models typically lack control and flexibility required by today complex distributed applications. In particular, if interactions are tied to the pre-defined mechanisms of Linda, the burden of managing both information and component heterogeneity has to be charged over either mobile agents or local execution environments. This makes applications more difficult to be designed and incrementally modified, and increases their development costs. The above considerations have led to several extensions of the raw Linda model towards extensibility and programmability, like ¤ ¥ ¦ § [ODN95] and Law-Governed Linda [ML94]. The TuCSoN model (Tuple Centres Spread over Networks), described in Section 2, applies the same guidelines to the coordination of mobile agents. In TuCSoN, each local execution environment is built around a local communication abstraction, called tuple centre, which can be accessed by mobile agents through Linda-like communication primitives. However, unlike Linda tuple spaces, TuCSoN tuple centres are programmable, in that their behaviour in response communication events can be defined by means of an ad hoc specification language allowing reactions to be associated to communication operations. Reactions can be exploited to embody coordination laws into the coordination medium, and to make it possible to adaptively deal with heterogeneity, transparently to both mobile agents and components of the local execution environments. A sample distributed information retrieval application is then discussed in Section 3 to show the effectiveness of the TuCSoN approach in the context of Internet-based information systems.