Kai Yang [HREF1], PhD Candidate, Department of Computer Systems, Faculty of Information Technology [HREF2], University of Technology, Sydney [HREF3] PO Box 123, Broadway NSW 2007, Australia. kayang@it.uts.edu.au
Amanda Lo [HREF4], Research Assistant, Department of Computer Systems, Faculty of Information Technology [HREF2], University of Technology, Sydney [HREF3] PO Box 123, Broadway NSW 2007, Australia. amanda@it.uts.edu.au
Dr. Robert Steele [HREF5], Associate Professor, Department of Computer Systems, Faculty of Information Technology [HREF2], University of Technology, Sydney [HREF3] PO Box 123, Broadway NSW 2007, Australia. rsteele@it.uts.edu.au
Enterprise Application Integration remains a challenging field in IT, and this is particularly true for the online accommodation market where a large number of independently operated information systems exist. The mission to integrate those systems to create a common marketplace becomes a complicated problem due to the vast number of different data models and structures that currently exists within the accommodation domain. Existing technologies have given us some possible solutions but typically lack extensibility. To overcome those limitations, this paper proposes the utilisation of an ontology based multi-agent system that provides a highly efficient, flexible and easily maintainable platform for the online accommodation market that has the potential to support automation of the current business processes within the industry.
This paper's contributions include: the utilisation of combining both semantic web technologies and Multi-Agent System (MAS) structure towards system integration in the accommodation online market; the use of a top level accommodation domain ontology based in-part on the OTA standard for facilitating agent communication and collaboration and the development of an ontology based data transformation mechanism for data structure translation. This paper also discusses future directions on the improvement of this Ontology-Based Multi-agent system.
The online accommodation reseller market is an enormous market where IT has been applied for some time, leading to a plethora of different information systems, each with its own inventory and provider (Hitz et al. 2006). How to integrate those systems together to create a common marketplace has become a difficult problem. Existing middleware technologies such as CORBA, COM+, RMI, etc open up possibilities in integrating distributed systems, however, systems built on these techniques are often highly coupled, less maintainable, and inflexible.
The increasing popularity of service-oriented architecture brings other possibilities for integrating distributed systems. Compared to technologies such as CORBA or RMI, service oriented systems are much easier to integrate and maintain and for this reason, researchers have started to utilise web service based technologies for the integration of distributed systems (Wohed et al. 2003, Yu & Chen 2003). Techniques such as BPEL4WS, BPML are used to create systems that link various distributed services, and those systems are widely known as web service composition systems. However, as the communication and collaboration carried out by those systems is mainly based on XML messages, efficiency of the services as well as transaction control still poses issues for researchers to further investigate.
To overcome these problems, this paper demonstrates the possibilities that the combination of MAS with Semantic Web technologies can bring by proposing an ontology based multi-agent system for the accommodation e-market. Through the collaboration between different agents, we are aiming to achieve a highly efficient, flexible, customisable system that provides better communication, interaction and management between all different parties engaged in the accommodation e-market.
This paper is organised as follows: the next section discusses existing efforts in integrating the accommodation online market. Section 3 gives an overview of the multi-agent system. Ontologies developed for this system are presented in Section 4. Section 5 gives a description on agent communication techniques used by the system. Explanations on the ontology based data transformation mechanism are discussed in Section 6, followed by conclusion in section 7.
Previous efforts have already demonstrated the successful use of ontology based technologies towards the development of an interoperable platform in the travel industry. Leading projects include the European 'HARMO-TEN' project (Dell'erba et al. 2005), the SATINE project (Flugge & Tourtchaninova 2004), and AuSTO (Jakkilinki et al. 2007).
At the beginning of 2004, researchers for the Harmo-TEN project dedicated their efforts to the establishment of a "virtual interoperable network" to provide a seamless method for information exchange in the travel and tourism industry. One of its major achievements is the development of a domain ontology called "Interoperable Minimum Harmonisation Ontology" (IMHO), which has been adopted by some European travel businesses for exchanging information. As Harmo-TEN's main focus is to solve the data heterogeneity problem that exists in a Business-to-Business environment, it does not deal with business processes such as searching or booking. Thus, it does not fulfil our project's goal of creating a centralised marketplace for both buyers and sellers based on open ontology-based standards.
On the other hand, both SATINE and AuSTO deal with Business-to-Consumer based scenarios, which often involve complex business processes such as searching of service information, and service booking. SATINE proposed a semantic based service composition and execution framework, which provides a set of mechanisms and tools for the discovery, composition as well as execution of semantic web services. However, most processes proposed within the SATINE framework are not fully automated. In contrast, the e-Tourism Planner system developed by AuSTO project provides more automatic solutions to end users (Jakkilinki et al. 2007). However, data coherence still remains a challenge for both projects.
Through reviewing existing projects and solutions, we decided to integrate both semantic web and Multi Agent System (MAS) technologies together to enable a fuller, more flexible automation of service integration for the accommodation domain. Our contributions are summarised as follows:
The overall architecture of the multi-agent system is presented in Figure 1. We have followed the FIPA agent management specification (FIPA SC00023K 2004), which is one of the most widely adopted agent management standards available. The Foundation for Intelligent Physical Agents (FIPA) is a non-profit organisation who dedicates their efforts to the standardisation of agent-based technologies and multi-agent systems. To ensure interoperability and flexibility between other potential systems or components in the future, the majority of the proposed system structure follows the FIPA standards.
As shown in Figure 1, the system consists of six major components: Agent Management Service Agent, Directory Facilitator Agent, Ontology Agent, Clearinghouse Agent, Service Provider Agents, and Interface Agent. All those agents collaborate together to provide an accommodation service platform for end users.
Within the six types of agents, both the Agent Management Service Agent and the Directory Facilitator Agent come from the FIPA agent management specification. As part of the FIPA agent management specification, the main responsibility of the Agent Management Service Agent is to manage basic operation of an agent platform (FIPA SC00023K 2004). Such responsibilities include creation and/or deletion of agents, query platform profile, authentication of agents, as well as the registration and/or deregistration of agents. All those functionalities together provide the basic control of agents for the multi-agent system.
The role of the Directory Facilitator Agent is to maintain a list of service registries of each agent. Similar to the "Yellow Pages", the Directory Facilitator Agent stores information on services that other agents offer. It provides a directory searching service allowing agents to quickly and correctly locate the agent that they need to cooperate with in order to complete a certain request. Thus, to provide an accurate directory search service, all services within the directory are required to be labelled meaningfully. The FIPA standard provides only the basic structure for documenting service descriptions [3]. However, this is insufficient for our case due to the fact that a large number of service provider agents are involved; each provides similar but different services. Hence, to facilitate the directory registration process, we proposed an Application Ontology for agent service description. Detailed description of this ontology is covered in Section 3.
Other than the Service Capability Ontology, we have also introduced a Domain Ontology to assist the interactions among different service provider agents as well as interactions between the Clearinghouse Agent and Service Provider Agents. This Domain Ontology will be presented in the next section. An Ontology Agent is introduced to manage all the ontologies used for the multi-agent system. Its goal is to maintain the ontologies used by different agents, and inform related agents about updates for a particular ontology. Once the notification process finishes, it sends the new ontology to the agent via an agent communication protocol. This ontology transfer process is achieved through a XML based content language.
Both Clearinghouse Agent and Service Provider Agents act as the core of this multi-agent system. Service Provider Agents act as a mediator between the service providers and the multi-agent system. They collect the last minute accommodation information from each provider, and inform the Clearinghouse Agent about any information updates made by any one of the providers. Once an information update has been detected for a specific provider, they will retrieve the latest accommodation information from that provider and send this information to the Clearinghouse Agent through Agent Communication Language (ACL). Besides, they can also perform information updates based on requests received from other agents. Compared to the Service Provider Agents, the role of the Clearinghouse Agent is far more complicated and monotonous. It waits for information from different Service Provider Agents, and translates this information into a consistent data structure and finally stores the data into its repository. The translation of information from one data structure into a consistent data structure involves an ontology based transformation mechanism. Data sources from different Service Agents are firstly translated into their local ontology, and then converted into the global ontology format. Section 5 gives a detailed explanation on this transformation mechanism.
Finally the Interface Agent is used to connect end users or external systems together with the multi-agent system. It reacts to different request made by the end user or external system, and translates these commands into agent understandable requests, and sends them to appropriate agents. This translation process also involves the utilisation of the Service Capability Ontology as well as the Domain Ontology.
The nature of accommodation booking requires our system to maintain a strong data coherency with external systems. Once information is updated by the suppliers, updates need to occur immediately on our system to mirror any changes that were performed. Therefore, to ensure a strong data coherency throughout the system, we have used a push-based information update approach (Deolasee et al. 2001). That is when information updates occur on the supplier side; the corresponding Service Provider Agent will detect this event, and will immediately notify the Clearinghouse Agent about the change. Once the notification has been approved, the Clearinghouse Agent will retrieve the updated information from the supplier and store the new information into its repository.
Comparing to the pull-based approach (Deolasee et al. 2001) where information updates occur within every certain period of time, the push-based information update approach is more efficient, less resource consuming especially when the number of data sources becomes large, and effective at maintaining high data coherency.
Ontology is used throughout the multi-agent system to assist the interactions among different agents as well as to improve the quality of the service provided by each agent. There are two ontologies developed for this system, the Service Capability Ontology and the Domain Ontology. Service Capability Ontology defines a list of the basic concepts for different agents to promote their services whereas Domain ontology is mainly used by the Clearinghouse Agent to assist its data transformation process. It is also used for communication between agents.
In the FIPA agent management specification, agents register themselves through advertising the services they offer. This is normally achieved by sending a request from other agents to the directory facilitator agent. Figure 2 shows an example of the registration request written in ACL string format (FIPA SC00070I 2004). In this example, the Service Provider Agent "service-provider-agent@accommodation.com" sends a request to the Directory Facilitator (DF) Agent "df@clearinghouse.com", and tells the DF Agent to register him into the directory and set its service description to "accommodation-booking". For most agents, a meaningful set of phrases or strings would be enough to describe their service capabilities. However, for the Service Provider Agents this is far insufficient. In the proposed multi-agent system, the number of Service Provider Agents depends on the number of service providers interacting with the system, so there could be more than hundreds of different service provider agents. Moreover the service provided by each agent varies slightly depending on the quality of the service they provide as well as the geographical location of each service provider. For instance, a 5 star hotel in Sydney is different from a 2 star motel in Alice Springs. Hence the agents that are associated with those two providers should provide a different service description to the Directory Facilitator Agent. Therefore, to accurately describe the services that each agent offers, we proposed a Service Capability Ontology.

Figure 3 gives a virtual view of all concepts defined in the Service Capability Ontology. Since many researches have already demonstrated the successful use of UML for ontology modelling (Cranefield & Purvis 2001), we chose UML as the modelling language for our Service Capability Ontology. As shown in this diagram each service consists of two parts: the Service Type and the Service Identifier. Service Identifier acts an ID for each service so they can be uniquely identified by the Directory Agent, whereas service type gives a classification on different services.

By studying the behaviours of different agents and services, we divided the service types into two separate classes: Domain Dependent Service, and Domain Independent Service. Domain Dependent Services are those that specifically deal with external entities and are heavily relied on those services that collaborate with them. Those services can be affected or changed by their environment. For instance, the role of a service provider agent is tightly based on the role of its cooperating service provider. When the actual service provider is providing hotel services, this agent is also providing hotel related services. However, when its environment changes, for example the hotel has been promoted to a 5 star hotel, then the service provided by the agent also changes. In this case, we call this service Domain Dependant. On the other hand, if the services provided by an agent do not rely on its surrounding environment, then we call this type of service Domain Independent. Service provided by the Directory Facilitator Agent is a good example of a Domain Independent service.
Both the Domain Dependant and Domain Independent services have a service type name, which indicates the name of the service type they belong to. However, only Domain Dependent services have domain properties. Domain properties are domain specific concepts that can be used to explicitly classify similar services. Refer back to the previous example that two agents are connected with two different hotel providers, one in Sydney and the other one in Alice Springs. By using domain property concepts, these two services can be easily distinguished. Besides, the idea of adopting domain specific concepts into service description is not limited to the accommodation domain, multi-agent systems in other domains such as airline, etc can also adopt their own domain property concepts to assist the promotion and description of agent services.
We used OWL-S as the ontology language for our Service Capability Ontology. This is due to the fact that many capability matching algorithms have been proposed for OWL-S based service descriptions (Li & Horrocks 2003, Noia et al. 2003), and those algorithms can be used to exploit OWL ontologies to infer which service advertisements capability satisfy a request.
An industry body within the Tourism industry called the Open Travel Alliance (OTA) is an organisation that has developed a wide range of XML schemas for data communication between distributed systems within the tourism domain (OTA 2007). However as our case study has shown, not all systems employ OTA's standards therefore in order to achieve the goal that data transfer can be done effectively across different systems we have developed a Domain Ontology by basing the system's main concepts on the XML schema developed by the OTA.
Methontology provides guidelines for specifying Ontologies at the Knowledge Level (Fernández-López et al. 1999). The Travel Reservation Ontology is developed by defining the concepts and the relationships that exist within its domain. The Domain Ontology is the guideline in defining how data is transferred between the agents as described in our overview. The Domain Ontology guides the data transformation process undertaken by the Clearinghouse Agent, it will also form the basis of the Interface Agent's decision making rational. Similar to our Service Capability Ontology, our Domain Ontology is also modelled in UML as it demonstrates the relationship between different concepts as well as the attributes within them.

Figure 4 is the UML class diagram that demonstrates the concepts within the Travel Reservation Domain. As shown in the diagram, each Reservation can be divided into various different sub-concepts as according to the nature of their service. Those concepts can also be further divided into smaller concepts, for example, The Hilton Hotel is a Hotel within the Accommodation concept. The Hotel itself will have various Room Types, number of Inventories as well as other different types of concepts that may fall within the Hotel domain.
Although the UML class diagram can demonstrate the relationship between different classes, relations such as equivalence or inverse relationship between properties cannot be shown. On top of that, constraints such as the limit of rooms that one can book within a certain period of time, cannot be demonstrated by the class diagram itself. Therefore by employing the UML extension standards OCL, we have explicitly specified various different constraints. For example, the above mentioned constraint can be represented as:

Where Booking is the class Booking and the precondition for making a successful booking, the number of bookings has to be less than or equal to 10.
Since UML is only a modelling tool, therefore the Domain Ontology needs to be translated into a machine readable language and for this we have utilised OWL to achieve this goal. As OWL is written in XML, therefore it has all the benefits that XML can provide. It allows information to be exchanged easily across different platforms on top of that; it also allows the exchange to be taken place between different applications. OWL also captures information relating to classes, properties, attributes as well as the constraints displayed by UML and OCL together.
For example, by just considering all the classes that comes within the Hotel domain, we would have the following defined OWL classes:

Relationship between the classes can also be defined, for example, the relationship "hasGuests" describes the Guests inside the hotel at one particular time and we have expressed this in OWL as:

Data type can also be defined in OWL through, owl: DatatypeProperty. For example, hotelID is a string; therefore it can be expressed as:

Ontology provides the fundamental in describing concepts as well as their relationships. It forms the basis in describing how information with a different data structure can be transformed from different application and/or platforms. Ontology based transformation will be further discussed in Section 5.
Agent communication is achieved through the exchange of asynchronous ACL messages. There are two major parties involved in this scenario, the sender (agent) and the receiver (agent). Once a message is received by the receiver, it then gets interpreted and the receiver takes corresponding action based on the meaning of that message. To ensure the interoperability among different agents, both the representation and semantics of the message have to follow a standardised way.
Our system follows the FIPA agent communication specification (FIPA 2004). This specification covers three aspects of agent communication: interaction protocol, speech act theory-based communicative acts, and content language representation. Since some of the actions performed by agents are domain specific, we chose to use RDF as the content language to carry those actions. The Domain Ontology proposed earlier is also used to express those domain specific actions as well as the domain concepts. The following message gives an example on how RDF is used inside an ACL message. In this example, the service provider agent is asked to perform a room booking.

The proposed multi-agent system aims to create a common accommodation e-marketplace by interconnecting existing information systems. However, as existing systems in this domain do not have a standard data modelling approach, heterogeneity in the data structure and semantics becomes the main obstacle for information sharing. By studying the commonalities among existing systems, we found that both XML and XML Schema can be applied to those systems for data structure modelling. This finding brings us a step further towards eliminating data structural and semantics heterogeneity.
We begin by ensuring that all data sources and systems connected through the multi-agent system use XML and XML schema for data modelling. Based on this fact, we have developed an ontology based data transformation approach to translate data expressed in one XML schema to a generic XML data structure. Figure 5 gives an overview of the transformation mechanism. We used the OTA standard as the generic data structure, and proposed domain ontology is used as the global ontology.

To translate data from its local format (system specific XML schema) into global format (OTA compliant), the XML document is firstly interpreted into its local ontology format written in RDF, then converted into global ontology format, and finally translated into OTA standards. The interpretations between XML and RDF are based on the procedures proposed by Michel Klein (Klein 2002), and the ontology mapping process is based on our ontology mapping framework (Yang & Steele 2006).
This ontology based data transformation mechanism can be applied to transformations between system specific data format and the OTA compliant format, as well as transformations between different system data formats, and this mechanism will be implemented by the Clearinghouse Agent for data processing and retrieval.
In this paper we have proposed an ontology based multi-agent system for the accommodation industry. Our goal is to create a common marketplace by integrating existing applications and systems within the accommodation domain. We have described the six different types of agents that compose the system, which are the Agent Management Service Agent, Directory Facilitator Agent, Ontology Agent, Interface Agent, Clearinghouse Agent, and Service Provider Agent. To facilitate the discovery of appropriate service provided by different agents, we have developed a Service Capability Ontology. The idea is to explicitly describe agent services through the utilisation of domain specific concepts. We also developed a Domain Ontology basing on the OTA standard. This ontology is used as a guide in how information are shared among different agents, as well as to improve the efficiency of an agent's work. Finally, we proposed an ontology based data transformation mechanism to eliminate data structural and semantics heterogeneities among different systems.
The benefits of our system can be summarised as follows:
Future works include the further investigation into improvements and extension to the currently existing web services technologies to enhance the connection between the agents and the suppliers. We will also investigate the possibility in developing an automated ontology mapping agent to facilitate the ontology mapping process; and finally the testing and improvement of our ontology based data transformation mechanism.
Cranefield, S., Haustein, S., Purvis, M., 2001. "UML-based ontology modelling for software agents" Available online at [HREF1]. Last Accessed 25 Feb 2007.
Cranefield, S. & Purvis, M., 2001. "UML as an ontology modelling language". IJCAI-99 Workshop on Intelligent Information Integration Available online at [HREF6]. Last Accessed 1st Mar 2007.
Dell’erba, M., Fodor, O., Hopken, W., Werthner, H., 2005, "Exploiting semantic web technologies for harmonizing e-markets", Information Technology & Tourism, vol. 7, pp. 201-219.
Deolasee, P., Katkar, A., Panchbudhe, A., Ramamritham, K., Shenoy, P., 2001. "Adaptive push-pull: disseminating dynamic web data". Available online at [HREF5]. Last Accessed 25 Feb 2007.
Fernández-López, M., Gómez-Pérez, A., Pazos-Sierra, A. & Pazos-Sierra, J., 1999. "Building a chemical ontology using methontology and the ontology design environment". Proc. Workshop on Ontologies and Problem-Solving Methods. IEEE Intelligent Systems and their applications, pp. 37-46.
FIPA agent communication specification, 2004. Available online at [HREF3]. Last Accessed 25 Feb 2007.
FIPA SC00023K: FIPA agent management specification, 2004. Available online at [HREF3]. Last Accessed 25 Feb 2007.
FIPA SC00070I: FIPA ACL message representation in string specification, 2002. Available online at [HREF3]. Last Accessed 25 Feb 2007.
Flugge, M., Tourtchaninova, D., 2004. "Ontology-derived activity components for composing travel web services". The International Workshop on Semantic Web Technologies in Electronic Business, Berlin, Germany.
Hitz, M., Sigala, M., Murphy, J. 2006, Information and Communication Technologies in Tourism 2006, Springer, New York.
Jakkilinki, R., Georgievski, M., Sharda, N., 2007. "Connecting destinations with ontology-based e-tourism planner". 14th annual conference of the International Federation for IT & Travel and Tourism. Ljubljana, Slovenia.
Klein, M., 2002, "Interpreting XML documents via an RDF schema ontology", Proceedings of the 13th International Workshop on Database and Expert Systems Applications.
Li, L., Horrocks, I., 2003. "E-commerce: a software framework for matchmaking based on semantic web technology". Proceeding of the Twelfth International Conference on World Wide Web, Budapest, Hungary.
Noia, T.D., Sciascio, E.D., Donini, F.M., Mongiello, M., 2003. "A system for principled matchmaking in an electronic marketplace". Proceeding of the Twelfth International Conference on World Wide Web, Budapest, Hungary.
OTA: Open Travel Alliance. 2007. Available online at [HREF4]. Last Accessed 25 Feb 2007.
Wohed, P., van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M., 2003. ‘Analysis of web services composition languages: the case of BPEL4WS’.
Yang, K., Steele, R., 2006, ‘A framework for ontology mapping for the semantic web’.
Yu, S.C., Chen, R.S., 2003. ‘Web Services: XML-based system integrated techniques’. Available online at [HREF2]. Last Accessed 25 Feb 2007.