News & Politics

Reactive Tuple Spaces for Mobile Agent Coordination

Reactive Tuple Spaces for Mobile Agent Coordination
of 15
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
    1   Reactive Tuple Spaces for Mobile Agent Coordination   Giacomo Cabri, Letizia Leonardi, Franco Zambonelli (*)   Dipartimento di Scienze dell’Ingegneria – Università di Modena   Via Campi 213/b – 41100 Modena – ITALY   Phone: +39-59-376735 – Fax: +39-59-376799   E-mail: {giacomo.cabri, letizia.leonardi, franco.zambonelli}   (*) Corresponding Author   Abstract    Mobile active computational entities introduce peculiar problems in thecoordination of distributed application components. The paper surveys severalcoordination models for mobile agent applications and outlines the advantages of uncoupled coordination models based on reactive blackboards. On this base, the paper  presents the design and the implementation of the MARS system, a coordination tool for Java-based mobile agents. MARS defines Linda-like tuple spaces that can be programmed to react with specific actions to the accesses made by mobile agents.    Keywords : Mobile Agents, Coordination, Reactive Tuple Spaces, Java, WWW  Information Retrieval 1.   Introduction   Traditional distributed applications are designed as a set of processes statically assigned togiven execution environments and cooperating in a (mostly) network-unaware fashion [Adl95]. The mobile agent paradigm, instead, defines applications composed by network-aware entities ( agents )capable of changing their execution environment by transferring themselves while executing( mobility ) [Cug97]. The shift to the mobile agent paradigm is broadly justified by the advantages itprovides over traditional approaches in widely distributed applications [Wal97]: (i) mobile agents candramatically save bandwidth , by moving locally to the resources they need, instead of requiring thetransfer of possibly large amounts of data; (ii) mobile agents can carry the code to manage remoteresources without needing the remote availability of a specific server and thus leading to a moreflexible application scenario; (iii) mobile agents do not require continuous network connection ,because interacting entities can be moved to the same site when the connection is available andinteract without requiring further network connection; as a consequence (iv) the mobile agentparadigm intrinsically suits mobile computing systems.   In the last few years, several systems and programming environments have appeared to supportthe development of distributed applications based on mobile agents [MOS97, MA97]. Nevertheless,there are still several open research issues to make the mobile agent technology widely accepted:appropriate programming languages and coordination models, security, efficiency and    2standardisation [Cug97].   In mobile agent applications, one of the fundamental activities is coordination between theagents and the entities they encounter during execution, let these entities be other agents or resources on the hosting execution environments. However, mobility and openness of the scenarioimply different problems than traditional distributed systems [GelC92, Adl95]. The paper introduces,in section 2, a simple taxonomy of the coordination models that can be adopted by mobile agentsystems, by using a WWW information retrieval application as an example. This case study allows toshow that coupled coordination models do not suit mobile agent applications and force complexdesign choices. Instead, fully uncoupled (Linda-like) coordination models have the necessaryadaptivity to suit a wide and heterogeneous networked scenario and lead to simpler applicationdesign. Further flexibility and safety stem from reactive coordination models [DenNO98], in whichthe semantics of the interactions can be programmed to meet specific needs, as shown in section 3.   The above considerations motivate the design and the implementation of the MARS ( MobileAgent Reactive Spaces ) system, described in section 4. MARS is based on the definition of a Linda-like tuple space associated to each execution environment. As an agent arrives to a site, it is boundto the tuple space and can use it both to coordinate itself with other application agents and to accessto local resources. Differently from raw Linda-like tuple spaces, MARS tuple spaces can beprogrammed (either by the local administrator or by the agents themselves) to react with specificactions to the accesses made to them by agents. This characteristic of MARS grants flexibility inmobile agent applications, allowing to define specific and stateful coordination policies and toenforce secure agent execution. Reaction examples for the testbed application show the effectivenessof the MARS approach to coordination. 2.   Coordination Models for Mobile Agent Applications   During its nomadic life, an agent is in need to coordinate its activities with other entities, letthem be other agents or resources on hosting execution environments. More in particular: •   an application may be composed of several mobile agents that cooperatively perform a taskand, then, are in need of coordinating their activities. •   a mobile agent is usually in need to roam across remote sites to access to resources andservices there allocated;   As an example, let us consider a simple WWW information retrieval application, which will beused as a case study in the following of the paper. An agent is sent to a remote site to analyse WWWpages and to come back with the URLs of the pages that contain a specific keyword. The agentclones itself for any remote link found in the pages of interest and sends the clones to the found sites,to recursively continue the searching work. Inter-agent coordination is needed to avoid multiplevisits of different agents on the same site (since it is common to find cross-references in HTMLpages). Agent-to-hosting execution environment coordination aims to define a precise protocol to access and   retrieve information on a site.   While coordination models have been extensively studied in the past [Adl95, GelC92], mobility    3and the openness of the environment introduce new problems and needs. In this section, we define asimple taxonomy of the possible coordination models for mobile agent applications, together with abrief survey of several mobile agent proposals. Two main characteristics distinguish differentcoordination models: spatial and temporal coupling. In particular: •   spatially coupled coordination models require the involved entities to share a common namespace; conversely, spatially uncoupled models enforce anonymous interactions; •   temporally coupled coordination models imply synchronisation of the involved entities;conversely, temporally uncoupled coordination models achieve asynchronous interactions.   Therefore, four categories of coordination models can be derived (see figure 1): (i) direct, bothspatially and temporally coupled; (ii) meeting-oriented, spatially uncoupled and temporally coupled; (iii) blackboard-based, spatially coupled and temporally uncoupled; (iv) Linda-like, both spatially andtemporally uncoupled.   Direct Java Agents Agent-TCL Meeting-Oriented Ara OMG Events  Blackboard-Based Ambit ffMain  Linda-like Jada TuCSoN  TemporalSpatial CoupledUncoupledCoupledUncoupled   Figure 1. Coordination Models for Mobile Agents 2.1   Direct Coordination   In direct coordination models, agents initiate a communication by explicitly naming the involvedpartners (spatial coupling). This usually implies their synchronisation (temporal coupling). In the caseof inter-agent coordination, two agents must agree on a communication protocol, typically a peer-to-peer one. In the case of the access to the hosting environment resources, coordination usuallyoccurs in a client-server way [Adl95, StaG90].   The general adoption of direct coordination models in mobile agent applications is not suitable.Repeated interactions require stable network connections, making communication highly dependenton network reliability. In addition, wide-area communications between mobile entities requirecomplex and highly informed routing protocols. Finally, because several mobile agent applicationsare intrinsically dynamic (through dynamic agent creation), it may be difficult to adopt a spatiallycoupled model in which the communication partners must be identified. In the case study application,agents cannot know how many other agents compose the application, because agents aredynamically created depending on the found links. In addition, to establish a communication session,agent must be forced to synchronise their activities that, instead, are intrinsically asynchronous andautonomous. In presence of widely mobile agents, direct coordination models can be effectively    4exploited only for accessing to local resources: a local server has to be provided as manager and anagent interacts with it in a client-server way. In our application example, local WWW servers maysupply HTML pages to agents.   Most of the Java-based agent-systems – like Sumatra [AchRS97] and Odyssey [Gen97] – adoptthe client-server style typical of object systems, and can also exploit low-level message-passing viaTCP/IP.  Agent Tcl [Gra96] provides direct communication between two agents, based on message-passing, and also provides asynchronous communication modes. 2.2   Meeting-Oriented Coordination   In meeting-oriented coordination, agents can interact with no need of explicitly naming theinvolved partners. Interactions occur in the context of known meeting points that agents join, eitherexplicitly or implicitly, to communicate and synchronise with each other. Apart from always-openedmeetings – that can abstract the role of servers in an execution environment – an active entity mustassume the role of initiator to open a meeting point. Often, meetings are locally constrained: to avoidthe problems related to non-local communication (i.e., unpredictable delay and unreliability), ameeting takes place at a given execution environment and only local agents can participate in it.Clearly, because agents must share the common knowledge either of the meeting names or of theevents that force them in joining a meeting, full spatial uncoupling is not achieved.   While the meeting model partially solves the problem of exactly identifying the involvedpartners, it has the drawback of enforcing a strict synchronisation between agents. Because in manyapplications, the schedule and the position of agents cannot be predicted, the risk of missinginteractions is very high. In the testbed application, to avoid multiple visits on the same site with ameeting-oriented model, one must introduce an additional agent for each visited site. When an agenthas explored a site, it creates a “meeting” agent before coming back to the user site. The meetingagent is forced to reside on the creation site: as any other agent arrives to this site, it tries to enter ameeting with meeting agent to detect whether the site has been already visited or not. To ouropinion, this solution is not generally suitable for the application example because there is nopossibility for the meeting agent of knowing when to die. In addition, to let an agent remain on onevisited site is not safe: a malicious agent can exploit the time it is on a site to furnish privateinformation to the external.   Meeting-oriented coordination is implemented in  Ara [PeiS97]: one agent can assume the role of meeting server announcing a meeting point at one hosting environment; incoming agents can enterthe meeting to coordinate each other. The concept of event-based communication andsynchronisation, defined by the OMG group [OMG94] and analysed for applying to mobile agents in[Bau97], can be categorised as a meeting-oriented coordination model. Spatial uncoupling isachieved by associating meetings to events, i.e., accesses to synchronisation objects of a specifictype, of which agents must share the references to, as if they were meeting names. 2.3   Blackboard-Based Coordination   In blackboard-based coordination, interactions occur via shared data spaces, local to each    5hosting environment, used by agents as common repositories to store and retrieve messages. As faras agents must agree on a common message identifier to communicate and exchange data via ablackboard, they are not spatially uncoupled.   The most significant advantage of this coordination model derives from fully temporaluncoupling: messages can be left on blackboards without needing to know, neither where thecorresponding receivers are nor when they will read the messages. This clearly suits a mobilescenario in which the position and the schedules of the agents can be neither monitored nor grantedeasily. In addition, being any inter-agent interaction forced to be performed via a blackboard, hostingenvironments can easily control all interactions, thus leading to an execution environment modelmore secure than that of the previous coordinations. Our application example can effectively exploitthe blackboard model for inter-agent coordination. When an agent arrives on a site, it firstly checksin the local blackboard for a “marker” message, coming from another agent of the same application.If the agent obtains the message, it knows that the site has already been visited; otherwise, it is incharge of putting the “marker” message in the blackboard. With regard to agent-to-hosting executionenvironment interactions, a blackboard can be exploited to let agents retrieve the needed informationwithout requiring the presence of a specialised resource manager and to let the local environmentprovide in the blackboard all the data it wants to publish while protecting private data. In the casestudy application, the execution environment could provide, in form of messages, the pathnames of all its publicly accessible files. However, there is no way for an agent to retrieve the pathnames of theHTML files only, but all messages have to be retrieved and successively selected to search thoseones corresponding to HTML files.   Several systems propose and implement blackboard-based coordination models for mobile agentapplications. In  Ambit  [CarG97], a recently proposed formal model for mobile computations, agentscan attach and read messages on the blackboard local to each site. The  ffMAIN  agent system[DomLD97] defines mobile agents that interact – both with other agents and with the local resourcesof the hosting execution environment – via an information space accessed through the HTTPprotocol, where data can be stored, read and extracted. 2.4   Linda-like Coordination   In Linda-like coordination, the accesses to a local blackboard are based on associativemechanisms [CarG89]: information is organised in tuples, retrieved in an associative way via apattern-matching mechanism. Associative blackboards (called tuple spaces) enforce full uncoupling,requiring neither temporal agreement nor mutual knowledge to let agents coordinate.   Associative coordination suits well mobile agent applications. In a wide and dynamicenvironment, as Internet, having a complete and updated knowledge of hosting executionenvironments and of other application agents may be difficult or even impossible. Then, becauseagents would somehow require pattern-matching mechanisms to adaptively deal with uncertainty,dynamicity and heterogeneity, it is worthwhile to integrate these mechanisms directly in thecoordination model, to simplify agent programming and to reduce application complexity. In the
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!