In the recent decade, the amount of information on the Web has grown exponentially. Unfortunately, computers on the web still cannot automatically carry out complex tasks for people. It is because computers cannot understand HTML-based documents. Furthermore, the diversity of computing environments and communication protocols makes computers difficult to cooperate with one another. Semantic Web and Web Services are the two main trends to extend current web, but each of them cannot enable web automation alone. In this paper, we design a generic architecture of intelligent agent, iAgent, which integrates both advantages of Semantic Web and Web Services. We also build a multiagent system, iTour. It shows several iAgents not only be able to manipulate knowledge from semantic markup documents but also cooperate with one another to carry out complex tasks automatically.
Semantic Web, Web Services, Intelligent Agent, Multiagent
In the recent decade, the amount of information on the Web has grown exponentially. Such huge amount of information attracts more and more people to use the Web. Many services have also been provided to serve the large population of users. However, to accomplish a complicated task (such as planning trip for an international conference) on the web, users still need to spend a lot of time to search information and request services from different web sites manually. Some portal sites may provide more complete services by integrating resources from other web sites. However, adding a resource is a labor-intensive work. System developers need to spend much effort in the process of resource integration. Why can't computers automatically use all resources available online to accomplish users' tasks? The reason is that current HTML-based documents are designed for human to read, not for computers to understand. Furthermore, the diversity of computing environments and communication protocols makes computers difficult to cooperate with one another.
Now, Semantic Web [2] and Web Services are the two main trends to extend current web. Semantic Web provides a means to explicitly define or link data's semantics (i.e., the meanings of data and the relations among them) through a semantic markup language. As a result, computers can easily manipulate (extract and make inference from) knowledge in semantic markup documents. On the other hand, Web Services provides XML-based communication protocols to make computers be able to find and invoke other computers' services. These two main trends should be integrated to enable web automation, which make all computers be able to easily use knowledge in documents and work cooperatively to carry out users' tasks. Some researches are also working on this direction, such as DAML-S [1]. In this paper, we design a generic architecture of intelligent agent, iAgent. It integrates Semantic Web and Web Services to achieve web automation. The iAgent also can be configured to be different roles to provide different services. We also build a multiagent system, iTour, by several iAgents. It shows that, several iAgents not only can manipulate knowledge in semantic markup documents but also cooperate to accomplish complex tasks automatically.
An agent for web automation should be able to manipulate knowledge in web documents, provide different services and interact with other agents or users. To meet these requirements, we design a generic architecture of iAgent as Figure 1, which consist of inference, control and communication layer.
The inference layer is the iAgent's essential part, because it is the knowledge base of iAgent. The iAgent stores knowledge in the inference layer and makes inference by it, so iAgent can answer the queries of users or other agents. A typical knowledge base makes inference according to the rules and facts, but we do not predefine rules and facts in the inference layer. Such design makes the inference layer as portable as possible, so different iAgents in different domains can use the same inference layer. The facts are extracted from semantic markup documents which are written in DAML+OIL. The fact translator converts all the DAML+OIL documents into Prolog formats. Despite the DAML+OIL is designed based on Description Logic, which is not suitable for handling complex queries [3], iAgent chooses a Prolog (Horn-logic based) engine, SWI-Prolog, as its inference engine.
The control layer defines the iAgent's services. These services may be simple (answer a query) or complex (integrate different information from several agents in proper order). Some services are common to all iAgents and some are domain dependent for solving domain specific problems, so the control layer consists of common controller and domain controller. The services are designed based on iAgent's rules, because rules make iAgent be able to infer from extracted facts to provide specific services. In the common controller, the iAgent use axiomatic semantics for DAML+OIL [4] as semantic rules to reason the intended semantic meaning of fundamental tags (Class, subClassOf, samePropertyOf,...etc.), so every iAgent can interpret DAML+OIL documents and provide common services to answer basic queries about semantics, for example: list all instances of airport in Taipei. In the domain controller, iAgent provide services to solve domain specific problems by using domain rules, such as: make a trip plan between two cities. Some complex services may need to cooperate with other agents.
The iAgent uses the communication layer to interact with outside world. It can request DAML+OIL documents from other web sites through HTTP protocols. It also can interact with users by JSP (Java Server Page) and Java Servlet, so users can submit tasks through browsers. Web Services provide communication protocols for iAgent to interact with other agents or systems, so iAgent can use SOAP (Simple Object Access Protocol) to invoke services or search services through the UDDI (Universal Description, Discovery and Integration) registry. The architecture of iAgent successful integrates advantages of Semantic Web and Web Services. So iAgent can manipulate knowledge by Semantic Web and cooperate with one another by Web Services to enable web automation.
We use several iAgents to build a multiagent system, iTour. The aim of iTour is to arrange a trip for a meeting hold in Taiwan and Figure 2 shows the typical interactions among iAgents. In iTour, meeting agents manage meeting events and they can send meeting announcement to personal agents in DAML+OIL format. After personal agent receives the meeting announcement, it presents related information to the user. If the user would like to attend this meeting, he can tell the personal agent his preferences then request a trip plan for the meeting. Once receiving the request, the personal agent searches a travel agent from UDDI registry and asks the travel agent to provide a trip plan. To complete a trip plan, the travel agent needs to cooperate with other agents. First, it will ask a GIS agent to look for transport stations (railway stations and airports) and hotels nearby departure and meeting location. The transport stations and related constraints will be sent to a transportation agent then it will look for suitable transportation arrangements among these stations. Afterward, a hotel agent receives a list of nearby hotels and related preferences from the travel agent then chooses suitable hotels. Finally, the travel agent can integrate these possible transportation arrangements and hotels to work out complete plans according to user's requests. In iTour, Semantic Web makes iAgents able to manipulate knowledge of DAML+OIL documents and Web Services provide XML-based communication protocols which enable iAgents to find and communicate to one another.
In the architecture of iAgent, we successfully integrate Semantic Web and Web Services to enable web automation. The iAgent can manipulate knowledge of semantic markup documents and communicate with other iAgents by XML-based protocols. The iTour shows that several iAgents can cooperate to complete complex tasks automatically. In the next step, iAgent will integrate Semantic Web and Web Services more closely to archive fully web automation, for example: semantic based service discovery and service composition.
This paper is a partial result of Project A321XS1A10 conducted by ITRI under sponsorship of the Ministry of Economic Affairs, R.O.C.