Towards an Infrastructure for Internet Enabled Collaborative Agent Systems Weiming SHEN and Douglas H. NORRIE Div. of Manufacturing Engineering, The University of Calgary, Calgary, Alberta, Canada E-mail: [wshen | norrie]@enme.ucalgary.ca, URL: http://imsg.enme.ucalgary.ca/ Rob KREMER Dept. of Computer Science, The University of Calgary, Calgary, Alberta, Canada E-mail:
[email protected], URL: http://sern.cpsc.ucalgary.ca/CAG/
Abstract This paper presents some results of our recent research work towards an infrastructure for Internet enabled collaborative agent systems (particularly complex industrial collaborative agent systems). Although the infrastructure and the related agent system architecture, basic communication and cooperation services, components, prototypes, mechanisms and toolkits are proposed and developed for Internet enabled collaborative agent systems in all kinds of application areas, they are primarily targeted for implementing Internet enabled complex supply chain networks (or virtual enterprises) and distributed intelligent manufacturing systems. The general collaborative agent system architecture with the basic communication and cooperation services, domain independent components, prototypes and mechanisms are described. A case study of implementing a simplified supply chain is presented.
1. INTRODUCTION The technology used to create the infrastructure supporting an agent-based system affects how much of the collaborative intelligence resides in support structures that are domain-independent and how much resides within the agents themselves. The choice of technology affects the degree of autonomous, asynchronous, concurrent, or persistent activity that can occur; the way information is stored and shared; and how agents communicate, cooperate and collaborate. Designing an agent community for a special real world industrial application often requires a very early commitment to many of the most important parameters, particularly in the choice of infrastructure technologies. The Internet has evolved from an information space to a market space in the past few years. There is a tendency towards implementing real world agent-based applications based on the Internet, and using Java as a primary programming language to realize this implementation. However, Internet-based (also called Web-based) agents are quite different from typed-message agents (Petrie, 1996). Petrie (1996) provided an excellent review of some related techniques proposed in the literature for connecting agents to the Internet, described several possible solutions and pointed out some existed problems to be solved. The proposed solution is primarily based on JAT (http://cdr.stanford.edu/ABE/JavaAgent.html). One of the JAT applications for Internet-based knowledge acquisition was reported by Crow and Shadbolt (1998). A review of some other Java-based agent development toolkits can be found in (Bigus and Bigus, 1998).
1
We don’t intend to develop client-server type Internet based multi-agent systems, but we are trying to develop collaborative agent systems using Internet technology and the Java programming language, which raises a challenge to integrate typed-message agents with Internet-based client-server type agents. This paper presents some results of our recent research work in this area, including an Infrastructure for Collaborative Agent Systems (ICAS), a general Collaborative Agent System Architecture (CASA), basic communication and cooperation services, domain independent components, prototypes and mechanisms. The rest of the paper is organized as follows: Section 2 describes the proposed infrastructure with the agent system architecture, basic communication and cooperation services, related components and mechanisms; Section 3 briefly presents a case study of implementing Internet enabled supply chain using collaborative agents; Section 4 discusses some related research work in the literature; Section 5 gives some concluding remarks and perspectives.
2. AN INFRASTRUCTURE FOR INTERNET ENABLED COLLABORATIVE AGENT SYSTEMS 2.1 Motivations and Objectives At the University of Calgary, a number of research projects related to multi-agent systems and their applications in collaborative engineering design and manufacturing have been undergoing since 1991. These projects include IAO (Kwok and Norrie, 1993), Mediator (Gaines, Norrie, and Lapsley, 1995), ABCDE (Balasubramanian, Maturana, and Norrie, 1996), Metamorph I (Maturana and Norrie, 1996; Maturana, Shen, and Norrie, 1999), MetaMorph II (Shen, Xue, and Norrie, 1998), Agent-Based Intelligent Control (Brennan, Balasubramanian, and Norrie, 1997; Wang, Balasubramanian, and Norrie, 1998), and Agent-Based Manufacturing Scheduling (Shen and Norrie, 1998). Based on our previous research results, a new general Collaborative Agent System Architecture (CASA) and an Infrastructure for Collaborative Agent Systems (ICAS) are proposed and being developed for the following reasons: -
a generic domain independent architecture is more reusable than a domain specific architecture;
-
several interesting techniques and mechanisms have been developed and proved during our previous projects, and they may become more interesting and useful after being developed into domain independent modules and mechanisms;
-
emergent Internet technology and the Java programming language allow us to develop agent-based systems in a different way than previously.
The primary objective of this research work is to demonstrate that a generic architecture can be developed for multi-agent systems, with collaborative and adaptive capabilities, and with an efficient type of communication and cooperation infrastructure. Figure 1 shows the proposed Infrastructure for Collaborative Agent Systems (ICAS). It can also be considered as a high-level architecture for collaborative agent systems composed of both vertical and horizontal functional layers. Each layer is comprised of entities which are considered to be agents, since in some measure they will exhibit autonomy and intelligence and communicate using messages. Entities such as databases and hardware which might otherwise be
2
regarded as non-agents, are here considered to be “wrapped” with an agent wrapper so they appear as agents, even in cases where their autonomy and intelligence may be low or nominal. The reason for using a layered architecture is that it has been found, from both our own and other researches that specialization within an agent system yields a more efficient and comprehensible structure and facilitates implementation. The agents in the Existing Software and Hardware layer comprise existing legacy software (e.g., databases, commercially available computational tools) and hardware entities together with their associated software. Existing software could easily be wrapped into agents. Hardware entities include hardware control interfaces, computers, networks, machines and devices, with wrappers (interfaces) sufficient to allow them to appear as agents. The agents in all of the remaining layers are software entities. In the central vertical layers shown in Figure 1, the agents will be generated from prototypes stored in the Prototypes layer. Commonly, there will be more than one prototype for each layer. However, the number of prototypes needed for each layer will be minimized by “partial agent cloning” (see Section 2.4). Agents are connected and communicate using the Internet/Intranet or local networks. The basic communication and cooperation services are developed on top of the Internet and some lowerlevel network communication primitives (detailed in Section 2.2), and thus provide a communication and cooperation infrastructure for collaborative agent systems. The proposed collaborative agent system architecture includes a number of domain independent components or modules such as collaborative interface agents, high-level collaboration agents, knowledge management (KM) servers (or agents), and ontology server(s) etc (detailed in Section 2.3), which utilize the basic communication and cooperation services. It also comprises several prototypes and mechanisms for system organization, coordination and adaptation (detailed in Section 2.4). Applications Internet/Intranet/LAN Basic Communication & Cooperation Services
Interface Agents Prototypes & Mechanisms for System Organization, Coordination, & Adaptation etc.
High-Level Collaboration Agents Knowledge Management Agents
Existing Software and Hardware
Ontology Servers Other Domain Independent Modules
Figure 1. Infrastructure for Collaborative Agent Systems 2.2 Basic Communication and Cooperation Services Communication among agents in CASA is supported by the Basic Communication and Cooperation Services layer, which offers a generic communication and cooperation infrastructure for message passing, archiving (data, knowledge bases, and transaction histories), agent lookup, and remote agent access. It is an open system infrastructure which may be easily extended as the need for future services becomes apparent.
3
As shown in Figure 2, the server acts as a central “hub” for multi-agent conversations such that all participants may send messages directly to the server for point-to-point, multi-cast, and broadcast communication within the cooperation domain (a group of agents working together on some task). Agents within a cooperation domain may also use the server to store persistent data that will permanently be associated with the conversation, giving the conversation a lifetime beyond the transient participation of the agents, as is often required. Servers may also store transaction histories for future playback of the chronological development of the conversation artifacts. Servers may perform all these tasks because all messages use KQML (Finin and Labrou, 1997), which flexibly provides a basic semantic “wrapper” on messages that may be otherwise domain specific: both the utility of generic services and the efficiency of domain specific languages are therefore provided. repository of cooperation domains and associated persistent data handles an active cooperation domain
a place where agents execute (often a single computer) acts as the representative of an area: coordinates between agents and yellow pages; may activate a dormant agent on request
Server Cooperation Domain Server
allows lookup of agents by service
Yellow Pages
Cooperation Domain Server
Area Local Area Coordinator
Agent Agent
usually registers itself with the LAC; can participate in cooperation domains to offer or receive some service
Figure 2. Basic Communication and Cooperation Services in CASA Yellow page servers (also called Yellow Page Agents, Yellow Pages, or YPs) allow agents to look up other agents by the services they offer. An area is defined nominally as a single computer (but could be a cluster of several computers, or a partition on a single computer). There is exactly one local area coordinator (LAC) per area, which is responsible for local coordination and tasks such as “waking up” a local agent on behalf of a remote agent. All application agents reside in one or more areas. Conversation policies are patterns of communication to be adhered to by collaborating agents. The functions of conversation policies are: first, they define causal-relation sequences of messages; and, second, they describe how agents react to these messages during interactions. The following protocols are defined for the architecture: - Registration: for registering an agent as part of an area; - Advertisement: for advertising agent services; - Search: for querying about advertised services; - Service Provision: for requesting services from other agents; - Cooperation Domain Subscription: for joining a cooperation domain; - Cooperation Domain Invitation: for requesting an agent to join a cooperation domain.
4
Messages are needed to support interactions among agents. Messages are generically defined either as request, reply or inform messages; where requests are used to ask for the provision of a service, replies to answer requests, and informs to notify agents without expecting a response. Since these messages are too ambiguous for the definition of interaction protocols, other more meaningful message types are derived from general definitions of messages. For example, advertisement_request is derived from request for an agent to request to be registered (with a yellow pages agent) as providing some particular agent service. Conversation policies are represented by a notation consisting of nodes and directed arcs. Nodes represent one state of an interaction. There is one initial node marking the beginning of the conversation, and there might be one or more nodes representing terminal states. Arcs connect nodes, and represent the messages that could be chosen to proceed from one state to another. We have developed new approaches for Conversation Policies, using schemas for representation and execution and Colored Petri Nets for design and verification. A detailed description of these approaches have been reported separately (Lin et al., 1999). An alternative approach for clearly representing interactions and dialogues among collaborative agents has also been proposed (Flores-Méndez, Wijngaards, and Kremer, 1999). The detailed representation of conversation (or dialogue) among collaborative agents using the state transition diagram (STD) can facilitate the agent and agent system implementation. An example of a conversation policy is an advertisement conversation. Agents wishing to advertise services with (or withdraw an advertisement from) a yellow pages agent follow this policy. The dynamics of this conversation, which is shown in Figure 3, are as follows: first, the agent with a service to (un)advertise sends a message to its LAC in which this operation is requested. The LAC can reject this request (e.g., there is no yellow page agent available), or can forward it to a known yellow page agent. At this point, the yellow page agent can accept or reject the request in a reply message sent to the agent via the agent’s LAC.
Figure 3. Advertisement conversation policy diagram 2.3 Domain Independent Modules or Components As described in Section 2.1, the main objective of CASA is to support collaborative software agents by providing easy-to-use domain independent services, which can be used to develop not only agent-based intelligent manufacturing systems, but also agent-based applications in other areas. However, our research focus is still on the applications of this architecture in developing intelligent manufacturing systems.
5
The collaborative agent system organization, coordination and adaptation and some other domain independent prototypes and mechanisms as shown in Figure 1 have been separately proposed and developed during our previous research projects (see Section 2.4 for details). We are now working on defining and developing several domain independent components such as collaborative user interface agents, high-level collaboration agents, knowledge management (KM) servers (or agents), ontology server(s) and so on. As shown in Figure 1, these components utilize the basic communication and cooperation services provided by CASA. All these components will become domain specific when implemented for a specific application and filled with domain specific information and knowledge. Detailed descriptions of these components are being written in separate reports and papers by other group members, and are out of scope of this paper. However, we will give a brief introduction of these components here. Collaborative Interface Agents Effective human-system interfaces are essential for industrial or commercial applications. It is therefore proposed to incorporate Collaborative Interface Agents as an integral part of the system design. An interface software layer will be developed as a “wrapper”, so that an interface will appear to the system as just another agent. Concept mapping techniques (Kremer and Gaines, 1996) will be used to generate screen representations of information received by the interface. Constraint graph techniques (Kremer, 1997) will provide support for manipulation of visual items and enable interface agents to interpret (the meaning of) such user actions. Categories of visual representations will be selected from recommendations of high-priority usage, put forward by the industrial partners for the proof-of-concept prototypes. Agents are often defined by their fundamental characteristics such as autonomous, communicative, collaborative, deliberative, reactive, pro-active, adaptive, etc, though agents in a specific multi-agent system do not have all these characteristics. We consider that (domain independent) collaborative interface agents may have the following characteristics: -
Communicative: able to interact with other agents through communication;
-
Semiautonomous: neither always under the control of humans or other agents, nor completely autonomous, i.e., humans should be able to control the amount of agent autonomy;
-
Collaborative: able to interact and collaborate with humans using structured natural language and other machine agents using speech act language (collaborative interactions allow interface agents to resolve conflicts and inconsistency in information, current tasks, and world models, thus improving their decision-support capabilities);
-
Reactive: able to react in a timely and appropriately manner to unforeseen events and to changes in its environment;
-
Pro-active: able to assist humans with the goal-directed behavior by taking the initiative;
-
Adaptive: able to accommodate changing user needs and task environments;
-
Self-aware: knows its own capability and the limit of its discretion, and then does not act over the limit.
-
Mobile: able to migrate through the Internet so that humans can open the interface, e.g., on a web browser, anywhere in the world (such interface is distinct from traditional web
6
pages, it should be an interface agent with one or more of above mentioned characteristics). The development of collaborative interface agents is one of our current research projects, and the results will be reported separately. High-Level Collaboration Agents Although several CASA components such as YPs and LACs also provide basic collaboration (cooperation) services, some complex large collaborative agent systems often need more highlevel and domain specific collaboration services which cannot be covered by YPs and LACs. In order to meet such requirements, the high-level collaboration agent is proposed as one of the important components for CASA. An example of this type of collaboration agent can be found in the case study described in the following section, i.e., Production Collaboration Agent. Such collaboration agents may be implemented by mediators as proposed and developed in our previous projects (Gaines, Norrie, and Lapsley, 1995; Maturana, Shen, and Norrie, 1999). In most cases, they are static, but they can also be implemented using dynamic mediators. Knowledge Management Agents Knowledge management is one of the most important issues in developing multi-agent systems. Typically, there are two approaches to knowledge management in multi-agent systems: -
Knowledge is distributed among agents, i.e., every agent is implemented with a knowledge management module including knowledge acquisition, representation and reasoning mechanisms. This approach is widely used in autonomous agent systems.
-
Some knowledge management agents are used to centralize knowledge management. Despite some shortcomings of centralization, this approach has some advantages, e.g., it can facilitate knowledge acquisition and reduce communication overheads. It is very suitable for federated multi-agent systems and for the agent-based systems with a large number of agents, e.g., manufacturing production systems with resources being modeled as resource agents (Maturana, Shen, and Norrie, 1999).
Our approach to this issue is to combine the above mentioned two approaches, i.e., in addition to distribute some knowledge among agents, several knowledge management agents are developed for specific problems. A knowledge management agent is usually associated with one or more databases and knowledge bases. The key issues to develop knowledge management agents are to develop efficient mechanisms for knowledge acquisition, representation, learning and reasoning. Note that some simple knowledge management agents may be implemented by Yellow Page Agents in CASA. Ontology Server(s) An ontology is an explicit specification of a conceptualization. A conceptualization is an abstract, simplified view of the world that we wish to represent for some purpose. Since the set of objects and relationships in an agent are reflected in the representational vocabulary, an ontology can be given as a set of definitions for this shared vocabulary. In the context of multiple agents, a common ontology can serve as a knowledge-level specification of the ontological commitments of a set of participating agents. A common ontology defines the vocabulary with which queries and assertions are exchanged among agents.
7
The development and maintenance of ontologies require special formalisms and languages. Ontolingua (Gruber, 93) was developed to this purpose. Ontolingua allows one to define and to maintain ontologies by providing forms for defining classes, relations, functions, objects, and theories. Ontologies written in Ontolingua can thereby be shared by multiple users and research groups using their own favorite representation systems, and can be ported from system to system. As one of the important components for our proposed infrastructure, ontology server(s) will be developed using Ontolingua. The ontology server structure and related mechanisms are initially domain independent. It becomes domain specific when filled with domain specific ontologies for a specific application, e.g., manufacturing production planning. Of course, it is not difficult to define the structure and mechanisms for an ontology server, but it is extremely difficult to develop and complete an efficient ontology server for an application domain. However, it has not been developed during our prototype implementation. 2.4 Prototypes and Mechanisms for System Organization, Coordination and Adaptation The organization, coordination, adaptation and some other domain independent mechanisms as shown in Figure 1 have been separately proposed and developed during our previous research projects. These mechanisms include: - Agent-Based Mediator-Centric Organization - Task Decomposition - Virtual Clustering - Partial Agent Cloning - Adaptation and Learning Agent-Based Mediator-Centric Organization Mediators are intended to encapsulate various manufacturing behaviors to facilitate the coordination of heterogeneous intelligent agents. A generic model for the design of mediators, based on the specification of various meta-level activities, was proposed and implemented during the MetaMorph I project (Maturana and Norrie, 1996). Such a generic model can enable different types of mediators to be created for various activities in the factory. These meta-level activities are high-level abstractions of behaviors that follow common patterns typical of different areas of expertise within the manufacturing system. A product’s life cycle transits through these patterns at different stages of planning, scheduling, and control activity. The generic model for mediators includes the following seven meta-level activities: Enterprise, Product Specification and Design, Virtual Organizations, Planning and Scheduling, Execution, Communication, and Learning. Each instantiated mediator includes some or all of these activities to a varying extent. Prototyping with this generic model allows the creation of diverse types of mediators. For example, a mediator may be specialized for organizational issues (enterprise mediator) or for shop-floor production coordination (execution mediator). Although each of these mediator types will have different manufacturing knowledge, both conform to a similar generic specification. More information about this generic model can be found in (Maturana and Norrie, 1996). Task Decomposition Mechanism The task decomposition mechanism developed during the MetaMorph I & II projects is one of the core mechanisms needed in agent-based manufacturing systems. Through this mechanism,
8
high-level tasks are decomposed initially by mediators acting at the corresponding information level. Each subtask is subsequently distributed to agent clusters to determine the best solution plan. Mediators can learn dynamically from the agent interactions and identify clusters that can be used for distributed resolution of tasks. Subtasks are then further decomposed, and allocated through negotiation among resource agents. See (Maturana and Norrie, 1996) and (Shen, Xue, and Norrie, 1998) for more details. Virtual Clustering Mechanism The virtual clustering mechanism was proposed and developed during the MetaMorph I project. To work cooperatively, agents may form clusters that bond dissimilar agents into harmonious decision groups. Multistage negotiation and coordination protocols that can efficiently maintain the stability of these clusters are required. Each agent has its individual representation of the external world, goals, and constraints, so diverse heterogeneous beliefs interact within a cluster through distributed cooperation models. Through the virtual clustering mechanism, agents can be dynamically contracted to participate in a problem-solving group (cluster). In the situation where the agents in the problem-solving group (cluster) are only able to partially complete the task, the agents will seek help outside their cluster. This results in sub-clusters being formed for sub-tasks. This process is repeated, with sub-clusters being formed and then sub-sub-clusters etc as needed, within a dynamically interlinked structure. As the respective tasks and subtasks are solved, the related clusters and links are dissolved. However, mediators will store the most relevant links with associated task information for future re-use. This clustering process, as implemented, provides scalability and aggregation properties to the system. Partial Agent Cloning Mechanism The agent (partial) cloning mechanism was proposed and implemented during the MetaMorph project. Through this mechanism, resource agents can be partially cloned as needed for concurrent information processing. These partial clone agents can then participate in virtual coordination clusters where agents negotiate with each other to find the best solution for a production task. A detailed description of this mechanism can be found in (Maturana and Norrie, 1996). In a simulation, resource agents can be objects with goals and associated motivations, located in the same computer. Such clone agents are, in fact, clone objects. In a real implementation, the cloning mechanism can be used to partially ‘clone’ resource agents from remote resources (e.g., CNC and other manufacturing machines) to the computer where the resource mediators reside, so as to reduce communication time and consequently to reduce scheduling and rescheduling time. Adaptation and Learning Two fundamental learning mechanisms have been implemented in MetaMorph to enhance the system’s performance and responsiveness, with mediators playing an essential role in both mechanisms. First, a mechanism that allows mediators to learn from history is developed at the resource mediator level to capture significant multi-agent interactions and behaviors. Second, a mechanism for propagating the system’s behavior into the future is implemented to help mediators ‘to learn from the future’.
9
A ‘learning from history’ mechanism based on distributed case-based learning approach was developed for capturing agents’ behavioral patterns at the resource mediator level and storing these in its knowledge base. Such knowledge is then reused for later manufacturing requests, through an extended case-based reasoning mechanism. The main purpose of ‘learning from the future’ is to modify promissory schedules at the resource agent level for otherwise unforeseen perturbations and changes in production priorities on the shop floor. The forecasting process simulates the behavior of the virtual model which emulates the shop-floor activities. By partially projecting ‘unpredictable behaviors’ and agent interactions, the agent-based manufacturing system is able to correct its real-world model and provide more accurate plans. A detailed description of these learning and reasoning mechanisms in MetaMorph have been presented in (Shen, Maturana, and Norrie, 1998).
3. APPLICATION EXAMPLE - INTERNET ENABLED SUPPLY CHAIN Several case studies of using proposed architecture and related components and mechanisms are underway in collaboration with industrial partners, including multi-factory production planning (Shen, Norrie, and Kremer, 1999) and Internet enabled supply chain management (Shen et al., 1999). This section provides a brief description of the second case study – “Implementing the Internet enabled supply chain using collaborative agents”. This is a complex real case study in collaboration with industrial partners. Due to space limitations, this section only gives an extraction of the case study for showing the functions of the above mentioned components in the agent-based supply chain. 3.1 Conceptual Description In the context of this case study, Supply Chain Management (SCM) is a corporate-wide initiative that includes teams from Corporate, Business Units, and Marketing Regions. It is the implementation of a common set of processes, applications, and performance measurements for the corporation. Therefore, it is the management of all interactions involved in the initialization of an order to the delivery of that order’s products to the customer. The real case study is very complex, here we just take an extraction of a case which involves a customer, the corporate’s Marketing and Operations Management center (MktOM), 2 factories, 2 parts suppliers and 1 materials supplier (Figure 4). The customer places an order for buying 100 handsets (mobile phones) of type A and 50 handsets of type B. Factory 1 can produce handsets A, and needs parts from Parts Suppliers 1 & 2, and some other materials from Materials Supplier 1. Factory 2 can produce handsets B, and needs parts from Parts Supplier 2 and materials from Materials Supplier 1. 3.2 Scenario at a Glance -
The customer wants to order some handsets, and uses “CIA1 for Customers” to search a suitable marketing service; CIA1 finds out MktOM through YP1 and LAC1; The customer (through CIA1) negotiates with MktOM for product types, prices and delivery date etc through the Cooperation Domain Server 1 (CDS1), and finally places an order of 100 handsets A and 50 handsets B through the CIA1;
10
-
MktOM receives the order and sends a confirmation to CIA1; MktOM requests KMA to complete task decomposition and find suitable factories for production; MktOM sends decomposed tasks to HCA which then assigns production tasks to related factories (Factory 1 and Factory 2); Factory 1 needs to contact Parts Suppliers 1 & 2 and Materials Supplier 1 (through YP2, LAC1, LAC2, LAC3 & LAC4); Factory 2 needs to contact Parts Supplier 2 and Materials Supplier 1 (through YP2, LAC1, LAC3 & LAC4); The negotiation, cooperation among factories and suppliers is facilitated by CDS2; Marketing managers and production managers can use related CIAs for monitoring and making decisions; All Cooperation Domain Servers are connected with the Ontology Server for translating messages from different agents into a common format so as to facilitate the communication, negotiation and cooperation. Cooperation Domain Server 1 (CDS1)
CIA1 for Customer YP1
CIA
Ontology Server
KMA
Corporate MktOM LAC1 HCA CIA
CIA
Factory 1
Factory 2 YP2
LAC2
CIA Parts Supplier 1
CIA
LAC4
Materials Supplier 1
CIA
LAC3
Parts Supplier 2
Cooperation Domain Server 2 (CDS2)
Figure 4. A Scenario for a Simplified Supply Chain
11
3.3 ICAS Support to the Case Scenario The ICAS infrastructure supports the situation in the case study in the following ways: - Cooperation Domain Servers are used to facilitate the cooperation and negotiation between customers and the corporate marketing service (CDS1 in Figure 4), and between the factories and there parts and materials suppliers (so-called business-to-business commerce) (CDS2 in Figure 4). - Collaborative Interface Agents are employed for placing orders by customers; displaying product orders, production scheduling and progress information for marketing, operation, and production managers; and allowing these managers to make decisions. - The Ontology Server functions as a translator during the conversation among different agents through cooperation domain servers. - YPs provide look-up and search services for customers to find production information and related marketing services, and for factories to find suitable suppliers for parts and materials. - The HCA functions as a coordinator of Factory 1 and Factory 2 for coordinating the production planning. - The KMA provides support for decision-making on the part of Marketing and Operations Managers, particularly during the task decomposition process. - In this case, the advantages of LACs are not very evident. But they become extremely useful for a complex and widely distributed supply chain. - The Virtual Clustering mechanism is needed to form a group of agents for negotiation (e.g., Factory 1, Parts Suppliers 1 & 2 and Materials Supplier 1 are formed into a cluster for parts and materials supply negotiation). - Other components and mechanisms are not found in this simplified case, but are needed and will be used in the real case study.
4. RELATED WORK The proposed collaborative agent system architecture (CASA) has some similarity to MIX (Iglesias et al 1996) which is a federated architecture for the design of multi-agent systems that allows an integration of both connectionist and symbolic subsystems. MIX consists of the agent model describing the structure of an individual agent, and the network model defining the communication infrastructure used by agents. A distinction is drawn between agents offering network-related services (so-called network agents) and application agents. The network model offers various facilities like a yellow-page service, coordination facilities, and rudimentary knowledge facilities supporting communication among heterogeneous information agents. But the communication and cooperation services provided by CASA and ICAS are quite different from those proposed by MIX. IMPS developed by Crow and Shadbolt (1998) is also an Internet based multi-agent system. But it is just a simple application of JAT for knowledge acquisition through the Internet. While ICAS and CASA can be used for developing more complex Internet enabled collaborative agent systems. Some ICAS components (e.g., Interface Agents) and mechanisms (e.g., planning, scheduling and execution monitoring) are similar to those developed in RETSINA (Shehory et al., 1999), while ICAS provides more basic components and services for implementing Internet enabled
12
collaborative agent systems. RETISINA focuses on agent architecture, while ICAS focuses on agent system infrastructure. The proposed agent system architecture, communication and cooperation infrastructure and related services, components and mechanisms are based on our previous related research projects and also a number of multi-agent system architectures, infrastructures, frameworks, and methodologies proposed and developed by other research groups. We could not give a review of all related projects due to the space limitation. A recent review of agent system architectures, frameworks, infrastructures and related issues on agents can be found in Huhns and Singh (1998).
5. CONCLUSIONS AND PERSPECTIVES This paper presents some results of our ongoing research projects related to the development of a new collaborative agent system architecture (CASA), and furthermore an infrastructure for collaborative agent systems (ICAS) and related services, components and mechanisms. Although the primary application domain of the proposed architecture and infrastructure is distributed intelligent manufacturing and complex supply chain management, the proposed architecture is a general purpose architecture, the proposed infrastructure and related services, components and mechanisms are domain independent. They can be used to develop all kinds of Internet enabled collaborative agent systems in any other application domain. Although the infrastructure and related services are proposed and developed for Internet based collaborative agent systems, and several types of agents (e.g., YP agents and ontology servers etc) may be Internet-based (or Web-based), most agents are typed-message agents using peer-topeer communication. Furthermore, the integration of typed-message agents with Internet-based agents is one of key issues (objectives) of our ongoing projects. A prototype is being implemented in simulation form for a case of Internet enabled supply chain management in collaboration with industrial partners. This shows the feasibility of the proposed architecture, infrastructure and related services. More case studies are underway in collaboration with industrial partners, initially in laboratory prototype form, and then transferring these prototypes into real industrial applications.
ACKNOWLEDGEMENTS Thanks to all other Collaborative Agent Group members for their contribution to the CASA development, and detailed discussions on the case study. These members include Bob Brennan, Roberto A. Flores, Fuhua Lin, Sudong Shu, Matsumoto Tsutomu, Mihaela Ulieru, Niek Wijngaards, Xiaokun Zhang, Bin Zhou.
REFERENCES Balasubramanian, S., F. Maturana and D.H. Norrie (1996). Multi-Agent Planning and Coordination for Distributed Concurrent Engineering, International Journal of Cooperative Information Systems, 5(2-3), 153-179. Bigus, J.P. and J. Bigus (1998). Constructing Intelligent Agents with Java: a Programmer’s Guide to Smarter Applications, John Wiley & Sons Inc, New York. Brennan, R., S. Balasubramanian and D. H. Norrie (1997). Dynamic Control Architecture for Advanced Manufacturing Systems, in Proceedings of International Conference on Intelligent 13
Systems for Advanced Manufacturing, Pittsburgh, PA, pp. 213-223. Crow, L. and N.R. Shadbolt (1998). IMPS - Internet Agents for Knowledge Engineering, in Proceedings of the 11th Knowledge Acquisition Workshop (KAW’98), Banff, Alberta, Canada, (available at: http://ksi.cpsc.ucalgary.ca/KAW/KAW98/crow/) Finin, T. and Y. Labrou (1997). KQML as an Agent Communication Language, in J.M. Bradshaw, (Ed.), Software Agents, MIT Press, Cambridge, pp. 291-316. Flores-Méndez, R.A., N. Wijngaards and R. Kremer (1999). Interaction Protocols for a Multiagent System Architecture, in Proceedings of KAW’99 (this volume), Banff, Ontario, Canada. Gaines, B.R., D.H. Norrie and A.Z. Lapsley (1995). Mediator: an Intelligent Information System Supporting the Virtual Manufacturing Enterprise, in Proceedings of 1995 IEEE International Conference on Systems, Man and Cybernetics, New York, IEEE, pp. 964-969. Gruber, T. (1993). A Translation Approach to Portable Ontology Specification, Knowledge Acquisition, 5(2), 199-220. Huhns, M.N. and Singh, M.P. (1998) Agents and Multiagent Systems: Themes, Approaches, and Challenges, in M.N. Huhns and M.P. Singh, (Eds.), Readings in Agents, Morgan Kaufmann Publishers, Inc., San Francisco, CA, pp. 1-24. Iglesias, C.A., Gonzalez, J.C. and Velasco, J.R. (1996) MIX: A General Purpose Multiagent Architecture, in M. Wooldridge, J.P Muller and M. Tambe, (Eds.), Intelligent Agent II: Agent Theories, Architectures and Languages, LNAI 1037, Springer, pp. 251-266. Kremer, R. (1997). Constraint Graphs: A Concept Map Meta-Language, PhD Thesis, Computer Science Department, University of Calgary, Canada, May 1997, Also available as http://www.cpsc.ucalgary.ca/~kremer/dissertation/. Kremer, R. and B. Gaines (1998). Embedded Interactive Concept Maps in Web Documents, in Proceedings of WebNet'96, World Conference of the Web Society, San Francisco, CA, USA. Kwok A. and D.H. Norrie (1993). Intelligent Agent Systems for Manufacturing Applications, Journal of Intelligent Manufacturing, 4, 285-293. Lin F., D.H. Norrie, W. Shen and R. Kremer (1999). Schema-Based Approach to Specifying Conversation Policies, in Proceedings of Autonomous Agents’99 Workshop on Specifying and Implementing Conversation Policies, Seattle, Washington. (Also available at: http://www.boeing.com/special/agents99/calgary2.pdf) Maturana, F. and D.H. Norrie (1996). Multi-Agent Mediator Architecture for Distributed Manufacturing, Journal of Intelligent Manufacturing, 7, 257-270. Maturana F., W. Shen and D.H. Norrie (1999). MetaMorph: An Adaptive Agent-Based Architecture for Intelligent Manufacturing, International Journal of Production Research, 37(10), 2159-2174.
Petrie, C. (1996). Agent-Based Engineering, the Web, and Intelligence, IEEE Expert, 11(6), 2429. Shehory, O, K. Sycara, G. Sukthankar and V. Mukherjee (1999). Agent Aided Aircraft Maintenance, in Proceedings of Autonomous Agents’99, Seattle, WA. Shen, W. and D.H. Norrie (1998). An Agent-Based Approach for Dynamic Manufacturing Scheduling, in Working Notes of the Agent-Based Manufacturing Workshop, Minneapolis, MN, pp. 117-128. Shen, W., D. Xue and D.H. Norrie (1998). An Agent-Based Manufacturing Enterprise Infrastructure for Distributed Integrated Intelligent Manufacturing Systems, in Proceedings of PAAM'98, London, UK, pp. 533-548. Shen, W., F. Maturana and D. H. Norrie (1998). Learning in Agent-Based Manufacturing
14
Systems, in Proceedings of AI & Manufacturing Research Planning Workshop, Albuquerque, NM, The AAAI Press, pp. 177-183. Shen, W., D.H. Norrie and R. Kremer (1999). Developing Intelligent Manufacturing Systems Using Collaborative Agents, in Proceedings of IMS’99, Leuven, Belgium. Shen, W., M. Ulieru, D.H. Norrie and R. Kremer (1999). Managing Internet Enabled Supply Chain with CASA, in Proceedings of Autonomous Agents’99 Workshop on Agent Based Decision-Support for Managing the Internet-Enabled Supply-Chain, Seattle, WA, (available at: http://www.research.ibm.com/CoopDS/Agents99/shen.pdf) Wang, L., S. Balasubramanian and D.H. Norrie (1998). Agent-based Intelligent Control System Design for Real-time Distributed Manufacturing Environments, in Working Notes of the Agent-Based Manufacturing Workshop, Minneapolis, MN, pp. 152-159.
15