Mobile Agent Technology for Enterprise Distributed Applications: An Overview and an Architectural PerspectiveSeng Wai Loke CRC for Distributed Systems Technology Monash University, Caulfield Campus, PO Box 197, Caulfield East, Victoria 3145, Australia.
[email protected] Program through the Department of Industry, Science & Tourism of the Commonwealth Government of Australia. ¡ The work reported in this paper has been funded in part by the Co-operative Research Centre 1 Abstract Mobile agents can be regarded as software components which can move from host to host to perform computations. Research over the past halfdecade has found the mobile agent paradigm to be useful for many applications. This paper aims to show the broad applicability of mobile agent technology in the enterprise, and to explore the implications of this broad applicability from an architectural perspective. It first provides an overview of mobile agent technology in three types of enterprise applications: intraorganizational, inter-organizational and customer-to-business, with focus on data management, distributed parallel processing, computer-supported collaborative work, virtual enterprises, and customer-facing systems. Then, a conceptual architecture is presented which integrates three areas in the development of mobile agent enterprise software: a mobile agent based enterprise applications suite and sub-suites, mobile agent middleware, and an enterprise-scale agent infrastructure. 2 1 Introduction Information technology has had broad impact on enterprises and commerce. The trend has been bringing the utility of computers from back-office applications to the desktops of employees, and more recently to the global market. According to [2], there are three types of enterprise applications: intra-organizational which concerns applications within a business such ¢ ¢ ¢ as corporate knowledge management, and collaborative work support; inter-organizational which concerns business-to-business applications such as supply-chain management involving virtual enterprises, and knowledge sharing with shared networks called Extranets; and customer-to-business which concerns the customer’s experience with the business such as transactions (e.g., purchases, orders, etc), and services. Numerous software systems have been built in support of the above applications. With resources and operations within an enterprise being typically distributed in nature (e.g., multiple staff, multiple computers, multiple departments and subdepartments) and with homes and enterprises harnessing the Internet, the World Wide Web, Intranets, and Extranets, distributed computing has and will play an important role in these applications. The client-server model with messagepassing of data and remote procedure calls (RPCs) has been a dominant paradigm of enterprise computing for many years. More recently, the client-middleware-server model has become very popular with the introduction of middleware component 3 frameworks such as CORBA [56], and DCOM [67]. Meanwhile, agent technology has been exploding in popularity.1 Numerous definitions have been given for intelligent software agents. In essence, as the word implies, an agent is software which performs a task on behalf of a person. In [89], an intelligent agent is defined to be software which can be described with attributes normally associated with human intelligence such as autonomy, proactiveness, reactivity, and social ability. Stronger notions of agency employ mentalistic notions such as knowledge, beliefs and intentions. In [55], a classification of agent software based on their attributes and uses is provided. The use of agent technology has resulted in flexible and useful software in the enterprise, for example, in business process enactment (e.g., [40]), financial portfolio management and organizational decision-making (e.g., [74]), intelligent manufacturing (e.g., [70]), product design systems (e.g., [17]), and Intranet and Internet-based knowledge retrieval and synthesis (e.g., [19, 48]). A roadmap of agent research and applications is presented in [41]. An aspect of agent systems growing in popularity in recent years is mobility [66, 65, 59]. The first language for programming mobile agents called TeleScript [86] was introduced in 1994. Mobile agents are software components which can move (i.e., not only is data transferred, but also code and computation state), on their own volition or invited, from one place to another. A place is a server which can receive agents, and is where an agent executes. A machine may host several 1 For example, see the online survey on intelligent software agents at http://www.sics.se/ps/abc/survey.html. 4 the mobile 5 . and inter-agent communication. Figure 1 shows two inter-connected places with an agent at one place and two at the other. Standardization by the Object Management Group (OMG) to enable different mobile agent systems to inter-operate is being carried out [54]. as described in [88]). Jinni [76]. For this paper. agent transfer. an agent running at that place can interact with the database.agent agent agent place place network connection Figure 1: Two places with three agents. There has been a proliferation of mobile agent systems in recent years such as AgentTcl [26]. Instead of one niche application. The first system conforming to the existing standard has been released [4]. 82] are that applications implemented with mobile agents could just as well be implemented using other techniques albeit perhaps with poorer performance. Current research has involved finding killer applications for mobile agent technology. and many others in the Java language (e. places.g.. Recent work has begun to add mobility to CORBA objects [11]. we define a mobile agent infrastructure as a network of places equipped with basic facilities for mobile agents such as agent execution. Current thoughts [43. When a place is interfaced to services such as databases. intra..and inter-organizational computer supported collaborative work (CSCW) such as business process enactment. 2. 3. virtual enterprises such as dynamic supply-chain creation and producttracking. researchers must present a set of applications and argue that the entire set can be implemented with much less effort (and with that effort spread across many different programming groups). intra-organizational distributed parallel processing where hosts within an Intranet are collectively utilized for distributed processing.. intra-organizational data management such as distributed data retrieval and data warehousing. and networked device control. customer-facing systems which delivers business services to customers such as buying and selling.agent paradigm has been found useful for numerous distributed applications.” In all of the above three types of enterprise applications. auctioning and advertising. mobile agent technology has been used. 6 . and 5. A challenge posed in [43] is: “. For example. mobile agent technology has been used or proposed for 1. 4. team awareness. Then.In this paper. we mean software for mobile agent applications in the enterprise. and an enterprise-scale agent infrastructure. By mobile agent enterprise software. We focus on applications. 59. 7 . 65. The architecture integrates three areas for the development of mobile agent enterprise software: enterprise applications suite. and transactions involving databases. Technology is required to enable efficient data sharing and distance learning with up-to-date data and to permit distributed and mobile workers access to information on-demand. mobile agent middleware. We look at querying and mining distributed data resources. We first give an overview of research into applying mobile agent technology for the above five areas. we nominate enterprise applications as a set of applications in the spirit of the above quotation. Mobile agents have been explored for managing data within an enterprise. We aim to show the broad applicability of mobile agent technology in the enterprise and to explore from an architectural perspective the implications of this broad applicability on mobile agent enterprise software. 42] for an overview of mobile agent research. 61. data warehousing. 2 Data Management Data is an important asset for an organization. and refer the reader to [66. we present a conceptual architecture for mobile agent enterprise software. Java agents move from one database to another interacting with databases via the Java Database Connectivity (JDBC) interface. On arrival.2. A DBMS mobile agent (called a DBMS-aglet) carries an itinerary of database servers to visit. In [60]. Dale et al [14]. and to return results. Papyrus [63] is a distributed data mining system where mobile agents (built with AgentTcl) are used to transport queries to data mining services and clusters of data. Additional queries can be sent from the applet to the parked DBMS-aglet via messenger aglets. The agents arrange for the parallel execution of queries on the clusters and is capable of operations such as selection and averaging of query 8 . a framework for accessing databases using mobile agents and JDBC has been developed called the DBMS-Aglet Framework.1 Querying and Mining Distributed Resources Both querying and mining databases involve computation on data. The DBMS-aglet is sent from a Java applet [28] to a place residing on the database server’s host. Mining of databases involves analysis of large databases to extract rules capturing observed regularities in data. and is then parked at the host. the DBMS-aglet initiates loading of appropriate JDBC drivers for communicating queries to the database server. In the system described in [57]. security certificates and queries. describes a mobile agent architecture where mobile agents interact with static resource agents which interface to databases. A sophisticated query might include processing of results returned from SQL database queries. Instead of a mobile agent (or DBMS-aglet) acting as mediator between the client applet and the database server. using agents in these scenarios reduces network communication costs. A combination of factors are involved in optimizing agent 9 . moving the computation to the server minimises latencies due to network communications as demonstrated in [18]. Mobile agents could be sent from a mobile device to a database server and picked up later. and so. particularly when the size of the agent is large compared to the size of messages. Other experiments recorded in [79] showed that mobile agents can be used to reduce communication costs in distributed information filtering. the server’s design need not have anticipated all possible kinds of processing.results. The use of mobile agents permits different kinds of computations to be sent to the server. Once relevant documents obtained from the classifier are sent back to the local site. Instead of moving huge amounts of data from the database’s server to the client where computations occur. in a computation involving frequent interactions with the database. the agent dies. Also. Experiments comparing the use of mobile agents with client-server techniques for data mining showed improvements in performance with mobile agents [38]. In addition. removing the need for maintaining the (wireless) connection between the mobile device and database. computation in the form of the agent is sent to the database’s server host. Processing with the data then happens locally. However. a mobile agent contains a document classification algorithm which is sent to a remote host. it is not always the case that moving the agent to the database is more efficient. Mobile agents are also useful for accessing databases from mobile devices. In [91]. and message-passing.performance such as network conditions. An issue is keeping the data warehouse up-to-date whenever the databases change. Maamar [50] proposes the use of mobile agents to automate this process. an extension of Java is implemented to allow programs to monitor network latency. The data warehouse (on one host) can be queried without going back to the original databases (on other hosts). Using the latency estimations. An agent interacting with a network of databases might perform optimally by using a mixture of migrations. In [1]. an agent implemented in the language can estimate the time to transfer data. an information repository called the data warehouse stores information extracted from multiple distributed databases. 2. Hence. and only if this time is too large. agents can be programmed with heuristics for optimizing network resources. a planning problem emerges of finding the sequence of sites the agent must visit in order to find the desired information in minimum time. For example. The agents extract data from different sources and transfer them 10 . Investigations have been carried out to find optimal planning algorithms in such scenarios [5]. With multiple information sources. the agent moves to the data source. RPCs. where the probability of each site containing the desired information and estimations of network latency between sites are known.2 Data Warehousing and Integration In data warehousing. a combination of message-passing and agent migration gave optimal performance compared to using message-passing or migration alone. in experiments described in [10]. and the size of information transferred. Beyond information retrieval is the management of knowledge. 2. an architecture is proposed where places are extended with transaction 11 .to the data warehouse.. Agents can (albeit with proper engineering) retrieve (if necessary. 48]). Software agents not necessarily mobile have also been a key metaphor for software which extracts information from Web-based sources (e. after moving to resources) information from distributed heterogeneous information sources including structured databases and unstructured Web documents.3 Transactions on Distributed Resources Besides simply sending an agent to perform a task at a remote database. analyze and synthesize knowledge to support distributed problem-solving and decision-making under real-time constraints. DKNs are more feasible on Intranet-scale than on Internet-scale. and synthesize a report for the user. thereby providing an integrated front-end to heterogeneous information sources. a mobile agent could be used to implement an entire transaction involving several distributed resources.g. Due to these constraints and the effort required to represent knowledge from different sources in a consistent format. the systems mentioned in [19. The proposed Distributed Knowledge Networks (DKNs) [32] includes the use of mobile agents to move among distributed information resources to access. Extraction of data might involve data mining and so the functionality in the agents presented in the previous subsection could be utilized here. In [16]. Changes are detected and forwarded by the monitoring agent to the originator agent which could then take immediate action. In response to changes. The advantage over the single agent approach is the ability to react to dynamic changes in the environment. multiple agents are employed in [30]. In the multiple agent approach. Instead of using one agent to implement a transaction. An advantage of using mobile agents in such transactions is support for distributed environments and mobile devices.support. a transaction can be implemented to buy all components of a computer or none. in the single agent approach. a two-phase commit protocol involving all the agents is used to finalize the transaction. When the originator agent reaches the last place in its itinerary. while the agent is moving from place to place. where each component is bought from a different place and the stock of components can vary during the agents 12 . while going from place to place. An agent moves from one place to another and implements a transaction by performing the tasks of the transaction at the places it visits. changes might occur in previously visited places which would cause the transaction to later abort. using the multiple agent approach. These mobile agent based transactions are usable not only within the enterprise but also for electronic transactions between customers and businesses. The latter is because mobile agents can perform transaction tasks asynchronously without maintaining a continuous connection between the mobile device and task places. would leave monitoring agents at previously visited places. For example. the monitoring agent might also move to another place (or resource) and inform the originator agent. an originator agent. For example. [23. 87]).movements. particularly in organizations with a large number of networked computers. 3 Distributed Parallel Processing Mobile agents are also being investigated for distributed parallel processing (e.1 Workflow A workflow (often called a business process) consists of a set of activities (or tasks) which need to be executed in some controlled order to realize a business purpose. multiuser control of networked devices via mobile agents. An organization might also rent out idle CPU time but not without proper protection of its resources and mechanisms for charging for resources used (e. 4 CSCW Two areas to which mobile agent technology have been applied in CSCW are workflow and team awareness. 4. as a CSCW application. mobile agents can move to these hosts to perform computations. We also discuss. For example.g. 13 .g. using software described in [64]).. at night when CPU load in the company’s computers are low. Tasks encapsulating both code and data can be added to a tasks pool for execution by “worker” mobile agents. This is useful for utilizing idle CPU cycles.. in the example about opening a bank account in [9]. The agent moves from place to place performing some task at each place towards the goal of opening an account. 77. Hence. The key difference from the static agents approach is the transfer of business logic from entities into the mobile agent. customer.. and communicating by message-passing. opening a bank account involves information and control flow among entities (e. a mobile agent encapsulates customer details and knowledge about how the details need to be processed for an account to be opened. where each involved entity must perform a specific task. each request for opening an account would have its own thread of control providing flexibility and specialization.. the path taken by an agent might be determined at runtime from interactions at places or by querying a service broker. Also. the DartFlow [9] and Autopilot [22] software).Workflow management systems aim to automate and streamline business process enactment. A different approach to workflow utilizes mobile agents (e. 92]). a more rigorous comparison is needed between 14 . The places representing entities visited by the mobile agents become passive compared to the static agents representing entities in the static agents approach. and supervisor) within an organization. the systems described in [40. bank representative. For instance.g. Static (or non-mobile) agents. Despite this conceptual advantage. These places might be interfaced to databases or the agent might present a graphical user interface to interact with a person.. have been extensively used to realize business processes (e.g.g. each performing a specific role or representing an entity. The agent’s movements correspond naturally to the flow of work (or sequence of tasks). For example. For example.workflows implemented using mobile agents and the corresponding static agents implementation. In the tool. material. entities subscribe to events they are interested in by sending a message to a notification server. A recent idea integrates mobile agent technology with distributed event notification services aiming to combine their advantages. runtime changes to the agent’s itinerary. These agents can tailor their user interfaces according to information obtained from previous participants. machines) and can also move when the resource is transferred to another location. A resource agent represents a resource (e. These issues have been dealt with in part in Autopilot. must be managed.g. in the PROSYT process support system [13]. one can build meeting scheduler agents which move among potential participants and interact with them [84]. For a robust and efficient workflow system.. and receive notifications about these 15 . In [90]. and congestion due to a large number of agents simultaneously working. For example. Lightweight CSCW systems involving simple coordination among multiple entities can easily be built with mobile agent technology. When required. Agents can clone themselves to calculate the overall duration of parallel activities. mobility is a useful attribute for agents representing movable resources. cloning and code mobility enables parallel and distributed processing to happen at specified locations. a tool for distributed project management is developed using mobile and static agents. Project activities are represented by static agents and mobile service agents can be sent along critical paths of static agents to retrieve activity information and to calculate overall project duration. For example. The mobile agent approach suits the lack of a central coordination mechanism. mobile agents have also been explored for inter-organizational workflow. The decoupling is useful when the locations of subscribers are continually changing (e. based on the Common Open Service Market (COSM) architecture [53].g. The notification server acts as an intermediary between event publishers and subscribers maintaining the locations of subscribers and forwarding notifications to the right places. The latter is particularly useful when the inter-organizational 16 .e. Although more work is still required to investigate the advantages of such an integrated approach. when the subscribers are mobile agents). with the likely presence of event systems in future office environments (as indicated by the success of Elvin in CSCW [21] and the increasing interest in event-based systems [37]) and the use of mobile agent technology in business processes. PROSYT utilizes reactive objects which can migrate between hosts in response to event notifications. such integrations could become more prevalent. Besides intra-organizational workflow. mobile agents have been proposed for coordinating workflow across organizational boundaries. i. A notable feature of PROSYT’s event system (as well as others such as Elvin [69]) is that event publishers do not need to know the identity or location of event notification subscribers. and permits applications (encapsulated in mobile agents) to move into organizations which do not have those applications.. we have decoupling of event publishers from subscribers and undirected messaging. The event system is used to coordinate business processes and cooperation among entities.events when other entities publish event notifications. and flexibility. since agents can be sent to observe newly connected users or retracted from disconnecting users. What is required is only that the cooperating organizations provide a basic infrastructure for the execution of the mobile agents. For instance. 4. Such systems have to be carefully engineered so that agents can perform tasks as needed. Also. 17 . For example.cooperation is transient. The mobile agent sends back relevant events to the originating user. with the MOLE Office tool [7. acting as observers and reporters of events within a distributed environment.2 Team Awareness Mobile agents can be used to support team awareness in CSCW. rather than permanent changes to the organizations’ systems for temporary inter-operation. users can launch observer agents from their mobile devices into a fixed network and collect the agents when they next reconnect. This approach has a number of advantages including reducing network traffic since not all events are transmitted and filtering takes place at the source end. 8] users (or team members) can send remote users (also running the MOLE Office tool) mobile observer agents which stay at the remote ends to listen for and filter events. the agent may need to access different kinds of databases in different organizations. control is shifted from one party to another. 18 . Two advantages are: software on-demand: the user can download agents to control devices ¢ ¢ whenever required. The agent provides a graphical user interface for the person on one hand and communicates with the device on the other. and passing of control and coordination: passing of control from one person to another is easily carried out by passing the agent. does not need pre-installed software. Similar mechanisms have been used in [31] where a user can download to his/her mobile device the user interface for interacting with devices in a seminar room. where a device wishing to use another device downloads a service object from a registry. Mobile agents can be downloaded to a host on demand much like Java applets.3 Networked Device Interfaces Mobile agents can be used as intermediaries between users and devices (such as a slide projector or a printer) on a network. A person who wants to control a device but does not have the software to do so can download an agent which knows the protocol for communicating with the device. and so the agent’s movement can be used for control coordination among parties.4. and so. Similarly. the agent maintains state which is also transferred. and in the Jini framework [73]. when the agent moves from one place to another. 1. the buyer places an order for an item by interacting with a mobile agent directly or indirectly via another agent. the mobile agent infrastructure might become one such infrastructure. These systems have all been prototyped using IBM’s Aglet Java mobile agent toolkit [45. The agents might initiate actual physical processes to create a product. In these systems. 36]. the agents encapsulate both data and business logic. 15]. If the order cannot be satisfied internally. 15] have been built which use mobile agents to enact a supply-chain in manufacturing. 58. 62. 75. In [78]. another level of the supply-chain would be created when the agents move to other suppliers’ hosts. With recent work on applying mobile agents to virtual enterprise applications [53. a global infrastructure spanning organizational boundaries is proposed as a key technology for virtual enterprises. 6. 58. Similar to the workflow agents in Section 4. Three research prototypes [6.5 Virtual Enterprises Virtual enterprises enable a business organization to outsource or utilize services of other organizations without the need for expanding. Key issues for enabling the virtual enterprise outlined in [78] and [81] include inter-operability of systems across organizational boundaries. The set of collaborating organizations (or parts thereof) is called a virtual enterprise [78]. 19 . and the ease and efficiency of setting up a virtual enterprise. This collaboration of organizations might only be temporary and once-off for the production of a new product or service. The mobile agent then moves to the suppliers’ hosts with the order. An adlet might roam an area to gather information and connect related workflows. 49].Conceptual parallels between physical production processes (e. For example. workflow) are being examined with the aim of using mobile agents to coordinate and track the process of product creation [24. Plans for a prototype implementation using IBM’s Aglet toolkit are reported. or food) and information production processes (e. a workflow can be expanded on a need-to basis by dynamically spawning new adlets. mobile agents are being explored for electronic marketplaces and electronic auctions: electronic marketplace for agents: an electronic marketplace functions as ¢ a brokering environment (also called a digital bazaar [51]) where customers 20 .g. an architecture is proposed for establishing temporary inter-organizational workflows using mobile agents (called adlets). 6 Customer-Facing Systems Agents have been extensively investigated for various stages in consumer buying behaviour [29. temporary. 75]. assembly of a PC. In [12]. More recently. negotiation for terms of a transaction. These stages include brokering to determine what to buy and who to buy from. garment. Adlet based workflows are similar to the inter-organizational workflows described in Section 4..g. purchasing and delivery of products..1 but with greater emphasis on the evolving. and ad hoc nature of virtual enterprises. electronic auctions: an electronic auction house permits customers to bid ¢ for advertised goods.jp/index. and setting up auctions.send agents to find services or sellers of desired goods. especially in the case where the cost of transferring the agent is less than the amount of messages which need to be transferred. The mobile agents are used for bidding. An electronic marketplace can be formed by a federation of e-Marketplace servers.tabican. Mobile agents are an attractive means for monitoring an auction or the auction house and informing the consumer of new bids or new goods instead of the consumer repeatedly polling the auction house. The precursor to e-Marketplace is the TabiCan Web site (http://www. Although several electronic auction houses exist on the Web.ne. The advantages of mobility in these consumer environments are similar to that for databases such as support for mobile devices. An electronic auction house could be part of an electronic marketplace. An example is eMarketplace [35] a middleware for electronic marketplace supporting three kinds of agents: customer/buyer agents. shop/seller agents. 21 . and reducing network traffic.html) which supports mobile agents for determining travel arrangements. and advertising agents which monitor activities at an e-Marketplace server to seek out customer agents. information collection. the Nomad system which works with the eAuctionHouse servers appears to be the first use of mobile agents in electronic auctions [33]. price distribution learning. and (4) the agents would migrate over international boundaries at the appropriate working hours. Several such mechanisms have been developed. In [80]. (3) on arrival the agent shows a user interface customized to the contract’s current contents. in [72]. messages are sent to the trust service to create a history log. i. or be attacked by remote hosts. interacting with the parties. The use of such mobile agents for negotiating contracts among businesses or customers is proposed in [27]. and reliability. an aspect of reliability dealt with is the exactly once property. mobile agents need mechanisms for negotiation. When an agent is transferred from the customer host to a business host and back. If the agents are to perform transactions on their own. that the agent moves to a place and performs a task exactly once. The aim is that the agents dynamically take up appropriate negotiation protocols as needed. they must have negotiation capabilities.e. Also. and recording information obtained from the parties. where an agent carrying a contract moves from one collaborating party to another. (2) no concurrency control on the contract is necessary since the agent visits one party at a time. For example. Accountability and reliability mechanisms are important for electronic commerce transactions especially since mobile agents can get lost due to network or host errors. an architecture for plugging negotiation protocols into mobile agents is proposed. in [85]. accountability. A protocol is presented 22 .To support electronic commerce applications. Four features of this approach are (1) the agent can check consistency of the contract’s contents as it is being modified by the different parties. a trust service is provided between customer and business hosts. to guarantee this property. See http://www. in the spirit of Microsoft Office and Lotus eSuite2 . provide input to agents). when the agent is making a flight or hotel reservation.g. The tool functions as an interface to a myriad of “intelligent mobile assistants”. or a building block for applications. or an agent managing a supply chain. receive agents. an observer agent for team awareness. Towards this need. an advertising agent. an agent for communicating with a device. The question we look at in this section is: what does the broad applicability of mobile agent technology for enterprise applications mean for mobile agent enterprise software? Mobile agent enterprise software will need to support more than one kind of application.. Such a mobile agent based office tool will enables its user to send agents. for example.lotus. The mobile agent the user interacts with might be an interface to the corporate’s distributed databases.com/. we can envision a mobile agent based applications suite for the enterprise. an agent enacting a business process. 2 Lotus eSuite consists of eSuite applets each either an application such as spreadsheet or word processor.esuite. 23 . 7 An Architectural Perspective on Mobile Agent Enterprise Software We have seen a broad range of mobile agent based enterprise applications.e. and interact with agents (e. i. This property is particularly important for electronic commerce transactions. applications where the key abstraction is the mobile agent. an agent organizing a meeting. if a database server and software interfacing with manufacturing equipment are located within the same infrastructure. The applications suite could be supported by a software infrastructure whose conceptual architecture spreading over two places is illustrated by Figure 2. This would enable the same agent to utilize different resources and different agents to utilize the same resources. We envision this architecture for large enterprises to spread over tens or even hundreds of places.applications suite agent applications suite agent agent middleware basic facilities place network connection middleware basic facilities place Figure 2: Three layered conceptual architecture illustrated with two places. an agent enacting a business process could visit the database and communicate with manufacturing equipment. Although the agents have to be carefully engineered for different applications. Other agents used in a virtual enterprise or managing 24 . The architecture consists of three layers: 1. the agents would use the common infrastructure. a common basic mobile agent infrastructure for the entire enterprise: different distributed applications would use the same mobile agent infrastructure which provides the basic facilities for all agents. For instance. especially when agents access common resources. Places might be interfaced to corporate databases or other existing corporate software. It would not be cost effective if three different mobile agent infrastructures have to be set up: one for database access. each of these places would need to be augmented with a component for implementing transactions [16]. and another for a virtual enterprise. each designated place would be augmented with components for hosting marketplace agents. 2. one for workflow. transaction support) would be useful for more than one application (e. with directories of places within each organization and security software)... 61] already provide the basic infrastructure for mobile agents.g.. and so could re- 25 . To support an electronic marketplace over a collection of places. For example. database transactions and workflow). to support transactions involving several places. and it is not necessary for all places to have the same augmentations (unless required by the applications). mobile agent middleware: The mobile agent infrastructure might need to be augmented with additional software components to support specific applications. We call such components augmenting places mobile agent middleware. A place might be augmented with components for different applications.g. Places which function as gateways between organizations would need to be appropriately augmented (e.g. Such middleware (e. Existing mobile agent toolkits [88.data warehouses could run on the same infrastructure. virtual enterprises. For example. similar to the library of database aglets proposed in [60]. 8 Conclusion We have described a set of enterprise applications for mobile agents: data management. There is also opportunity for reusing agents. an enterprise database application sub-suite would consists of a collection of mobile agents with database-related functionality. CSCW. Apart from an interface to agents. such a tool could also be an environment for developing applications: agents could be created by different members of the organization and injected into the mobile agent infrastructure. This set of applications spans all three types of enterprise appli26 . Application sub-suites could also be explored. For example.duce implementation effort for applications through software reuse. 3. an agent which knows about databases could be used by a workflow agent. Mobile agents could be used to install such middleware at the appropriate places. Tools will be needed for constructing or configuring application agents. and customerfacing systems. a mobile agent based enterprise applications suite: the mobile agent based office tool sits at the top of the conceptual architecture. Further work will be needed to identify and implement appropriate mobile agent middleware. distributed parallel processing. there is hardly any commercial-off-the-shelf (or industrial strength) mobile agent based enterprise applications. execution performance. and an enterprise-wide infrastructure as three areas for the development of mobile agent enterprise software. Research is underway to tackle existing technical hurdles for widespread adoption of mobile agent technology [43]. Although not all components will be mobile. We have also noted how the benefits mobile agent technology outlined in [46] such as reducing network traffic. Towards integrating mobile agent based enterprise applications in a common framework. We have pointed out applications suite and sub-suites. and robustness. Indeed. Security issues must be dealt with to encourage the uptake of mobile agent 27 . mobile agent middleware. and asynchronous and autonomous computation are being exploited in these applications. inter-organizational and customer-to-business. However. We envision more refined architectures and software components based on this architecture. We have seen in this paper a number of research proposals and prototypes where mobile agent technology is applied.cations: intra-organizational. distributed software installation. encapsulating protocols. and there are many industry-released mobile agent toolkits. Security and resource control are crucial when agents executing on a local machine come from foreign hosts and when agents cross organizational boundaries. standardization. mobile agents will likely be an integral part of many distributed applications. We briefly mention four hurdles: security. we have presented a layered architecture as a conceptual guide. mobile agent technology is still maturing. to play an 28 . Solutions to these hurdles could be mobile agent middleware or be incorporated into the underlying agent infrastructure..g. the Fiji applet [34] and the PESOS browser [71]). Execution performance is often sacrificed in order to achieve portability via code interpretation. we can expect mobile agents.technology and is more difficult for the open Internet than for an Intranet within a firewall. agents from other agents. Adding robustness involves fault-tolerance schemes (e. with their advantages for asynchronous and autonomous computation..g. Standardization is important to enable the mobile agent systems of different organizations to inter-operate. as argued in [52]). Apart from OMG’s standardization efforts.g..g. we note that as the workforce is not only becoming increasingly distributed but also mobile (e. Problems of protecting hosts from agents. Finally. and economic models for agents to purchase resources from sites are being explored [3]. Work aiming to tightly integrate mobile agent applications into the workplace has already begun with the integration of mobile agent places with Web browsers (e. The browser then becomes a front-end to both mobile agent applications and the Web. and agents from hosts are being tackled (e. KQML) could be exploited for inter-operability between agents.g. [83])... standards efforts on inter-agent communication languages (e. Just-in-time compilation is one way towards better performance. coping with hosts crashing) and is key for trust and acceptance of the technology in companies. and between agents and mobile agent middleware [20]. References [1] A. Saltz. Magedanz. Intensive research has already begun on mobile agents for mobile platforms (e. NJ 07632. ¤ £ U. editor. May 1998. G. Klusch. M. and D.uk/MAC3/ . 1997. [2] N.pdf . Gray. R. Kotz. Kotz. Gangopadhyay. In M. O. P T R Prentice-Hall. Ranganathan. pages 279–290. Available ¤ £ at http://www. USA. In Proceedings of IEEE IN Workshop 1998. May 1999.lboro. Dogramaci. 1999. Covaci.ac.. chapter 12. Electronic Commerce: Technical. Grasshopper – A Mobile Agent Platform for IN Based Service Environments. Available from http://mobility. Brewington. Adam. Sumatra: A Language for Resource-Aware Mobile Programs. Seattle. [5] B. 47]). Springer-Verlag. D. Rus. Economic Markets as a Means of Open Mobile Agent Systems. 29 .. Mobile Agents in Distributed Information Retrieval. D. S. France. 44. 68.important role in enterprises. Rus.A. 1999. Moizumi. and D. Acharya. Yesha. I. Bredin. Intelligent Information Agents. 39. and Y. Englewood Cliffs.R. Bordeaux. A. [4] M. Busse. Cybenko.ikv. and T.g. Lecture Notes in Computer Science. Breugst. K.S. Legal and Business Issues. 1222. In Proceedings of the Workshop on Mobile Agents in the Context of Competition and Cooperation at Autonomous Agents ’99. and J. [3] J. [25.de/download/grasshopper/IEEE-INWS-98. Kannapan.polito. 1219. Available ¤ £ at ftp://ftp.A. Germany.. P. pages 45–49. [8] C. Gloor. £ Festival .cim. Department of Computer Science. May 1996. Menga. Proceedings of the First International Workshop on Mobile Agents 97 (MA’97). Popescu-Zeletin. Chia and S. ¤ £ [7] C. Dartmouth College.html . In Proceedings of the 7th International Conference on Computer Communications and Networks (IC3N’98).ps. Choy and M. Agility and the Virtual Enterprise. Strategically Mobile Agents.ps . October 1998. Nog.informatik. Web page at http://www. Galarraga. Brugali. [11] S. and S. In The Globalization of Manufacturing in the Digital Communications Era of the 21st Century: Innovation. [10] T. 1999. [9] T.Z . Burger. Kluwer Academic Pub. Inter-Company Supply Chain Integration via Mobile Agents.it/Articles/Art-Agents/98PROLAMAT.dartmouth. Berlin. Burger. G.MOLE-Office. Cai. editors.de/ipvr/vs/projekte/Festival/MOLE¤ Office. DartFlow: A Workflow Management System on the Web Using Transportable Agents.uni-stuttgart. Lecture Notes in Computer Science No. Team Awareness with Mobile Agents in Mobile Environments. Breugst.edu/TR/TR96-283.cs. A CORBA Environment Supporting Mobile Objects.engl. In K. Available at http://www. Rothermel and R. and S. Technical Report PCS-TR96-283. April 1997. Springer. Mobile Agents. 1999.[6] D. In Proceedings of the 6th International Conference on Intelligence 30 . ecs.K.in Services and Networks. Workshop on the Virtual Multicomputer.K. Znati. 1999.ac.it/drsc/marine/corba-mat-isn99. http://www. Narasimhan. and P. Available at http://www. Barcelona.edu/panos/MDBS/ride 99.soton. Establishing Virtual Enterprises by Means of Mobile Agents. March 1997. [13] G. In Proceedings of the 13th IEEE International Conference on Automated Software Engineering (ASE’98).edu/˜pdg/research/papers/MAgNEThtml/ ¤ index.M. [14] J.F. Chang. Moser. and S. April 1999. Chrysanthis. Dasgupta. L. ¤ £ £ £ [12] P. MAgNET: Mobile Agents for Networked Electronic TradIEEE Transactions on Knowledge and Data Engineering.html . SpeAvailable at cial Issue on Web Applications (to appear). Ghezzi.uk/publications/archive/dale1997b/ . N. S.ece.mmrg. Available at ftp://ftp. T. Melliar- [15] P.E.pitt. ing.pdf . The Design and Implementation of PROSYT: an Experience in Developing an Event-based. A Mobile Agent Architecture for DisIn Proceedings of the International Available at ¤ tributed Information Management. March ¤ £ 1999. In Proceedings of the Research Issues in Data Engineering Workshop. http://alpha. DeRoure. October 1998. 31 . Banerjee. Mobile Application. Australia. Cugola and C.ucsb.ps. Dale and D.italtel. Spain. Sydney. Smith.cs.C.gz . Springer-Verlag.cs.. Middelkoop.M. U. £ Multi– AIAA Revised version to appear.adelaide. ¤ £ Available at 32 .edu/˜mtim/papers/1999/aiaa aircraft . Etzioni. Department of Computer Science. de Assis Silva and S. Berlin. Moving Up the Information Food Chain: Deploying Softbots on the World Wide Web. Agent Design Architecture for Integrated Design Systems. A Distributed Transaction Model Based on Mobile Agents.ps .gz .ecs. AAAI Press / MIT Press.J. ftp://ftp. Rothermel and R. Germany. and C.edu/pub/etzioni/softbots/a96. 1997. April 1997. Deshmukh. Available at ¤ http://farm. Detmold and M. Menlo Park.washington.A. Proceedings of the First International Workshop on Mobile Agents 97 (MA’97).ps. £ Available 05. Mobile Agents. 1999. Lecture Notes in Computer Science 1219. editors. Using Mobile Objects as Ambassadors to Minimize Latency in World-wide Distributed Systems. A. In K. Krause. [18] H.edu. August 1996. Smith.au/users/michael/papers/tr97- [19] O.S.cs. T. pages 1322–1326. Journal of Aircraft. Technical Report 9705. Popescu-Zeletin. In Proceedings of the 13th National Conference on Artificial Intelligence and the Eighth Innovative Applications of Artificial Intelligence Conference. [17] A. ¤ at http://www.umass. The University of Adelaide. Krothapalli. Oudshoorn.[16] F. ps .T.B.tue. Texas. July 1998. Goossenaerts.S. 36(7):50–56. Available at http://wwwis.au/Elvin/papers/ecscw99/ecscw99. Available at http://www.J. [23] R. Seattle. Moore. Available at http://www.win.pdf .cs. U. Fitzpatrick. and D. Mobile Agents Can Benefit from Standards Efforts on Interagent Communication. 1999. Ndumu.T. T. Ghanea-Hercock. Arnold.ps .dstc. In Submitted to ECSCW’99. Segall.nl/˜wsinatma/Agents/ks ag. May 1999.A. A.. and B. U.uk/User/O.M. Peng. Phelps. Collis. and D. Y.K. Merging a Knowledge Systematization Framework with a Mobile Agent Architecture.C.F. In Proceedings of the Workshop on Agentbased High Performance Computing at Agents’99.A. Control and Management in a Mobile Agent Workflow Architecture. D.cf.edu. ¤ £ £ £ [22] S. J. Mansfield. In Proceedings of the 3rd Conference on the Design of Information Infrastructure Systems for Manufacturing. Kaplan. [21] G. IEEE Communications. Finin. Hammer and. ¤ 33 . D. [24] J.M. and Y. May 1998. Nebesh andM.Rana/agents99/papers/okpapers/ ¤ order/collis. T. Heterogeneous Mobile Agents for Distributed Processing. Labrou. May 1999.S. Aerts.[20] T.ac. and B. S.S. Instrumenting and Augmenting the Workaday World with a Generic Notification Service called Elvin. In Proceedings of the 3rd International Conference on Autonomous Agents (Agents’99). Flester.A. Foster.. Moukas.tu-darmstadt. May 1996. Agent-Mediated Electronic Commerce: A Survey. Tu.ps. [30] A. Gray.S. Maes. 13(2). Using Multiple Mobile Agents for Distributed Transactions. Monterey. u Electronic Contract Negotiation as an Application Niche for Mobile Agents. and J. In M.dartmouth. Dartmouth College. Fourth Annual Tcl/Tk Workshop (TCL 96). USA. ¤ £ Available at [27] F.ito. Griffel. M¨ nke. [26] R. Available ¤ £ £ at ftp://ftp. W. and M. 1997. In 1st International Workshop on Enterprise Distributed Object Computing. December. Mira da Silva.dartmouth.media. editors.pdf .cs.Z . M. Agent Tcl: A Flexible and Secure Mobile Agent System. Knowledge Engineering Review.[25] Robert S. Diekhans and M. Lamersdorf. Sams Publishing. http://www. In Proceedings of the 3rd IFCIS Conference on Cooperative Information Systems (CoopIS’98). Vogler.edu/papers/ker98. Mobile Agents for Mobile Computing. Roseman. Guttman. 1996. Department of Computer Science.edu/˜agent/papers/tcl96. M. [28] D. pages 9–23. Avail¤ £ able at http://ecommerce. and George Cybenko. and P. CA.ps. Available ¤ at http://www. Gulbransen. July 1996. August 1998.ps. T. Creating Web Applets with Java. K.Z . Rawlings.edu/TR/TR96-285. Saurab Nog.de/publs/papers/coopis98. [29] R. Merz. New York. June 1998.mit.gz .cs. David Kotz. A. Technical Report TR96-285. Buchmann H. Daniela Rus. 34 . Gray. In Proceedings of the IEEE Information Technology Conference. Huai and T. £ 1997. In Proceedings of the 3rd ACM/IEEE International Conference on Mobile Computing and Networking.S. Rowe. U. ¤ http://daedalus. (updated) 1999.Y. Development Web ¤ ¤ £ £ [35] IBM.lboro. In Proceedings of the Workshop on Mobile Agents in the Context of Competition and Cooperation at Autonomous Agents ’99.iastate. L.trl. Syracuse. Composable Ad-hoc Mobile Services for Universal Interaction.ps. Web page at http://www.uk/MAC3/ .co. Wong.D. U. N.html . (updated) 1999.ac..berkeley. Mobile Agents in an Electronic Auction House. and L.ibm. [33] Q.html . e-Marketplace. Hodes.jp/aglets/emplace/emplace.html . ¤ £ ¤ £ Available from http://mobility.. 1998.gz .trl.co. May 1999. Kit page at http://www. IBM Aglets (updated) Software 1999.trl. Fiji . Available at http://www. 35 ..A. Servan-Schreiber. Miller.Home Page. Seattle.A. R.Running Aglets in Web Pages. Honavar.cs.edu/publications/services- [32] V.cs. [36] IBM. and J.jp/aglets/index. Katz.ps .[31] T. E.H. Sandholm. ¤ £ Web page at http://www.ibm.S. IBM Aglets Software Development Kit .ibm.jp/aglets/infrastructure/fiji/fiji. Distributed Knowledge Networks. Available at mobicom97.edu/˜honavar/Papers/it98dkn. [34] IBM.co. uk/pub/isag/distributed- ai/publications/aaij991.htm . Available at http://sirac. [41] N. Jacobsen and D. July 1998. Jennings. Journal of Applied Artificial £ ¤ Available at ftp://ftp.ps. ment. University of Tromso. Wooldridge.ac. O’Brien. Autonomous Agents for Business Process ManageIntelligence (to appear).elec. Jennings.uit. Hagimont.edu/IRUS/wisen/wisen98/ .uci. Johansen. Autonomous Agents and Multi-Agent Systems. T. Mobile Software on Mobile Hardware Experiences with TACOMA on PDAs. Odgers.fr/Interne/doc/sirac/publications/INTERNE/ ¤ Soumis/soumis-oopsla-agents. A Roadmap of Agent Research and Development. K. Systems and Applications (OOPSLA’99). 1999. In Proceedings of the International Conference on Object-oriented Programming. and M. 1999. 1998.R.cs.qmw. Department of Computer Science.gz . Technical Report 97-32. and B.no/Lokalt/Rapporter/Reports/9732. editor. ¤ [40] N.R. Workshop on InterAvailable at net Scale Event Notification (WISEN’98). December 1997. A Performance Evaluation of the Mobile Agent Paradigm.J.gz . 36 .ps. ¤ £ £ £ [38] L. Faratin.ics. http://www. Available at http://www. [39] K.[37] Irvine Research Unit in Software. 1:7–38. Ismail and D.imag. Norman. P. Sycara. P. [47] S. Laptop Docking Support for Mobile Agent Based Applications. U. Karnik and A. Seven Good Reasons for Mobile Agents..B. Reich.[42] N.ps . Kotz and R. Available ¤ £ at http://www. pages 124–135.ac. Communications of the ACM. and M. March 1999. Mobile Code: The Future of the Internet. Available at http://discovery. Gray. [43] D.B. Rohrle. In Proceedings of the Workshop on Mobile Agents in the Context of Competition and Cooperation at Autonomous Agents ’99. Design Issues in Mobile Agent Programming Systems. July-September 1998. Lazar and D. Lecture Notes in Computer Science 1477. 1998.edu/Papers/Laptop Support. [45] D. September 1998. 1998.edu/Ajanta/papers/ieeeconc. Lange and M.cs. [44] E. Lange and M. May 1999. Programming and Deploying Java Mobile Agents with Aglets.umbc. K. [46] D.S. Integrating Mobile Agents into the Mobile Middleware. Addison-Wesley. Maryland Center for Telecommunications Research. pages 52–61. Oshima. Sidhu. Oshima. University of Maryland Baltimore County.uk/MAC3/ . ¤ £ 37 .A. IEEE Concurrency.mctr.lboro. Tripathi. In Proceedings of the 2nd International Workshop on Mobile Agents (MA’98). Seattle. Kovacs. Department of Computer Science and Electrical Engineering. Technical report.pdf .umn. ¤ £ Available from http://mobility. 42(3):88–89. Using Mobile Agents to Support Interorganizational Workflow Management. Lange. Digital Nomad. [52] T. Virdhagriswaran.A. [51] P. Merz. Friedman. C. Sterling. October 1998. 1997. 1997. [50] Z. Busse. Communications of the ACM. Breugst. In Proceedings of the 2nd International Workshop on Mobile Agents (MA’98). Oshima. Guttman. Tham. Liberman. Maamar. Agents That Buy and Sell. I. S. A Knowledge-based Approach to Domain-specialized Information Agents. White. M. Sonenberg. Manners. Makimoto and D. March 1999.. B. Communications of the ACM. Loke. [54] D.H. Delaware. L. Maes. In Proceedings of the 9th IFIP/IEEE International Workshop on Distributed Systems: Operations and Management. S. [49] M.[48] S. 9(2):140–152. B. Lamersdorf. K. September 1998. Applied Artificial Intelligence.G.W.S. 11(6):551–572. John Wiley & Sons. R. 1999. and W. J. Ono. M. Kosaka. Covaci. Campbell. Agents in E-commerce. Journal of Internet Research: Electronic Networking Applications and Policy. and A. 38 . and J. 42(3):78–80. Ma. MASIF: The OMG Mobile Agent System Interoperability Facility. pages 50–67. Newark. Lecture Notes in Computer Science 1477. 42(3):81–91. Moukas. U. [53] M. March 1999. D. and L. Milojicic. A Data Warehousing Environment Based on Software and Mobile Agents. K. Edwards.edu/agents/introduction/ao/ . March 1999.ac.cs. 11(3):205–244. G. Edwards. and E.uk/MAC3/ . May 1998.cs. Available at http://ada.[55] H.lboro. ¤ £ Available at http://luckyspc. Papastavrou.ac.pdf .lboro. Pitoura. and Agility: Can Mobile Agents Help? grated Computer-Aided Engineering (to appear). Edwards. In Proceedings of the Agent Based Manufacturing Workshop at Autonomous Agents’98. 1999.ac. Available ¤ £ at http://mobility. Harkey. Software Agents: An Overview. Papaioannou and N. Bonn. Instant CORBA.uk/Docs/Papers/Agents98. Sydney. Minar. Mobile Agents for WWW Distributed Database Access. [60] S. and J. Samaras. Workshop on Mobile Agents in the Context of Competition and Co-operation at Agents’99. Addison Wesley. editors.cy/˜cssamara/DBMS-Agents/Paper/papastavrous. Orfali. http://www. September 1996. Australia.html . Manufacturing System Performance Special Issue of InteAvailable at [58] T.S. Papaioannou and J. [57] T.ucy.uk/Docs/Papers/Icae98. ¤ £ 39 . ¤ £ [56] R. Papaioannou and J.ps . Nwana.lboro. D.ac. ¤ £ [59] T. Mobile Agent Technology Enabling the Virtual Enterprise: A Pattern for Database Query. 1998. Knowledge EnAvailable at gineering Review. In Proceedings of the 15th International Conference on Data Engineering. May 1999. http://luckyspc.umbc. April 1997. 1997. Incorporating Transportable Software Agents into a Wide Area High Performance Distributed Data Mining System. Springer-Verlag. IEEE Communications.cam. In Proceedings of the Workshop on Supplychain Management at Agrosoft’97.T.[61] V. July 1998. MA ’98: Proceedings of the 2nd International Workshop on Mobile Agents. Available at http://www. Xenoservers: In £ ¤ £ I. Early. editors. Electrical Engineering and Computer Science. Untrusted 1999.html . [64] D.M. P. Menage. 40 . 36(7):26–37. [65] K. number 1219 in Lecture Notes in Computer Science. Pham and A. Stratford. [66] K. S. editors. MA ’97: Proceedings of the 1st International Workshop on Mobile Agents.ufsc.br/english/files/agro3. [63] A. Ramu. Rothermel and F.uk/Research/SRG/netos/xeno/hotos1/ ¤ index. Pratt.gsigmagrucon. Programs. number 1477 in Lecture Notes in Computer Science.J. Reed. Mobile Software Agents: An Overview. Rothermel and R. [62] R. of and N. Spinosa.A.ac. Hohl.cl. at Accountable in Execution Systems. University of Illinois. Springer-Verlag. Master’s thesis. Critical Research Issues in Agent-based Manufacturing Supply Webs. Karmouch. Popescu-Zeletin.zip . Rabelo and L. Hot Topics Operating Available http://www. 1998. September 1998. [68] A.au/Elvin/doc/papers/auug97/AUUG97.ca/publication/abm.htm . Avail£ able at http://www. P T R PrenticeHall. ACM Press. http://imsg. Segall and D. 1998. June 1999. [69] B. Brain.enme. Agent-Based Systems for IntelSurvey. [71] P. editors. 41 . Rubin. Australia. In Katia P. Available at http://www. Sycara and Michael Wooldridge. 1998. 7(4):355–382. Proceedings of the 2nd International Conference on Autonomous Agents (Agents’98). Norrie. Knowledge Available at Systems. 1999.uni¤ stuttgart.H. [72] M. Sahai and C. September 1997. Mobile Agents for Enabling Mobile User Aware Applications.edu. ings of AUUG97. Reliability Concepts for Mo- International Journal of Cooperative Information Sys£ tems.html#1998-strasser-02 . Elvin has Left the Building: a Pub- lish/subscribe Notification Service with Quenching . M. Morin. May 9–13. ¤ [70] W.ucalgary. 1998. New York. pages 205–211. Rubin.pdf .html . bile Agents.informatik.[67] W. Brisbane. ligent and £ Manufacturing: Information A State-of-the-Art 1(2):129–156. Shen and D. £ In ProceedAvailable at ¤ http://www. Understanding DCOM. Rothermel.acm. Stanski.org/pubs/articles/proceedings/ai/280765/p205¤ sahai/p205-sahai.dstc. and R. Private Communication. Strasser and K.de/ipvr/vs/Publications/Publications. Arnold. cmu. ¤ £ Full paper available at http://www.A. J.com/CoopDS/Agents99/szirbik. Dis- [74] K.vtt. Decker.fi/tte/samba/staff/tav/aois99-kt.sun. Mobile Agent Support for Tracking Products in Virtual Enterprises. In Proceedings of Workshop on Agents for Electronic Commerce and Managing the InternetEnabled Supply Chain. Tarau.cs. Zeng.M. S.edu/˜softagents/papers/ieee-agents96. The Future of Enterprise Groupware Applications. Wade.html .S. Seattle. Fuller. Taveter. [76] P. tributed Intelligent Agents. Design. Nixon.B.research. Business Rules’ Approach to the Modelling. U.edu/˜tarau/research/99/jpaper. Hammer.[73] Sun Microsystems Inc. [78] S. Aerts. U. Seattle. Terzis. Sycara. K.. Jini(tm) Connection Technology. May 1999. U. Washington.M. In Proceedings of the 1st International 42 . Available ¤ at http://www.K.S. and A.ibm..unt. 1999. IEEE Expert. and J.cs. and D. In Proceedings of the Practical Application of Intelligent Agents and Multi-Agent Technology.gz . M. A. Jinni: Intelligent Mobile Agent Programming at the Intersection of Java and Prolog. London. 1999.. ¤ £ [75] N. December 1996.T. and Implementation of Agent-Oriented Information Systems (Poster). V. Available at http://www.ps. Pannu.ps . April 1999. Web page ¤ £ £ at http://www. P. Available ¤ £ from http://www.A. Goossenaerts. D. Williamson.ps . In Proceedings of the Workshop on Agent-oriented Information Systems at Agents ’99.com/jini/ . Dobson. Szirbik. [77] K. Tu. [81] D. Solve Real Problems with Aglets. Sun.ibm. Rothermel. June 1999. Efficient Dissemination of Mobile Agents. Chanson. pages 222–236. Available at 05-1997/jw-05-hood. a Type of Mobile Agent. Berlin. and W. S. Germany. Lamersdorf. [80] M. and P. T. Proc.com/CoopDS/Agents99/veeramani.research. In K. Veeramani.S.ps . Stuttgart. Available at ¤ http://www. Available at http://www. Mobile Agents and Security. ¤ http://www. Washington. editor. M. 43 .cs. A Plug-in Architecture Providing Dynamic Negotiation Capabilities for Mobile Agents.A. Hohl. Java£ World. Griffel. U.ie/Virtues/Papers/Groupware iceis99.com/javaworld/jw- [83] G. volume 1477 of Lecture Notes in Computer Science. 2nd Int. Rothermel and F. In Proceedings of Workshop on Agents for Electronic Commerce and Managing the Internet-Enabled Supply Chain. P. number 1419 in Lecture Notes in Computer Science. Seattle. ¤ £ £ [79] W.html . Springer-Verlag. Proceedings of the 19th International Conference on Distributed Systems Workshop. May 1997. F. [82] B. Vigna. Critical Research Issues in Agent-based Manufacturing Supply Webs. Tygar. Workshop on Mobile Agents. D.ps .javaworld. 1998.. Springer-Verlag. Joshi. and V. Venners. In W.tcd. Dasgupta. pages 9–14. March 1999. Merz. May 1999.Conference on Enterprise Information Systems. Theilmann and K. editors. 1998. Sharma. editors. Dillencourt. Paciorek. 44 . In Proceedings of the 2nd International Workshop on Mobile Agents (MA’98).tudarmstadt. Wong.-L. Tunis. Distributed Transaction Processing as a Reliability Concept for Mobile Agents. Available at http://www. White.[84] L. Kunkelmann. http://www. T. pointment £ M. 1994. [87] C.edu/hyplan/nswoboda/b629/aglets meeting/ ¤ tiny/readme. Lecture Notes in Computer Science 1477. CA 94040. M. Tunisia.indiana. Wicke.ito. and D. Bic. White paper. Communications of the ACM.ics.E. Inc.B. [86] J. N. September 1998. and M. In Proceedings of the 6th IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’97). L. March 1999. December 1997. General Magic. A Distributed ApWeb page at http://www. Mountain View.edu/˜bic/messengers/MA98. October 1997.cs. and M. Vogler.z .ps. [85] H.ps . 2465 Latham Street. Java-based Mobile Agents.uci. Swoboda. Fukuda. Heitz. Scheduler.F. Moore.de/publs/papers/ftdcs97. Automatic State Capture of Self-Migrating Computations in MESSENGERS.html . Moschgath. ¤ £ ¤ £ Available at [88] D. Vinke. 42(3):92–102. Telescript Technology: The Foundation for the Electronic Marketplace. and N.. 45 .com/Agent98. [91] J. [90] Y. and J.edu/afs/cs. T. Miller. Schmid. Jennings. Bode. May 1998. Practice. P. and L. £ Intelligent Agents: Theory and Available at Knowledge Engineering Review. Oriented and Role Based A Conceptual Framework for Agent Workflow Modeling.cs. Wooldridge and N. Yan. V. http://www. Available at ftp://fireflow.cmu.qmw. [92] L. Applications of Multiagent Systems in Project Management. In Proceedings of the 2nd International Conference on Autonomous Agents.zip .[89] M. 1998. Honavar. Full paper available at ¤ http://www. June 1999.uk/dai/pubs/KER95/ . Pai. Yang. Germany.ch/people/lyu/yuAOIS99. 1995.F.ps . Kuphal. In Proceed- ings of the Workshop on Agent-oriented Information Systems at CAiSE’99. ¤ http://www.unisg.cmu. Yu and B.ac. Heidelberg. Mobile IntelA Ma¤ £ ligent Agents for Document Classification and Retrieval: chine Learning Approach.pdf . 10(2).elec. In Proceedings of the European SymAvailable at posium on Cybernetics and Systems Research.edu/user/honavar/www/ ¤ £ £ Papers/emcsr98.mcm.