ARTICLE IN PRESS
Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325 www.elsevier.com/locate/rcim
An agent-based service-oriented integration architecture for collaborative intelligent manufacturing Weiming Shena,, Qi Haoa, Shuying Wanga, Yinsheng Lia,b, Hamada Ghenniwac a
Integrated Manufacturing Technologies Institute, National Research Council Canada, 800 Collip Circle, London, Ont., Canada N6G 4X8 b Software School, Fudan University, Shanghai, 200433 PR China c Department of Electrical and Computer Engineering, University of Western Ontario, London, Ont. Canada. N6A 5B9
Abstract The rapidly changing needs and opportunities of today’s global market require unprecedented levels of interoperability to integrate diverse information systems to share knowledge and collaborate among organizations. The combination of Web services and software agents provides a promising computing paradigm for efficient service selection and integration of inter-organizational business processes. This paper proposes an agent-based service-oriented integration architecture to leverage manufacturing scheduling services on a network of virtual enterprises. A unique property of this approach is that the scheduling process of an order is orchestrated on the Internet through the negotiation among agent-based Web services. A software prototype system has been implemented for inter-enterprise manufacturing resource sharing. It demonstrates how the proposed service-oriented integration architecture can be used to establish a collaborative environment that provides dynamic resource scheduling services. r 2006 Elsevier Ltd. All rights reserved. Keywords: Enterprise collaboration; Virtual enterprise; Software agents; Web services; Service-oriented architecture
1. Introduction The manufacturing enterprises of the 21st century are facing an environment where markets are frequently shifting, new technologies are continuously emerging, and competition is globally increasing. The rapidly changing needs and opportunities of today’s global market require unprecedented levels of interoperability to integrate diverse information systems to share knowledge and collaborate among organizations. Fully integrated enterprises are being replaced by business networks in which each participant provides others with specialized services. Traditional IT infrastructures in which applications were managed and owned by one enterprise are being switched to networks of applications owned and managed by many business partners. Through this revolution, the temporary alliance of enterprises (so-called Virtual Enterprise, or VE) as a
Corresponding author. Tel.: +1 519 430 7134; fax: +1 519 430 7064.
E-mail address:
[email protected] (W. Shen). 0736-5845/$ - see front matter r 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.rcim.2006.02.009
whole can be more robust and agile to the transient market opportunities. Toward this direction, enterprises all realize the cost of automating cross-organizational transactions is very high, especially for the dynamic VE processes automation. In view of the fact that distributed organizations are generally managed using heterogeneous software systems running on heterogeneous computing environments, the recently emerged Web Services technology provides a higher-level interoperability for leveraging business activities across the Web either within an enterprise or among collaborating enterprises. Manufacturing firms have been putting their efforts to provide practical access methods to their existing information systems by leveraging the Internet and Web. However, what they have done today always assumes a collaboration network under a pre-assumed agreement. On the other hand, pure Web-based technologies, including Web services, cannot fulfill the needs of VE applications, particularly in that: (1) the Web service discovery mechanism is not enough for driving VE creation at run time; (2) the Web service description is not enough for driving VE
ARTICLE IN PRESS 316
W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
services description that is semantically intensive; and (3) the Web services business processes description, orchestration, and security have hardly reached a maturity for process automation [1,2]. Intelligent software agents, which have been applied to enterprise integration for wrapping legacy systems, not only provide an approach for functional integration, but also promote business intelligence and collaboration among enterprises for their inherited characteristics of communication, interaction, cooperation, pro-activeness, and autonomous intelligent decision making. We believe that the combination of Web services and software agents provides a promising computing paradigm for efficient service selection and integration of inter-organizational business processes. This paper proposes an agent-based service-oriented integration architecture, wherein enterprise Web services are dynamically orchestrated on the Internet using agent behaviors built in them. A prototype system is designed to demonstrate the VE creation process in response to a resource requirement order. The rest of this paper is organized as follows: Section 2 provides an introduction and analysis of Web services, software agents, and their applications to enterprise integration; Section 3 discusses the requirements of VE collaboration faced by manufacturing enterprises and addresses the integration of software agents and Web services technologies; Section 4 presents an agent-based service-oriented system architecture for manufacturing enterprises collaboration; Section 5 describes a case study on virtual enterprise creation in response to a customer’s order; Section 6 depicts an implemented software prototype for inter-enterprise manufacturing resource sharing; Section 7 concludes the paper with some perspectives. 2. Service-oriented computing and software agents Service-oriented computing (SOC) is considered as a new computing paradigm after the object-oriented paradigm. It utilizes services as fundamental elements for developing applications/solutions. Services are autonomous platformindependent computational elements that can be described, published, discovered, orchestrated and programmed using XML for the purpose of developing massively distributed interoperable applications.
transactions or processes that are subject to norms or protocols specified for certain business domains. Services are thereby orchestrated vertically within one environment, or horizontally across multiple environments. As a result, an individual environment streamlines services in terms of internal transactions while restrains its function scope to be highly specific to the targeted user group. Multiple environments collaborate in order to extend their business chains. Web services have been supported by major IT vendors through their commercial platforms such as Microsoft’s .NET [3] and SUN’s J2EE [4]. There are also underlying technologies behind the promoted business initiatives such as HP’s Adaptive Enterprise [5] and IBM’s On-Demand e-Business [6]. To support the SOC concepts, Web services must provide standards-based definitions of an interoperability communication protocol, mechanisms for service description and discovery, approaches for service composition and orchestration, as well as a basic set of mechanisms for quality of service. The first initiatives of Web services and today’s de-fasco standards include SOAP [7], WSDL [8] and UDDI [9]. These standards together provide an open XML-based mechanism for application interoperability, service description and service discovery. In recent years, the standardization initiatives have been very active in the Web services community to push basic Web services mechanisms to business applications. Among them, most notably are the Business Process Execution Language for Web Services (BPEL4WS) [10] and ebXML (Electronic Business XML) [11] for service composition and orchestration; WS-Transaction [12] and WS-Coordination [13] for service processes interaction; and other special protocols related to security, service quality and business policies, e.g., WS-Trust [14], WS-SecureConversation [15], WSSecurity [16], WS-SecurityPolicy [17], WS-Policy [18], and WS-ReliableMessage [19]. Fig. 1 shows a classification of the Web services standards mentioned above. Note that this figure does not intend to show all available Web services standards. In fact, more standards are still being proposed and developed. J2EE and .NET are two widely accepted industrial application development frameworks for Web services.
2.1. Service-oriented computing and Web services Web services technology is part of the SOC paradigm and can be considered as an implementation of the SOC model. Web services are featured with application, platform and provider independence. They provide an appropriate paradigm for building open large-scale application environments, such as supply chains. In such environments, services are not treated as isolated and one-time affairs but rather as elements of an interactive, dynamic and collaborative architecture. Service collaboration within or across environments is modeled in terms of supported
BPEL4WS
Business Processes
WSDL, Policy, UDDI, Inspection
Description
Security
Reliable Messaging
SOAP (Logical Messaging) XML, Encoding
Transactions Coordination Other protocols Other Services
Quality of Service Transport and Encoding
Fig. 1. Classification of Web services standards.
ARTICLE IN PRESS W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
They support Web services protocols such as UDDI, SOAP, WSDL and BPEL4WS. A number of integrated development platforms such as IBM’s WebSphere [20] and Microsoft’s Visual Studio .NET [21] implement the two frameworks. Web services have achieved a number of successes at the application level, especially in e-Business applications: several examples are listed for .NET based Web services [22]; Sun Microsystems has helped Ford Financial to design and build a platform infrastructure based on the J2EE framework [23]; Amazon.com Inc. and Google have given developers and owners the ability to build applications and tools using their Web services APIs. Web services have had quick evolution and broad acceptance. However, there are still a number of issues that limit the applications of Web services in industry. Current Web services technologies lack semantic description and generic service model. Petrie et al. [1] also states that the standards such as UDDI and WSDL are far from enough for automated service searching, discovery and composition. They discussed shortcomings of Web services standards through some Web searching examples and reached the conclusion that these standards are in short of semantics to understand the terms in XML structure. Without a common semantic model, a service-oriented framework has no foundation to facilitate Web services implementation. Current Web services technologies have not incorporated enough semantics in their profile and representation. For example, UDDI is a profile-based protocol for registration and search, and it only relies on pre-defined keywords. WSDL needs additional information for ad hoc and automatic discovery of services. BPEL4WS is capable of supporting runtime semantics based on its logical operations and representation. However, BPEL4WS is not based on a formal semantics description. In order to address this issue, several research efforts have been devoted to bringing semantics into Web services [2,24–26]. W3C’s answer is OWL [27] based on DAML+OIL [28]. W3C/DARPA DAML-S [29] (recently being replaced by OWL-S) is another example of resulting semantic Web services markup languages, though it could be too ‘‘heavyweight’’ to industrial applications. However, no methodologies of these semantic Web approaches have been developed yet, particularly, because they are based on current UDDI’s T-Model mechanism, they can only describes pre-conditions and effects of the whole Web services, but not of the individual operations.
2.2. Software agents and enterprise integration Under the context of this paper, we view an ‘‘agent’’ as a metaphorical conceptualization tool at a high level of abstraction (knowledge level) that captures, supports, and implements features that are useful for distributed computation in open environments. In our view, an agent is an individual collection of primitive components that provide a focused and cohesive set of capabilities.
317
The basic components of an agent usually include problem-solving, interaction, and communication components. A particular arrangement (or instance) derived by basic agent components reflects the pattern of the agent’s mental state as well as its reasoning rationale for achieving its goals. In a distributed context, e.g., collaborative manufacturing, such agents play different roles (or provide different services) and are able to coordinate, cooperate and possibly compete with other agents including human beings. Significant efforts in software agents have yielded well-developed agent models and interaction protocols. The foundation for intelligent physical agents (FIPA) [30] has been focusing on developing specifications for agent communication, interaction and management. Many researchers have been probing into agent-based solutions for enterprise integration and some reached the conclusion that the agent technology provides a natural way to realize enterprise integration effectively. Agentbased enterprise integration has been a very active research area during the past ten years. In addition to significant academic researches, some projects have attracted active industrial participation and developed industrial applications [31–33]. In most projects, software agents are used to encapsulate existing legacy software systems using various middleware approaches [34,35]. A detailed review on applications of agent technology to manufacturing in general can be found in [36]. However, most of the above mentioned agent-based approaches for business integration across or within enterprise boundaries are demonstrated only through experiments or prototypes developed in research labs using proprietary agent technologies. Generally speaking, unlike Web and Web services technologies, there is a lack of industrial support on the development and deployment of practical agent applications. 3. Integration of web services and software agents A major objective of the Web services paradigm is to support enterprise collaboration to reach a higher level of distributed and reconfigurable business integration. Current efforts have been focused on Web services choreography and orchestration. The applied approaches, such as WS-Transaction and BPEL4WS, are mainly originated from traditional top-down workflow principles, where Web services are not treated as autonomous entities. However, the top-down ethics of the Web services business orchestration has the following limitations, in the same way as other kinds of workflow based business process management approaches:
Dynamic business formation and effective selection of services. A coalition of collaborating enterprises (i.e., a virtual enterprise or VE) is generated by a collection of selected Web services. Web services are created ‘‘on the fly’’ and it may be beyond human capabilities to analyze the required services and select them manually. A kind
ARTICLE IN PRESS 318
W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
of brokering service provided by agent technologies is required for the creation and operation of a virtual enterprise. Service dynamic composition. Once the participants and their services are confirmed to join a VE, the services are required to be compiled dynamically according to predefined abstract business rules so that a business process can be carried out upon the VE. For example, in an ordering process, the generic workflow can be described as receiving an order, composition of a VE to satisfy the order, contract generation, and contract confirmation. The fixed pattern of business processes described by BPEL4WS cannot meet the requirements of collaborative manufacturing, where dynamic consortiums of manufacturing enterprises are formed ‘‘on the fly’’ by negotiations or trust in order to catch the transient market opportunities. Flexible cooperation strategies. The dynamic characteristics of business collaboration generally require the introduction of flexible cooperation strategies in the consortium formation processes, moreover, in the coordination of operations of a formed consortium, and the re-negotiation processes to adjust a current consortium under certain circumstances. The behaviors revealed by the defined business workflow can be predicted because of the explicit descriptions of roles, nodes (services), control patterns (service sequences and control logics), invocation interfaces (WSDL descriptions), and the data transferring among services. Semantic and ontology problem. Resulting from the uncertainties of the dynamic enterprise collaboration, semantic and ontology problem in service orchestration is inevitable. This problem is proposed by some researchers in inter-enterprise business workflow initiatives [37–39]. However, more complicated situations arise with the introduction of flexible participants and flexible cooperation strategies into a cooperation process. According to our knowledge, none of the current workflow patterns or Web service process flow definition languages is able to handle such complex situations. Semantic and ontology in workflow has to be enriched or evolved because data exchange, information flow as well as logistics are more critical factors to practical business integration than the workflow description and workflow engine itself.
Software agents have been proved to handle sophisticated interaction patterns. Agent-orientation is an appropriate design paradigm to enable automatic and dynamic collaborations, especially for e-Business systems with complex and distributed transactions. In services realization, software agents are very essential for the provision of a focused and cohesive set of active capabilities. Therefore, we envisage a combination of agent and Web services technologies and strongly believe that we are on the right track towards an evolution of current SOC paradigm. Software agents can be one of the essential evolvements of
Web services in that they are functional entities, instead of simple interaction delegations or communication proxies. The idea is to exploit agents’ capabilities of proactive interactions to enhance Web services’ behaviors. With such a computing paradigm, software components, each representing both a service and an agent, cooperatively or competitively interact to provide unified services in a specified environment, such as brokering, pricing and negotiation in an e-marketplace, as well as cross-enterprise environments, such as integration and cooperation in a virtual enterprise. This is aligned well with Huhns and Singh’s prediction [37] ‘‘agents will become an essential part of most Web-based applications, serving as the ‘glue’ that makes a system as large as the Web manageable and viable.’’ The purpose of the combination solution is to integrate software agents and Web services technologies into a cohesive entity that attempts to avoid the weaknesses of each individual technology, while reinforcing their individual strengths [24]. The merging of service-oriented and agent-based approaches has been a hot topic of research in recent years. Petrie et al. [1] discussed the shortcomings of Web services standards and how logical AI techniques like declarative commands, agents, and planning can be used to address some of these shortcomings. They proposed a FXAgent approach to address Web services discovery and composition of Web services. Matskin et al. [40] identified Web services composition as an important issue for efficient selection and integration of inter-organizational and heterogeneous services on the Web and they believed that software agents can help make Web services ‘‘proactive’’. In their system, provider’s Web services are wrapped into individual providers’ agents on an agentbased marketplace providing services for customers’ agents. Maamar et al. [41] presented an agent-based and context-oriented approach that supports the composition of Web services. During service composition process, software agents engage in conversations with their peers to agree on the Web services that participate in this process. Liu et al. [42] proposed a conceptual model of agent-mediated Web services for intelligent service matchmaking. In fact, most of research efforts in the literature like above mentioned approaches can be roughly categorized in to ‘‘agentification’’ of Web services into an agent community. We proposed a different approach for agent and Web services integration [24]. In our agent-based Web services (AWS) framework, an agent core is built into each Web service, so that a Web service is itself an agent. No matter the agentification of Web services as agents in a multi-agent system [41] or encapsulation of agents as Web services over the Internet [24], both approaches share the common goal that, by taking the advantages of Web services and agents, the resultant integrated solution will produce a sophisticated paradigm for Internet computing. There is an interesting industrial movement toward this direction, as reported in a recent technical report on Web service architecture [43]. W3C introduced a similar concept, where software agents are treated as the
ARTICLE IN PRESS W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
foundation for Web services architecture. In this model, software agents are not used for service communication front ends or as proxies, rather, they are treated as basic entities that encapsulate Web services—‘‘A Web service is an abstract notion that must be implemented by a concrete agent.’’ Agent orientation for software construction and semantics-based interaction can be effectively applied for Web services applications. However, the definition of an agent by W3C under the context of Web Services Architecture is a specialization of the definition in architecture of the Web: ‘‘an agent is a program acting on behalf of a person or an organization.’’
4. An agent-based service-oriented integration architecture We envision a Web service-based environment as a collection of economically motivated agent-based Web services. Software agents are dynamically implemented as services with different functionalities and roles. In fact, the dynamic agent-based behavior model plus the Web servicebased interoperable protocols can generate a flexible, reconfigurable and coordinated approach to perform business process management both across enterprises and within an enterprise. The agent-based service-oriented architecture for manufacturing enterprise collaboration is illustrated in Fig. 2. In this system, each enterprise provides a number of Web services registered in the UDDI repository. The Web services are implemented by the AWS [24] technology with a built-in agent core. So, enterprises are given the ability to
319
negotiate bids with upper mediating agents. Moreover, upper mediating agents are also implemented as a network of AWS on the Internet. The integration of software agents and Web services can be proposed at both the design level and the implementation level. At the design level, we encapsulate Web services as agent models so that each agent functions on behalf of a Web service in its action and relation to the environment. In this sense, we can treat a Web service as a semi-autonomous agent. On the other hand, Web services can be used to describe the external behaviors of software agents. Therefore, agents can be used to build high-level models with flexible interaction patterns, while Web services are more suitable for solving interoperability problem of various applications in real implementations. At the implementation level, UDDI, WSDL and SOAP provide such capacities as discovery, deployment and communication, while specifications such as BPEL4WS provide service composition and process enactment. Major components of the proposed system are described as follows:
Web portal is a Web interface that is designed for users to access and manage related information. From the Web portal, the customers register their profiles, place orders, select bids, and manage the contract information. Workflow planner is a software agent that is responsible for coordinating the workflow process. The workflow planner includes a workflow engine. When a workflow process is triggered, the workflow planner selects a
Fig. 2. The agent-based service-oriented system architecture for enterprise collaboration.
ARTICLE IN PRESS 320
W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
related workflow definition from process definition repository. According to the defined relations and properties, the workflow engine within the workflow planner finds an execution task and then sends it to the broker agent for task allocation. Broker agent plays an important role in coordinating the AWS. In our system, the broker agent performs four actions: order generation, partner filtering, bid negotiation, and contracting. As shown in Fig. 2, after the order is submitted, the broker agent needs to query the workflow planner for an execution task and then ask ontology agent for a list of related supplier agents to execute the task. Supplier agent is an agent on behalf of an enterprise that has capabilities of providing certain services such as manufacturing, shipment or payment. A supplier agent registers its services to the UDDI registry, receives the task execution request from the broker agent, schedules tasks using its internal agent-based scheduling system and fulfills the contract after the customer makes the decision. UDDI is a static repository that provides suppliers’ information with standard terms that contains enterprise’s businesses, capabilities, relationships and constraints. Ontology agent provides semantic integration services, responds to service queries and performs ontology reasoning and match-making. In order for the ontology agent to compare the requested capabilities with the advertised capabilities (by supplier agents), the requested and advertised capabilities must be formulated in a way that they are comparable in terms of service performance. In our system, when the broker agent submits a service query to the ontology agent, the ontology agent will check first its local service ontology repository then the UDDI registry, find the matching
services, and return this matching list to the broker agent. An ontology agent may have advanced learning abilities in order to gather non-functional information of services on the fly, such as QoS (Quality of Service). Interface agent performs functions as an application gateway that is a joint point of the inter-enterprise system and the intra-enterprise system. Its functions include transferring messages, receiving tasks, returning order bids, and controlling access security. When the supplier’s Web service receives a message, it is transferred to the interface agent first. The content of SOAP message is deprived, checked and directed to the responsible agent. Mediator agent is a coordination agent at the enterprise level that communicates with resource agents to perform task scheduling, task execution and execution process monitoring. As shown in Fig. 3, when an order is received, the mediator agent decomposes it as a set of tasks and finds possible resource agents to complete these tasks. The resource scheduling is a negotiation process in that the mediator agent sends the bid request to resource agents and makes the decision after receiving the bid results. Resource agents represent enterprise’s internal resources such as legacy systems, software, machines, and workers. Each resource agent is on behalf of one resource. When a resource agent receives a call-forbid from a mediator agent, it will prepare a bid according to its knowledge (including its capability, schedule, status, and cost) and send a bid. Once the bid it proposes is awarded, the resource agent will commit to the task by fixing its schedule and prepare for task execution. Directory Facilitator (DF) has the registration service functionalities for other agents in the internal agent-based manufacturing scheduling system, keeps
Enterprise’s Web Service
DF Agent
Interface Agent
Mediator Agent
Resource Agent 1
Resource Agent 2
Resource Agent n
Database
Database
Database
Fig. 3. Agent-based scheduling within an enterprise.
ARTICLE IN PRESS W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
up-to-date agent registration, informs all registered agents with updated registry, and provides look-up and matchmaking services to other agents within the internal scheduling system. As shown in Figs. 2 and 3, the proposed system architecture is composed at two levels. At the interenterprise level, communication among agents is based on Web services standards and several Agent-based Web Services are proposed such as workflow planner, broker agent, ontology agent and supplier agents, as well as two other software entities (not agents): Web portal and UDDI registry. At the enterprise level, there is a FIPA-compliant multi-agent system composed of a directory facilitator, an interface agent, a mediator agent, and several resource agents. The FIPA Contract Net protocol [30] is used both at the inter-enterprise collaboration level for the selection of service providers and at the enterprise level for the allocation of manufacturing resources (see Fig. 3). Other Web services standards such as BPEL4WS will be adopted for further interactions/collaborations between business partners. 5. Case study of inter-enterprise resource sharing We choose the inter-enterprise resource sharing [44] as our case study to demonstrate the proposed agent-based service-oriented architecture for enterprise collaboration. In this case study, each enterprise is encapsulated as an individual Web service on the Internet and it owns a number of expensive manufacturing resources that can be shared with other enterprises. A software prototype system (described in detail in the next section) has been implemented to demonstrate how manufacturing enterprises can dynamically establish a virtual enterprise in response to a customer’s requests. The reasons why we choose to demonstrate this problem are based on the following observations:
SMEs need to have focused competencies. Each of them owns a number of expensive manufacturing resources. SMEs would like to join a consortium in order to maximize their profit margins by increasing resource utilization as much as possible. An SME usually has limited funds and has to be very careful on investing in expensive manufacturing equipment. SMEs specially need to cooperate so that they together as a virtual enterprise can be competitive on business opportunities. All SMEs are concerned with whether their proprietary information can be protected when collaborating with other companies over the Internet. The identity and integrity of an SME congregation can be recognized through the virtual world.
321
Since the creation of a VE (during a customer’s ordering process) is a composite business process that is made up dynamically by a set of individual services, workflow and ontology issues must be considered in implementation. We addressed these issues in details in a separate paper [45] through a layered agent-based workflow concept, workflow ontology and ontology reasoning mechanism. Here, major activities in the workflow are briefly presented for a better understanding of the case study. Service ordering: The user places an order through a Web portal. A service order process is separated as a sequence of order input, order generation, and order submission. Once the order is submitted, for each individual order, the broker agent needs to query the workflow planner for task decomposition and workflow instantiation. The workflow planner agent makes its decision by workflow ontology reasoning from the abstract workflow definition to the executable workflow definition. When the broker agent gets an execution task, it tries to find a service agent to execute the task. Partner search: The search and selection of business partners is a critical step in the formation of a virtual enterprise. Partner search can be done based on following resources: (1) private information resources such as the local service registration list of the broker agent; (2) ontology service registry at the ontology agent site; and (3) public service registry such as a public UDDI repository. In fact, the partner search process is carried out by the broker agent through checking sequentially the above three resources with decreased priorities. The partner search result is a list of matching service agents that best serve the accomplishment of the identified task. Bidding process: After the broker agent recognizes the potential service agents, it needs to negotiate with them for cost estimation, production planning, and conflict resolution. The CNP (Contract Net Protocol) [46], commonly used as an interaction protocol in a multi-agent community, is adopted for this inter-enterprise negotiation process. A ‘‘Call-for-Bid’’ message initialized by the broker agent is encoded using SOAP denotations and sent to all potential service agents. Each service agent is required to return a ‘‘Bid’’ to the broker agent. The broker then collects the return bids and feeds back related information to the customer. Partner selection: The decision of partner selection is made by the broker agent (in the case of an automatic system) or the customer (in the case of an interactive system) after collecting all possible bids and checking with its decision rules. The most promising alternative for virtual enterprise partnership configuration is chosen based on the service time, cost, quality, trust, and other factors. Contracting: Contracting process is used to achieve a business agreement between the customer and the service suppliers. A contract is generated by the broker agent mainly based on customer’s order, payment and shipping information as well as suppliers’ bid information. The customer
ARTICLE IN PRESS 322
W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
keeps the contract and its copies are sent to the selected service agents (participant enterprises) for execution. 6. Prototype implementation The Web portals and Web services are developed by Java Web Services Development Pack (JWSDP) [47]. The JWSDP provides a convenient all-in-one package for developers who want to start building and deploying application Web services quickly. In the implemented prototype, we assume three enterprises (A, B, and C) participating in the virtual enterprise wishing to offer services to share their manufacturing resources, say CNC, EDM or CMM machines. Each enterprise’s resource scheduling service is encapsulated in an individual agent-based Web service (AWS) on the Internet. Enterprise resource scheduling AWSs are published to a shared UDDI server. The broker agent may query the UDDI for a list of enterprises and do simple semantic matchmaking based on the resource capacities that an enterprise published in the UDDI. A Web portal is developed to connect all enterprises represented by their Web services. For simplicity of implementation, functions of the workflow planner agent are combined into the broker agent. The user places an order through the Web portal (Fig. 4). The broker agent,
which is implemented also as a run-time workflow engine, has the functions of service discovery, coordination and mediation. The broker agent contacts the ontology agent to get a list of potential supplier agents. Then the broker sends out a ‘‘Call for Bid’’ to the potential supplier agents and since then, a collaboration/negotiation process based on the Contract Net Protocol is initiated and carried out between the broker agent and three enterprise Web services. Each enterprise will submit a bid if its dynamic scheduling service is able to allocate necessary manufacturing resources to meet the requirements of the customer. As a result, a list of bids proposed by enterprises is fed back to the customer for decision making (Fig. 5). However, the decision of bid selection and order contracting depends on the choice made by the customer in the current implementation. After the user makes his decisions on partner’s selection, the broker dynamically builds up an executable process flow for order enactment. Finally, a contract is generated by the broker agent and its copies are sent to the selected enterprise(s). For each enterprise to respond to the ‘‘Call for Bid’’ from the broker with a bid, an agent-based manufacturing scheduling system (as shown in Fig. 3) is implemented behind the enterprise AWS for dynamic scheduling of manufacturing resources (those expensive machines only).
Fig. 4. Snapshot of the order entry user interface.
ARTICLE IN PRESS W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
Fig. 5. Snapshot of the bid selection interface.
Fig. 6. Snapshot of agent-based scheduling system (within an enterprise).
323
ARTICLE IN PRESS 324
W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325
A number of agents are implemented for manufacturing resources’ dynamic scheduling including: a DF (Directory Facilitator) agent for machine agents’ registration, an interface agent for connecting this agent-based manufacturing scheduling system to the enterprise’s AWS, and a scheduling mediator agent for scheduling coordination within the enterprise. AADE (Autonomous Agent Development Environment), a FIPA compliant engineering-oriented agent framework developed at the National Research Council Canada’s Integrated Manufacturing Technologies Institute [48], has been used for the implementation of agentbased dynamic manufacturing scheduling system at the enterprise level, where each machine is represented by one resource agent (machine agent). A screenshot for the agent-based manufacturing scheduling system running behind an enterprise’s Web service is shown in Fig. 6. Communication among agents on both the inter-enterprise and intra-enterprise levels is implemented based on FIPA ACL [30].
7. Conclusions and perspectives Service orientation is an emerging computing paradigm with new standards and tools being proposed and developed by industrial IT leaders. Software agents have been studied for about two decades, but most of R&D work has been done within the academic community and has not been widely applied in industry. Integrating software agent technologies with service-oriented computing provides a promising solution for cooperative distributed systems integration, and particularly for next generation collaborative manufacturing systems. This paper presents an agent-based service-oriented system architecture for manufacturing enterprise collaboration or collaborative intelligent manufacturing in general. It provides a unified framework to integrate software agents and Web services, and supports sophisticated dynamic and automatic services collaboration for manufacturing enterprises. Due to its generic nature, the proposed architecture can also be applied to other eBusiness applications. The prototype system presented in this paper has been demonstrated to local small and medium-sized enterprises and is believed to be practical and useful in industry. Further development and improvement of the system is underway for possible commercial uses in a near future.
References [1] Petrie C, Bussler C. Service agents and virtual enterprises: a survey. IEEE Internet Comput 2003;7(4):68–78. [2] Ermolayev V, Keberle N, Plakin S, Kononenko O, Terziyan V. Towards a framework for agent-enabled semantic Web services composition. Int J Web Serv Res 2004;1(3):63–87.
[3] Microsoft. .NET [Online]. 2005 December 1 [cited 2005 December 23]; Available from: URL:/http://www.microsoft.com/net/default. mspxS. [4] SUN. Java 2 Platform Enterprise Edition (J2EE) [Online]. [cited 2005 December 23]; Available from: URL:/http://java.sun.com/j2ee/S. [5] HP. HP Adaptive Enterprise—Business and IT synchronized to capitalize on change [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://h71028.www7.hp.com/enterprise/ html/6842-0-0-0-121.html?jumpid=go/adaptiveS. [6] IBM. On Demand Business [Online]. 2005 December [cited 2005 December 23]; Available from: URL:/http://www-306.ibm.com/ e-business/ondemand/us/index.html?P_Site=S500S. [7] W3C. SOAP version 1.2 Part 1: Messaging Framework [Online]. 2003 June [cited 2005 December 23]; Available from: URL:/http:// www.w3.org/TR/soap12-part1/S. [8] W3C. Web Services Description Language (WSDL) version 1.1 [Online]. 2001 March [cited 2005 December 23]; Available from: URL:/http://www.w3.org/TR/wsdlS. [9] OASIS. UDDI Specification version 3.0.2 [Online]. 2004 October [cited 2005 December 23]; Available from: URL:/http://www. oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.2-20041019. htmS. [10] BEA, IBM and Microsoft. Business Process Execution Language for Web Services version 1.1 [Online]. 2005 February 1 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/ developerworks/library/specification/ws-bpel/S [11] OASIS. ebXML Specifications[Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://www.ebxml.org/specs/S. [12] BEA, IBM and Microsoft. Web Services Transactions specifications [Online]. 2005 August 16 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/developerworks/library/specification/ ws-tx/S. [13] BEA, IBM and Microsoft. Web Services Coordination (WSCoordination) [Online]. 2005 August [cited 2005 December 23]; Available from: URL:/ftp://www6.software.ibm.com/software/ developer/library/WS-Coordination.pdfS. [14] IBM, Microsoft, RSA and Verisign. Web Services Trust Language [Online]. 2005 February 1 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/developerworks/library/specification/ ws-trust/S. [15] IBM, Microsoft, RSA and Verisign. Web Services Secure Conversation Language [Online]. 2005 February 1 [cited 2005 December 23]; Available from: URL:/http://www-106.ibm.com/developerworks/ library/specification/ws-secon/S. [16] IBM, Microsoft and Verisign. Web Services Security [Online]. 2002 April 5 [cited 2005 December 23]; Available from: URL:/http:// www-106.ibm.com/developerworks/webservices/library/ws-secure/S. [17] IBM, Microsoft, RSA and Verisign. Web Services Security Policy Language [Online]. 2005 July 13 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/developerworks/library/ specification/ws-secpol/S. [18] IBM, Microsoft, BEA, RSA and Verisign. Web Services Policy Framework [Online]. 2004 September 1 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/developerworks/ webservices/library/specification/ws-polfram/S. [19] IBM, Microsoft, BEA, RSA and Verisign. Web Services Reliable Messaging [Online]. 2005 February 1 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm.com/developerworks/ webservices/library/specification/ws-rm/S. [20] IBM. Websphere Web Services [Online]. 2005 December 14 [cited 2005 December 23]; Available from: URL:/http://www-128.ibm. com/developerworks/websphere/zones/webservices/S. [21] Microsoft. Microsoft Visio Studio .NET [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://msdn.microsoft.com/ netframework/S. [22] Microsoft. Microsoft MapPoint Web Service [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://www.microsoft. com/mappoint/products/webservice/default.mspxS.
ARTICLE IN PRESS W. Shen et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 315–325 [23] Sun Microsystems. Ford financial: J2EE technology-based architecture drives transformation across enterprise [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://www.sun.com/software/ customers/Ford.pdfS. [24] Li Y, Ghenniwa HH, Shen W. Integrated description for agent-based web services in eMarketplaces. Proceedings of the business agents and the semantic web workshop: 2003 June 14, Halifax, Nova Scotia, Canada, p. 11–7. [25] McIlraith SA, Son TC, Zeng H. Semantic Web services. IEEE Intell Syst 2001;16(2):46–53. [26] McIlraith SA, Martin DL. Bringing semantics to Web services. IEEE Intell Syst 2003;18(1):90–3. [27] W3C. OWL Web Ontology Language Overview [Online]. 2004 February 10 [cited 2005 Dece 23]; Available from: URL:/http:// www.w3.org/TR/owl-features/S. [28] W3C. OWL+OIL Reference Description [Online]. 2001 December 18 [cited 2005 December 23]; Available from: URL:/http:// www.w3.org/TR/daml+oil-referenceS. [29] The DAML Services Coalition. DAML Services [Online]. 2004 November 28 [cited 2005 December 23]; Available from: URL: /http://www.daml.org/services/owl-s/S. [30] FIPA. The Foundation for Intelligent Physical Agents [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://www. fipa.org/S. [31] Lu T, Yih Y. An agent-based production control framework for multiple-line collaborative manufacturing. Int J Prod Res 2001; 39(10):2155–76. [32] Yu R, Iung B, Panetto H. A multi-agent based e-maintenance system with case-based reasoning decision support. Eng Appl Artif Intell 2003;16:321–33. [33] Peng Y, Finin T, Labrou Y, Chu B, Long J, Tolone WJ et al. A multiagent system for enterprise integration. Proceedings of the third international conference and exhibition on the practical applications of intelligent agents and multi-agent technology (PAAM’98), 1998 March 23–2, London, UK, p. 155–69. [34] Budenske J, Ahamad A, Chartier E. Agent-based architecture for exchanging modeling data between applications. Working notes of the workshop on agent-based manufacturing, 1998 May 10, Minneapolis, MN, p. 18–27. [35] Yen BPC, Wu OQ. Internet scheduling environment with market driven agents. IEEE Trans Syst Man Cybern—Part A: Syst Humans 2003;34(2):281–9.
325
[36] Shen W, Norrie DH. Agent-based systems for intelligent manufacturing: a state-of-the-art survey. Knowl Inf Syst 1999;1(2):129–56. [37] Huhns MN, Singh MP. Agents are everywhere. IEEE Internet Comput 1997;1(1):87–8. [38] Bussler C. The application of workflow technology in semantic B2B integration. Distrib Parallel Database 2002;12:163–91. [39] Gimmenes MS, Barroca L. Enterprise frameworks for workflow management systems. Software Pract Exper 2002;32:755–69. [40] Matskin M, Ku¨ngas P, Rao J, Sampson J, Peterson SA. Enabling Web services composition with software agents. Proceedings of the ninth IASTED international conference on internet & multimedia systems & applications (IMSA 2005), 2005 August 15–17, Honolulu, Hawaii, USA. [41] Maamar Z, Moste´faoui SK, Yahyaoui H. Toward an agent-based and context-oriented approach for Web services composition. IEEE Trans Knowl Data Eng 2005;17(5):686–97. [42] Liu F, Yao L, Zhang W, Liu H, Zhang H. A conceptual model of agent mediated Web service. Proceedings of IEEE international conference on services computing (SCC 2004), 2004 Sep 15–18, Shanghai, China, p. 638–42. [43] W3C. Web Service Architecture [Online]. 2004 February 11 [cited 2005 December 23]; Available from: URL:/http://www.w3.org/TR/ 2004/NOTE-ws-arch-20040211/S. [44] Hao Q, Shen W, Wang L, Lang S. Cooperative scheduling for interenterprise manufacturing resources sharing. Proceedings of ASME 2003 Design engineering technical conferences and computers and information in engineering conference, 2003 September 2–6, Chicago, Illinois, USA. [45] Wang S, Shen W, Hao Q. Agent based workflow ontology for dynamic business process composition. Proceedings of the ninth international conference on computer supported cooperative work in design (CSCWD2005), 2005 May 24–16, Coventry, UK, p. 452–457. [46] Smith RG. The contract net protocol: high-level communication and control in a distributed problem solver. IEEE Trans Comput 1980;C29(12):1104–13. [47] SUN. Java Web Services Developer Pack (JWSDP) [Online]. 2005 [cited 2005 December 23]; Available from: URL:/http://java. sun.com/webservices/jwsdp/index.jspS. [48] Hao Q, Shen W, Zhang Z. An autonomous agent development environment for engineering applications. Int J Adv Eng Inf 2005;19(2):123–34.