facilitators, mediators or autonomous agents - Semantic Scholar

13 downloads 34873 Views 50KB Size Report
Recently, agent technology has been recognized as an important approach for ... by independent software modules, somewhat like a blackboard architecture. ... SiFAs [3] developed at Worcester Polytechnic Institute, used a similar architecture ... be done in one-shot fashion (with the facilitator setting up specialized links ...
FACILITATORS, MEDIATORS OR AUTONOMOUS AGENTS Weiming Shen and Douglas Norrie Division of Manufacturing Engineering, The University of Calgary 2500 University Dr. NW, Calgary, Alberta, Canada T2N 1N4 E-mail: [email protected]

Abstract Recently, agent technology has been recognized as an important approach for developing distributed intelligent design and manufacturing systems. Several different architectures have been proposed in this research area. This paper discusses the concepts and main characteristics of three different approaches: facilitator, mediator and autonomous agents. It is proposed that key features of these different approaches be used to improve the development of concurrent design and manufacturing systems. Keywords: Concurrent Engineering, Engineering Design, Intelligent Manufacturing, Agent-Based Architectures, Autonomous Agents, Facilitator, Mediator.

1. Introduction In recent years, agent technology has been recognized as a promising new approach for developing distributed intelligent design and manufacturing systems. A number of distributed approaches have been proposed. SHADE [14] was primarily concerned with the information sharing aspect of the concurrent engineering problem. A federation multi-agent architecture was proposed during the SHADE project and was demonstrated in the PACT project [6], where several facilitators (facilitation agents) were used to ease the communication and coordination among agents. First-Link project [16] was intended to test a specific software architecture where a central product model (central node) was accessed by independent software modules, somewhat like a blackboard architecture. NextLink project [19] was the successor of First-Link and was to study how to coordinate the independent agents, and a mechanism called the Redux' services developed by Petrie [18] was added to the system for this purpose. In the Process-Link project [8], this type of central node was replaced by an agent manager. SiFAs [3] developed at Worcester Polytechnic Institute, used a similar architecture with a design board which is visible to all agents participating in design. MetaMorph proposed a mediator architecture for developing distributed manufacturing systems [13]. DIDE proposed to use autonomous cognitive agents for developing distributed intelligent design environments [20]. In this paper, we will discusses the concepts and main characteristics of three different approaches for distributed agent syst ems: facilitator, mediator and autonomous agent, and propose a hybrid approach combining the interesting features of these approaches for developing concurrent design and manufacturing systems. The rest of this paper is organized as follows: Section 2 presents the concepts and characteristics of facilitator architecture and its applications in SHAED-related projects; Section 3 discusses the concepts and main features of the mediator architecture and its application in the MetaMorph project; Section 4 describes the concepts and characteristics of autonomous agent architecture and its application in DIDE project; Section 5 gives concluding remarks and our proposition.

2. The Facilitator Approach The Facilitator approach (also called federation multi-agent architecture) was proposed by the SHADE project [14] and demonstrated in the PACT project [6]. As shown in Fig. 1, agents interact through facilitators that translate tool-specific knowledge into and out of a standard knowledge interchange language. Each agent can therefore reason in its own terms, asking other agents for information and providing other agents with information as needed through the facilitators. A facilitator is a program that coordinates the communication among agents. Facilitators provide a reliable network communication layer, route messages among agents based on the contents of the messages, and coordinate the control of multi-agent activities. In PACT, each facilitator is responsible for providing an interface between a local collection of agents and remote agents, by serving four purposes: (1) providing a layer of reliable message-passing; (2) routing outgoing messages to the appropriate destinations; (3) translating incoming messages for consumption by its agent; and (4) initializing and monitoring the execution of its agents.

Systems with agents and local knowledge bases

agent messages

typ. agent (tool + wrapper) facilitators

tool wrapper

Fig. 1. Federation multi-agent architecture In this type of systems, communication and coordination occur between agents and facilitators and among facilitators, but not directly between agents. Messages from agents to facilitators are undirected, i.e., they have content but no address. It is the responsibility of the facilitators to route such messages to agents able to handle them. In performing this task, facilitators can go beyond simple pattern matching  they can translate messages, decompose problems into subproblems, and schedule the work on those subproblems. In some case, this can be done interpretively (with messages going through the facilitator); in other cases, it can be done in one-shot fashion (with the facilitator setting up specialized links between individual agents and then stepping out of the picture). Cranefield and Purvis [5] proposed a Desktop Utility agent system architecture based on the facilitator architecture with the addition of two specialized agents: a planning agent and a console agent (Fig. 2). In fact, if we integrate the functionality of the planning agent and the console agent into the facilitator, the architecture becomes the mediator architecture as described in the next section and the facilitator becomes a mediator. Console Agent

Planning Facilitator

Agent

Agent

Agent

Agent

Tool Tool

Tool Tool

Tool Tool

Fig. 2. The desktop utility agent system architecture Facilitators were also used in a multi-agent refinement system called DRAMA (Distributed Refinement Among Multiple Agents) [4] for the coordination of the refinement process. DRAMA consists of two parts: a refinement module within agents and a refinement facilitator. Agents use the refinement module to generate refinements to their own knowledge. This can be regarded as an extra skill which agents posses in addition to the skills which they use in problem-solving. The facilitator coordinates the refinement process within the group but it does not generate refinements. One of the problem-solving agents in the group may also act as a facilitator. Agents recognize that a failure has occurred and inform the facilitator which then gathers refinement proposals from relevant agents. The facilitator evaluates the proposed refinements and chooses a subset for implementation. In other word, it acts as a filter for refinements. Much of the facilitator's knowledge is domain-independent because it is concerned with general issues such as types of refinements and the relationships between them. It also requires some domain-specific knowledge in order to work with a particular group of agents. The refinement facilitator requires the following types of knowledge: Information about agents, description of faults and refinements, refinement types, fault decomposition, relationships between refinement types, rating refinements, knowledge update rules. The facilitators in DRAMA are somewhat similar to the mediators described in the next section, but they are not real coordinators.

3. The Mediator Approach The Mediator architecture draws from approaches used in the blackboard system, the Contract-Net [22], the non-explicitly coordinated systems and the supervisor system [10].

Mediator-Centric Federation Architectures As described in the previous section, the advantage of federation architectures is that many heterogeneous intelligent agents can be associated in a large distributed multi-agent organization (umbrella organization) that includes high-level Facilitator agents. Facilitator agents act as message redirectors to interlink dissimilar agents requesting communication channels. Other researchers have proposed another generally similar type of agent  the Mediator Agent [1][7][15][24]. In this particular type of federation organization, intelligent agents can still link with mediator agents to find other agents in the environment. Additionally, mediator agents assume the role of system coordinators by promoting cooperation among intelligent agents and learning from the agents’ behavior. Initially, one may think that the federation approach sacrifices the decentralization principle of distributed organizations by redefining centralized architectures. This is not so, since the ultimate goal of a federation organization is to release the agents from the burden of establishing coordination activities, for other agents, when communication links are required. In this system, individual intelligent agents are then free to concentrate their reasoning capabilities on autonomous planning and responding to the environment’s stimuli.

Mediation Behavior Mediator agents provide system associations without interfering with lower-level decisions unless critical situations occur. Mediator agents are able to expand their coordination capabilities to include mediation behaviors, which may be focused upon highlevel policies to break the decision deadlocks. Mediation actions are performance-directed behaviors.

Collaborative Subsystems Mediator agents can use brokering and recruiting communication mechanisms to find related agents for establishing collaborative subsystems (also called coordination clusters) (see Fig. 3). The brokering mechanism consists of receiving a request message from an intelligent agent, understanding the request, finding suitable receptors for the message, and broadcasting the message to the selected group of agents. The recruiting mechanism is a superset of the brokering mechanism, since it uses the brokering mechanism to match agents. However, once appropriate agents have been found, these agents can be directly linked. The mediator agent then can step out of the scene to let the agents proceed with the communication themselves. To efficiently use these mechanisms, mediator agents need to have sufficient organizational knowledge to match agent requests with needed resources. Organizational knowledge at the mediator level is basically a list of agent-to-agent relationships that is dynamically enlarged. A gent

A gent

A gent

Mediator

Mediator

A gent

A gent

Brokering Mechanism

A gent

A gent

A gent

A gent

Recruiting M echanism

Fig. 3. Brokering and Recruiting Mechanisms The brokering and recruiting mechanisms generate two relevant types of collaboration subsystems. The first corresponds to an indirect collaboration subgroup, since the requester agent does not need to know about the existence of other agents that temporarily match the queries. The second type is a direct collaboration subgroup, since the requester agent is informed about the presence and physical location of matching agents to continue with direct communication. One common activity for mediator agents involved in either type of collaboration is interpreting messages, decomposing tasks, and providing processing times for every new subtask. These capabilities make mediator agents very important elements in achieving the integration of dissimilar intelligent agents. Federation multi-agent architectures require a substantial commitment to supporting intelligent agent interoperability through mediator agents.

Mediator in MetaMorph In MetaMorph [13], Mediator is a distributed decision-making support system for coordinating the activities of a multi-agent system. This coordination involves three main phase: (1) subtasking; (2) creation of virtual communities of agents (coordination clusters); and (3) execution of the processes imposed by the tasks. These phases are developed within the coordination clusters by distributed mediator agents together with other agents representing the physical devices. The coordination clusters are initialized

through mediator agents, which can dynamically find and incorporate those other agents that can contribute to the task. There are three types of mediator coordination agents: the Template Mediator (TM), the Data-Agent Manager (DAM), and the Active Mediator (AM). These coordination agents interact with each other cooperatively within a dynamic hierarchical framework (see Fig. 4). The TM is the top-level coordination agent, characterized by its infinite life cycle and global knowledge of the system. All agents are registered in the organizational knowledge databases maintained by the TM. These databases are accessed by the TM when establishing agent-to-agent relationships during cluster formation. The TM has been provided with template methods to support the coordination of the DAM-AM tuples . It has been customized with linking mechanisms to create communication channels dynamically among the lower-level agents and their coordinators. Template Mediator

DAM 1

AM 11

DAM2

AM12

R1

DAM n

AM 21

R2

AM22

R3

AM 23

AM n1

R4

AMnk

Rr

Fig. 4. Mediator Framework in MetaMorph The DAM and AM agents manage, respectively, the higher-level communication within the coordination cluster. The mechanisms for supporting both inter-cluster communication and intra-agent communication are provided in an integrated manner. These mediator agents have been provided with mediation rules including those to solve any deadlocks that may arise from the distributed planning. Each AM carries out control and lower-level mediation operations involving available resources and subtask requirements. These operations involve a subgroup of resource agents in the coordination cluster during the planning activity. The number of AMs that should be associated with a DAM agent is defined by the number of subtasks the DAM is directly responsible for. The level of granularity of a subtask defines the number and type of resources that should be allocated into the AM domain. The lower-level resource agents supervise the operations of the physical devices and maintain a persistent link with them.

4. The Autonomous Agent Approach What is an autonomous agent? There are different definitions in the research literature. One definition is that autonomous agents are computer systems or subsystems that are capable of independent action in dynamic, unpredictable environments. To the best of our knowledge, only a few multi-agent systems developed in the world can be considered as such autonomous agent systems. Most of the agents presented in the International Conference on Autonomous Agents are not real autonomous agents according to this definition. According to Maes [12], the emphasis in autonomous agent architectures is on more direct coupling of perception and action, distributedness and decentralization, dynamic interaction with the environment and intrinsic mechanisms to cope with resource limitation and incomplete knowledge. Three new ideas are important. One key idea in these new architectures is that of emergent functionality. The functionality of an agent is viewed as an emergent property of the intensive interaction of the system with its dynamic environment. A second important idea is that of task-level decomposition. An agent is viewed as a collection of modules, each of which has its own specific competence. These modules operate autonomously and are solely responsible for the sensing, modeling, computation or reasoning, and motor control which is necessary to achieve their specific competence. Communication among modules is reduced to a minimum and happens on an information-low level. There is no global internal model, nor global planning activity with one hierarchical goal structure. The global behavior of the agent is not necessarily a linear composition of the behaviors of its modules, but instead more complex behaviors may emerge by the interaction of behaviors generated by the individual modules. A third idea becoming prevalent in much of this research domain is the exploitation of reasoning methods which operate on representations close to the raw sensor data. According to Wooldridge and Jennings [25], an agent is defined as an autonomous software entity that interoperates asynchronously with other agents through a well defined messaging mechanism. An agent is a distributed computing entity and possesses an independent thread of execution control. It communicates with other agents through asynchronous messages, facilitating parallel and distributed computing. According to Luck and d'Inverno [11], an autonomous agent is an instantiation of an agent together with an associated set of

motivations. We argue that an autonomous agent should at least have following characteristics: (1) it is not controlled or managed by any other software agents or human beings; (2) it can communicate/interact directly with any other agents in the system and also with other external systems (Fig. 5); (3) it has knowledge about other agents and its environment; (4) it has its own goals and an associated set of motivations.

Communication with external systems Agent 1

Agent 2

Agent 5

Agent 3

Agent 4 Communication among agents in the system

Fig. 5. Autonomous Agent System Architecture The DIDE project [20] used this approach to develop agent-based intelligent engineering design environments. The general architecture of DIDE is organized as a population of asynchronous cognitive agents for integrating engineering tools and human specialists in an open environment. Each tool (or interface for human specialist) can be encapsulated as an agent. Engineering tools and human specialists are connected by a local network and communicate via this network. Each of them can also communicate directly with any other agent located in the other local networks using Internet. All agents are independent and autonomous. They exchange design data and knowledge via a local network or the Internet. There is no facilitator structure as in PACT, nor mediator structure in MetaMorph. There is no any static global control structure in the system. AARIA also used the autonomous agent approach for developing multi-agent manufacturing systems [17]. In AARIA a factory is turned into a supply chain. The manufacturing capabilities (e.g. people, machines, and parts) are encapsulated as autonomous agents. The walls between factories become transparent. Each agent seamlessly interoperates with other agents in and outside its own factory. Research activities on autonomous agents are obviously important for domains like robotics [2], the manipulation of analogical data and analogical reasoning [23].

5. Discussion and Concluding Remarks One of the important features of autonomous agents is their independence. Independence is even more prominent in the concept of Actors, as proposed by Hewitt [9]. In an Actor architecture, modules operate independently but are assumed to cooperate towards a common goal. But an autonomous agent may have its own goals and associated motivations. Agents in either mediator-based systems or facilitator-based systems do not act independently. They communicate or interact with other agents through facilitators or mediators. The main difference between a facilitator and a mediator is that a facilitator provides the message services in general, but a mediator serves as a coordinator in addition. In the mediator approach, learning is at the group level, while in the autonomous agent approach, learning is at the individual level. Each autonomous agent has to have knowledge about its environment and the other agents, and has to learn for updating its knowledge. According to our experience, the autonomous agent architecture is well suited for developing distributed intelligent design systems when existing engineering tools are encapsulated as agents and connected to the system for providing special services, and the system consists of a small number of agents. This type of architecture is also very useful for developing autonomous multiple robotic systems. In the mediator architecture, a hierarchy is imposed for every specific task which provides computational simplicity and manageability. This type of architecture is quite suitable for developing distributed manufacturing systems which are compl ex, dynamic, and composed of a large number of resource agents. We are now working on the MetaMorph II project whose objective is integration of Design, Planning, Scheduling, Simulation, Execution, Material Supply, and Marketing Services into a distributed intelligent open environment. For this purpose, we propose a hybrid architecture combining the main features of the above mentioned different architectures [21]. In this hybrid architecture, the system is primarily organized through several mediators. Each design sub-system is connected (integrated) to the system through a Design Mediator. Agents in this sub-system may be autonomous agents at the sub-system level. Some of these agents may be also able to communicate directly with other agents (e.g., manufacturing resource agents) not within the Design Mediator. Manufacturing resource agents are coordinated by hierarchical layered mediators. For example, a shop floor Resource Mediator coordinates a

Machine Mediator, a Tool Mediator, a Worker Mediator, and so on. A machine agent can also communicate and negotiate directly with some tool agents and worker agents.

References [1] Ayala, G., and Yano, Y. Interacting with a mediator agent in a collaborative learning environment. Symbiosis of Human and Artifact: Future Computing and Design for Human-Computer Interaction, Y. Anzai, K. Ogawa and H. Mori (eds.), Advances in Human Factors/Ergonomics, Elsevier Science, 1996, pp 890-900. [2] Benson, S. and Nilsson N.J. Reacting, Planning, and Learning in an Autonomous Agent. Machine Intelligence 14, S. Muggleton and D. Michie. (eds), Oxford University Press, 1994. [3] Brown, D., Dunskus, B., Grecu, D. and Berker, I. SINE: Support for Single Function Agents, In Proceedings of AIENG'95, Applications of AI in Engineering, Udine, Italy, 1995. [4] Byrne, C. and Edwards P. Refinement in Agent Groups. Adaption and Learning in Multi-Agent Systems, Lecture Notes in Artificial Intelligence 1042, Weiss G. and Sen, S. (eds.), Springer, 1996, pp 22-39. [5] Cranefield, S. and Purvis, M. An Agent-Based Architecture for Software Tool Coordination. Intelligent Agent Systems: Theoretical and Practical Issues, Lecture Notes in Artificial Intelligence 1209, Cavedon, L., Rao, A. and Wobcke, W. (eds.), Springer, 1997, pp 44-58. [6] Cutkosky, M.R., Engelmore, R.S., Fikes, R.E., Genesereth, M.R., Gruber, T.R., Mark, W.S., Tenenbaum, J.M. and Weber, J.C. PACT: An Experiment in Integrating Concurrent Engineering Systems. IEEE Computer, 26(1), 1993, pp 28-37. [7] Gaines, B.R., Norrie, D.H., and Lapsley, A.Z. 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, 1995, pp 964-969. [8] Goldmann, S. Procura: A Project Management Model of Concurrent Planning and Design. In Proceeding of WET ICE'96, Stanford, CA, 1996. [9] Hewitt, C., Bisshop, P. and Steiger, R. A Universal Modular Actor Formalism for Artificial Intelligence. In Pro ceedings of the 3rd IJCAI, Stanford, CA, 1973, pp 235-245. [10] Kirn, S. and Schneider, J. STRICT: selecting the right architecture. Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, Lecture Notes in Artificial Intelligence 604, Belli, F. and Radermacher, F.J. (eds.), SpringerVerlag, 1992, pp 391-400. [11] Luck, M. and d'Inverno M. A Formal Framework for Agency and Autonomy. In Proceedings of First International Conference on Multi-Agent Systems. AAAI Press/The MIT Press, 1995, pp.254-260. [12] Maes, P. Designing Autonomous Agents. MIT Press, Cambridge, MA/ Elsevier, Amsterdam, 1990. [13] Maturana, F. and Norrie, D. Multi-Agent Mediator Architecture for Distributed manufacturing. Journal of Intelligent Manufacturing, 7, 1996, pp 257-270. [14] McGuire, J., Kuokka, D., Weber, J., Tenenbaum, J., Gruber, T. and Olsen, G. SHADE: Technology for Knowledge-Based Collaborative Engineering. Journal of Concurrent Engineering: Application and Research, 1(3), 1993. [15] Norrie, D. and Gaines, B. Distributed Agents Systems for Intelligent Manufacturing. Canadian Artificial Intelligence, 40, 1996, pp 31-33. [16] Park, H., Cutkosky, M., Conru, A. and Lee, S.H. An Agent-Based Approach to Concurrent Cable Harness Design. AIEDAM, 8(1), 1994. [17] Parunak, H.V.D., Baker, A.D. and Clark, S.J. The AARIA Agent Architecture: An Example of Requirements-Driven AgentBased System Design. In Proceedings of the First International Conference on Autonomous Agents, Marina del Rey, CA, 1997. [18] Petrie, C. The Redux’ Server. In Proceeding of International Conference on Intelligent and Cooperative Information Systems, Rotterdam, 1993. [19] Petrie, C., Cutkosky, M., Webster, T., Conru, A. and Park, H. Next-Link: An Experiment in Coordination of Distributed Agents. Position paper for the AID-94 Workshop on Conflict Resolution, Lausanne, 1994. [20] Shen, W. and Barthès, J.P. An Experimental Multi-Agent Environment for Engineering Design. International Journal of Cooperative Information Systems, 5(2-3), 1996, pp 131-151. [21] Shen, W., Maturana, F. and Norrie, D. MetaMorph II: An Agent-Based Architecture for Distributed Intelligent Design and Manufacturing. Submitted to Journal of Intelligent Manufacturing, 1997. [22] Smith, R.G. The contract net protocol: high-level communication and control in a distributed problem solver. IEEE Transaction on Computers, 29(12), 1980, pp 1104-1113. [23] Steels, L. Exploiting analogical representation. Designing Autonomous Agents, Maes, P. (ed), MIT Press, Cambridge, MA/ Elsevier, Amsterdam, 1990, pp 71-88. [24] Wiederhold, G. Mediators in the architecture of future information systems. IEEE Computer, 25(3), 1992, pp 38-49. [25] Wooldridge, M. and Jennings, N.R. Intelligent Agents: Theory and Practice. The Knowledge Engineering Review, 10(2), 1995, pp 115-152.