ontology-based services to help solving the heterogeneity problem

Upload: le-phuong-bac

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    1/15

    Ontology-based Services to help solving the heterogeneity problem ine-commerce negotiations q

    Andreia Malucelli a,b,*, Daniel Palzer a,c, Eugenio Oliveira a

    a LIACC-NIAD&R, Faculty of Engineering, University of Porto, R. Dr. Roberto Frias, s/n, 4200-465 Porto, Portugalb PUCPR Pontifical Catholic University of Parana, R. Imaculada Conceicao, 1155 80215-901 Curitiba PR, Brazil

    c University of Applied Sciences Trier, Schneidershof, 54293 Trier, Germany

    Received 29 November 2004; received in revised form 25 June 2005; accepted 16 August 2005Available online 4 November 2005

    Abstract

    In a dynamic environment of e-commerce negotiations where transactions involve interaction among different enterprises, using dif-ferent representations and terminologies, a common understanding is crucial. This paper combines the use of ontologies and agent tech-nologies to help in solving the heterogeneity problem in e-commerce negotiations. The result is an implementation of the Ontology-basedServices, which apply a methodology that assesses lexical and semantic similarity among concepts represented in different ontologies. Asolution integrating the Jade platform and OWL format is presented as well as an Ontology Interaction Protocol, which is combined withthe FIPA Contract Net Protocol. 2005 Elsevier B.V. All rights reserved.

    Keywords: Ontology; Multi-agent system; Interoperability problem; E-commerce negotiation; Ontology mapping

    1. Introduction

    Online e-commerce marketplaces for buying and sellingproducts are omnipresent and bring several suppliers andbuyers together. Each supplier and buyer has its own for-mat, concepts and characteristics to represent products.Even if both supplier and buyer use an ontology, theymay use ontologies that differ significantly either syntacti-cally or semantically. One of the problems of using differ-ent ontologies is that there are different representations

    and terminologies and there is not a formal mappingbetween high-level ontologies.

    In B2B transactions, it is a simpler task if the enterprisesinvolved in the transaction have homogeneous representa-tion structures as well as the same discourse domain, thusthe use of a common ontology provides a solution forthe communication problem. The use of a common ontol-ogy guarantees the consistency and the compatibility of theshared information in the system. However, in real-life sit-uations, real problems involve heterogeneity and ontolo-gies often developed by several people continue to evolveover time. Moreover, domain changes or changes in the

    conceptualisation might cause modifications on the ontol-ogy. This will likely cause incompatibilities [1] and makesthe negotiation and cooperation process difficult.

    Heterogeneity is both a welcome and an unwelcome fea-ture for system designers. On the one hand heterogeneity iswelcomed because it is closely related to system efficiency.On the other hand, heterogeneity in data and knowledgesystems is considered an unwelcome feature because itproves to be an important obstacle for the interoperationof systems. The lack of standards is an obstacle to theexchange of data between heterogeneous systems [2] and

    1567-4223/$ - see front matter 2005 Elsevier B.V. All rights reserved.

    doi:10.1016/j.elerap.2005.08.002

    q This is an extension and revision of the paper Combining Ontologiesand Agents to help in Solving the Heterogeneity Problem in E-CommerceNegotiations, presented at the International Workshop on Data Engi-neering Issues in E-Commerce (DEEC 2005).* Corresponding author. Tel.: +351 225081829; fax: +351 225081443.

    E-mail addresses: [email protected] (A. Malucelli), [email protected] (D. Palzer), [email protected] (E. Oliveira).

    www.elsevier.com/locate/ecra

    Electronic Commerce Research and Applications 5 (2006) 2943

    mailto:[email protected]:palzerd@mailto:[email protected]:[email protected]:palzerd@mailto:[email protected]
  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    2/15

    this lack of standardization, which hampers communica-tion and collaboration between agents, is known as theinteroperability problem [3].

    Heterogeneity in this paper, means agents communicat-ing using different ontologies. Four types of heterogeneityare distinguished by [2]: (i) paradigm heterogeneity, which

    occurs if two systems express their knowledge using differ-ent modeling paradigms; (ii) language heterogeneity, whichoccurs if two systems express their knowledge in differentrepresentation languages; (iii) ontology heterogeneity,which occurs if two systems make different ontologicalassumptions about their domain knowledge; and (iv) con-tent heterogeneity, which occurs if two systems express dif-ferent knowledge. Paradigm and language heterogeneityare types of non-semantic heterogeneity and the ontologyand content heterogeneity are types of semanticheterogeneity.

    In our proposed system each agent has its own privateontology even though it is about the same knowledge

    domain, but each ontology was developed by differentdesigners and may express knowledge differently.

    In the literature, ontologies are classified into differenttypes based on different ideas. Ref. [4] presents two typol-ogies, according to the level of formality and accordingto the level of granularity. According to the level of formal-ity, three ontology types are specified: (i) informal ontologyis the simplest type: it is comprised of a set of concept labelsorganized in a hierarchy; (ii) terminological ontology con-sists of a hierarchy of concepts defined by natural languagedefinitions; and (iii) formal ontology further includes axi-oms and definitions stated in a formal language.

    According to the level of granularity, six ontology typesare specified: (i) top-level ontology defines very general con-cepts such as space, time, object, event, etc., which are inde-pendent of a particular domain; (ii) general ontology definesa large number of concepts relating to fundamental humanknowledge; (iii) domain ontology defines concepts associ-ated with a specific domain; (iv) task ontology defines con-cepts related to the execution of a particular task oractivity; (v) application ontology defines concepts essentialfor planning a particular application; (vi) meta-ontologyor generic or core ontology defines concepts which are com-mon across various domains these concepts can be fur-ther specialized to domain specific concepts.

    In our proposed system, the ontologiesare classified in thelevel of formality as terminological ontologies because theyinclude concepts organized in a hierarchy and the conceptdefinitions are expressed in natural language. According tolevel of granularity they are classified as domain ontologies,in our case in the specific cars assembling domain.

    Different tools and techniques for mapping, aligning,integration, merging [59] of ontologies are available butthere is no automatic way to do that. It is still a difficulttask and for the success of these processes it is necessaryto detect ontology mismatches and solve them. Recentresearch about ontological discrepancies have been done

    [2,10], however none of the available tools tackle all the

    types of discrepancies [11]. Unfortunately, ontologies arenot a panacea unless everyone adheres to the same one,and no one has yet constructed an ontology that is compre-hensive enough. Moreover, even if one did exist, it proba-bly would not be adhered to, considering the dynamic andeclectic nature of the Web and other information sources

    [12].Similarity evaluations among ontologies may beachieved if their concepts representations share some com-ponents. If two ontologies have at least one common com-ponent (relations, hierarchy, types, etc.) then they may becompared. Usually characteristics provide the opportunityto capture details about concepts. In our approach we areusing relations and types of characteristics as commoncomponents in all the ontologies. There is a set of relationsand characteristics that have to be known and used by allthe ontologies for initial tests. The concepts are also linkedby a number of relations. The approach proposed in thispaper combines the use of a methodology that assesses lex-

    ical and semantic similarity among concepts represented indifferent ontologies. The lexical measures are used to com-pare attributes and relations between concepts.

    This paper presents the Ontology-based Services imple-mentation for providing useful advices on how to negotiatespecific items, leading to appropriate conversations andmaking agreements possible. If all agents in our multi-agent system share a common ontology, it is possible to fol-low the JADEs proposal and to code this common ontol-ogy in the source of all registered agents. However, as it isan open multi-agent system where different agents can joinand leave the platform, it has to be flexible concerning

    agents

    ontologies. The solution we propose is to use [13](Web Ontology Language) in combination with a parserto retrieve information. The implementation of a negotia-tion round combines the FIPA Contract Net Protocol[14] with an additional protocol called Ontology Interac-tion Protocol, which includes agents representing enter-prises (customer and supplier) interacting with theproposed Ontology-based Services Agent.

    The remainder of this paper is structured as follow: Sec-tion 2 describes the agent-based approach to ElectronicCommerce, presenting the system architecture. Section 3explains the heterogeneity problem and the proposedontologies. Section 4 points out JADEs ontology supportas well as the approach of integrating ontologies in OWLformat into a JADE platform. Section 5 presents the nego-tiation according with the combination of FIPA ContractNet Protocol (CNP) and the proposed Ontology InteractProtocol (OIP). Section 6 introduces the proposed method-ology for the lexical and semantic similarity. Section 7briefly presents some related work. Finally, Section 8 givessome conclusions.

    2. Agents in e-commerce

    Due to the fast growth of Business-To-Business (B2B) e-

    commerce, the demand for agents is growing because

    30 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    3/15

    agents are able to, on behalf of their owners, locate andretrieve information and make reasonable decisions basedon the owners profile. Agents negotiate with multiple sup-pliers, monitor multiple auctions, and use intelligent strat-egies to find the best deal for the users. Agents can alsorepresent companies/organizations in a B2B context. This

    shows not only how agents can collaborate with oneanother to achieve a common goal, but also how an agentselects the best partners through negotiation [15]. A centralpoint of the agents paradigm of software development isthat communities of agents are much more powerful thanany individual agent, which immediately raises the neces-sity for interoperable agent systems.

    In our multi-agent approach we will have at least fourtypes of agents: (i) the Customer Enterprise Agent (CEAg),(ii) the Supplier Enterprise Agent (SEAg), (iii) the Ontol-ogy-based Services Agent (OSAg), and (iv) the FacilitatorAgent (FAg). The facilitator agent and enterprise agents suppliers and customers are cooperating together

    through a website with the objective of providing or gettinggoods/products/services, in collaboration, but keepingtheir own preferences and objectives. The Ontology-basedServices Agent supports the negotiation process in casethe Supplier Enterprise Agent has not understood the con-tent of a message, and it helps in the calculation of prices(that may be necessary when dealing with different curren-cies). Fig. 1 illustrates this architecture.

    (i) Customer Enterprise Agent (CEAg): represents enter-prises interested in buying components to build afinal product. Several suppliers in the world may have

    these components with different prices and condi-tions. The user representing the registered CustomerEnterprise inserts the information an agent needs in

    order to ask for a product (item). This includes thename of the item itself, the quantity and the currency.The currency chosen will be the currency in which theCEAg wishes to receive a proposal, e.g. USD. If theSEAg wants to make a proposal, but the product ispriced in another currency in its ontology, e.g.

    EUR, the SEAg requests to the OSAg the currencyconversion.(ii) Supplier Enterprise Agent (SEAg): represents enter-

    prises interested in providing some kind of product/service/good. Whenever a product is needed, theFAg conveys this announcement to all registeredinterested SEAg. The SEAg makes an offer if theannounced item is currently in stock and if it under-stands what the customer is asking for. At least oneSupplier Enterprises Agent (SEAg) has to be presentin the platform so that communication can be estab-lished. Fig. 2 shows incoming and outgoing messagesof the SEAg. Logging this information is important

    in order to comprehend what happened during thenegotiation process. In this example, messagesexchanged with the CEAg and the OSAg aredisplayed.

    (iii) Facilitator Agent (FAg): is the entity that matches theright agents and supports the negotiation process. Itinteracts with the Directory Facilitator (DF) of theFIPA-compliant JADE [16] platform which providesthe yellow-pages service. Each time a new SEAg reg-isters in the platform, the DF informs the FAg.

    (iv) Ontology-based Services Agent (OSAg): is responsiblefor providing services to other agents to enable them

    to effectively negotiate together. FIPA [17] picked upthe problems of the interoperability in heterogeneousmulti-agent systems and proposed an Ontology

    Fig. 1. System architecture.

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 31

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    4/15

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    5/15

    are used during the negotiation process. Thus we ensure ameaningful communication since all agents will uniformlyinterpret the messages exchanged. This does not implyidentifying the right requested products/items once eachagent extracts this information from its own domainontology.

    Our application domain describes the scenario of a carassembling domain, where a customer enterprise buys sev-eral components from different supplier enterprises toassemble a car. For every component a customer mightwant to purchase there are several potential suppliers. Evenwith terminology standards used by automakers and withsuppliers providing their offer in a syntactically unifiedway, the same term may have different meanings, or thesame meaning may be associated with different terms anddifferent representations. This heterogeneity problem isdescribed in detail in [19].

    In order not to exclude any a prior supplier from a nego-tiation process, it is necessary that each one of them cor-

    rectly understands what a customer is asking for. Therelevant agents, meaning any potential business partners,have to be able to establish a negotiation process.

    Fig. 5 (a) and (b) show UML diagrams, covering a partof the existing ontologies for two of our agents. Fig. 5(a)represents the CEAg Ontology (Automobile AssemblingOntology), while Fig. 5(b) represents the SEAg (CarAssembling Ontology). Both ontologies are composed ofa set of concepts, each concept having relationships withother concepts and having a set of characteristics, calledattributes. Each attribute has a type and a value assignedto it.

    Through these examples we may observe some differ-ences, causing the interoperability problem during thenegotiation process. For example, in the AutomobileAssembling Ontology there is a concept named Motorand in the Car Assembling Ontology there is the corre-spondent concept Engine. Even if the same term is usedto represent the product in both ontologies, they may havedifferent characteristics and different relationships.

    These mentioned domain ontologies (a) and (b) form thebasis for the agents to get information about any tradeditems. Additionally, we have created a generic ontologyfor the e-commerce domain, as presented in Fig. 6.

    All the ontologies were created with the help of theontology editor Protege [20]. Moreover, since we are using

    JADE as agent platform (and its API), we have to considerthe following terms defining the ontology of e-commerce:Concepts (for example Price), AgentActions (for exam-ple Buy) and Predicates (for example IsPurchasable).These terms describe the basic concepts and relationshipsused during the negotiation process, ensuring a meaningfulcommunication since all agents will uniformly interpret themessages exchanged. The e-commerce ontology may beapplied to any domain.

    4. Ontology support in JADE

    JADE proposes the Content Reference Model (CRM),

    which is a classification of all possible elements that occurin the discourse domain. For JADE agents, ontologicalinformation is represented in terms of Java objects whileProtege stores an ontology in various formats. If a Protegeproject is intended to be translated into such a representa-tion, the CRM has to be considered a priori during theontology definition stage. It plays an important role sinceit determines certain constraints. The schemas for the typesof Concept, Predicate and AgentAction already have to beincluded while setting up the ontology in Protege. Fig. 7presents partially the taxonomy for Concepts, highlightedin red on the left side. The user defined the class Wheel_-

    Rim with the attributes manufacturer, wheel_rim_materialand diameter. It is a subclass of Automobile_Part, which isa subclass of Concept.

    If in the ontology definition process in Protege the CRMis considered, classes for object-oriented programming lan-guages can be built on the underlying ontology and useddirectly to exchange information. The plug-in BeanGener-ator [21] for Protege can be used to perform this task it

    Light

    holder_number : Integer

    voltage : Integer

    Battery

    Brake

    Tire

    width : Integer

    tire_type : String

    profile_depth : Float

    manufacturer : String

    Wheel_Rim

    width : Float

    wheel_rim_material : String

    diameter : Float

    manufacturer : String

    Automobile

    brand : String

    number_of_doors : Integer

    colour : String

    model : S tring

    automobile_type : String

    Automobile Part

    ...

    V_BeltOil Sump

    Engine Block

    ...

    Wheel

    Hubcap

    diameter : Float

    Brake Light

    ...

    Motor

    arrangement_of_cylinders : String

    fuel : String

    horsepower : Integer

    cylinder_capacity : Float

    numer_of_cylinders : Integer

    transmission_type : String

    fuel_consuption : Float

    number_of_gears : Integer

    torque : Integer

    Parking Light

    holder_nr : Integer

    tension : IntegerStop Light

    holder_nr : Integer

    tension : Integer

    Wheel

    wheel_rim_material : Stringtyre_type : String

    manufacturer : String

    tire_profile_depth : Float

    diameter : Float

    width : Floa

    Cylinder Block

    number_of_cylinders : Integer

    arrangement_of_cylinders : String

    Oil Sump

    V_BeltGears

    Engine

    fuel_ingestion : Float

    fuel : String

    horsepower : Integer

    capacity_of_cilynders : Float

    transmission_type : String

    torque : I nteger

    Engine Block

    ...

    BumperWindow

    Car Body

    ...

    Car

    airbag : Booleandoors : Integer

    color : String

    type : String

    brand : String

    model : String

    Lightning System

    a b

    Fig. 5. (a) Part of the automobile assembling ontology. (b) Part of the car assembling ontology.

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 33

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    6/15

    automatically generates Java source files from the Protegemodel. This is quite convenient, otherwise ontological Javaclasses would have to be written by hand, without usingan editor like Protege.

    JADE ontologies following the CRM allow inheritanceas a way to combine ontologies and thus facilitating codere-usage. Fig. 8 graphically points out the hierarchy.

    ACL communication is based on the Car Assembling

    ontology since it is a subontology of the e-commerce ontol-

    ogy. Both ontologies are CRM-compliant and stored in theformat of Java objects. The shared ontology specificationincludes domain-independent business terms and domain-specific vocabulary.

    Additional to this upper message content ontology, fur-ther information is necessary to represent the car assem-bling domain.

    The main concern in the exchanged messages can be

    detected with this ontology, but the concrete items under

    Fig. 6. E-commerce ontology.

    Fig. 7. Defining subclasses of class Concept in Protege.

    34 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    7/15

    negotiations, having the type Any in the Predicates andAgentActions, have to be further specified.

    Compared to the e-commerce ontology, the domainontology defines only classes as subclasses of Concept,i.e. entities that agents communicate and negotiate about.Predicates and AgentActions are not necessary in this case.

    Here, it is sufficient to register explicitly only Car Assem-bling Ontology, which includes methods and variablesfrom superclass ECommerceOntology as well.

    If all agents in a multi-agent system share one commonontology, it is possible to follow JADEs proposal and tocode this common ontology in the source code of all regis-tered agents. However, in an open multi-agent systems,where different agents can join and leave the platform per-manently, there has to be flexibility concerning the agentsontologies. Agents operating in the same applicationdomain might use different ontologies. Thus, like it is donein JADE, hard-coding a shared ontology directly into the

    agents

    code is not a solution. JADEs ontology support

    does not consider the integration of different ontologiesin open and flexible environments.

    The solution proposed here is to use OWL format. It isan approach of the Semantic Web research and can be usedwith many advantages in multi-agent systems. It is suitablefor the underlying scenario in combination with a parser(Jena Framework [22]) to retrieve information.

    4.1. Integration of OWL ontologies

    At first glance, an approach where agents in a platformcommit to different ontologies seems to be a contradictorystatement since ontologies are built for knowledge sharingand knowledge reuse. If several institutions do not share acommon ontology, it might lose its intended purpose.However, in a competitive context, some enterprises mighthave doubts divulging their ontologies since it meansrevealing their gained knowledge. Moreover, open environ-ments (where a central design is neither possible nor desir-able) populated by heterogeneous agents make thecommon ontology case unfeasible. Each agent will typi-cally use a different ontology and a shared ontology maynot be universal. Enterprises will not consider convertingall the content of their ontology if the new one is not con-

    sidered as a de facto standard.

    Unlike the ontology e-commerce, domain ontologiescapturing this knowledge differ structurally and semanti-cally. Although agents view of the domain of discoursemay differ, they all have the commonality of willing totrade with goods or services.

    Therefore, the proposed solution for enabling effec-

    tive communication in heterogeneous environments onlypartially abstains from JADEs ontology support, i.e.ontological Java classes following the CRM. The ontologye-commerce remains in its primary form in terms of Javaclasses but the domain ontologies are represented inOWL.

    One specific domain ontology could be used either byonly one agent or by a group of agents as well. Howeveramong all agents that are negotiating, different domainontologies exist and there is not a universal one. Theseontologies neither need to have the same name nor haveto be equivalent in their structure.

    To deal with these domain ontologies stored in OWL,

    the implementation uses Jena. It is a Java framework forwriting Semantic Web applications. Among other featuresand what is important for this scenario, it contains anRDF/XML parser and the Jena ontology API. It isintended to support the work with ontology data basedon RDF, which includes support for OWL and RDFS.In other words, the Java ontology API allows the explora-tion of the structure of the underlying file and the extrac-tion of information.

    In the developed multi-agent system, the Jena modelinterface is used, e.g., to get attributes of a class, to getinstances of classes and to retrieve their values (such as

    the price of items), to determine subclass-relationshipsand to find out if a class is defined as abstract.

    Compared to hard-coding ontologies in terms of Javaobjects, this approach additionally has the advantage ofbeing more flexible concerning conceptual changes. Theycan be made easily using Protege and are recognised bythe parser. Otherwise changing an ontology is an intricateprocess since the ontologies have to be edited in Protege,the Java sources have to be generated with the BeanGen-erator tool, compiled and possibly the agents code has tobe changed as well, e.g. if the names of attributeschanged.

    Since uniformity of the domain ontologies is notenforced, semantic and syntactic interoperability problemsconsequently occur.

    In our context there are two types of ontologies, a top-level ontology e-commerce and several domain ontologies.Messaging is based on the e-commerce ontology (asdepicted in Fig. 9) while agents represent their individualview of the domain in terms of OWL ontologies.

    All agents willing to negotiate have to register the e-commerce ontology, which implies an agreement on thevocabulary defined in this ontology. The classes have tobe provided for every agent. Thus, all agents are able tointerpret messages in the same way and unambiguously.

    The diverse content is expressed in OWL.

    Fig. 8. Car assembling ontology-based communication.

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 35

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    8/15

    Combining the top-level ontology with the domainontologies makes it possible for agents to communicateand negotiate.

    5. Negotiation

    The implementation of a negotiation round combinesthe FIPA Contract Net Interaction Protocol with an addi-tional protocol called ontology interaction protocol, asshown in Fig. 10. The former represents the general sce-nario of agents trading goods or services proposed byFIPA. Alike other interaction protocols, it structures com-plex tasks as aggregations of simpler ones. The latter imple-ments the message flow necessary for solving the problemsof interoperability, including the interaction of customerand supplier agents with the OSAg.

    In our context the CEAg plays the role of the initiatorwhile the SEAg is the participant during the FIPA Con-tract Net Interaction Protocol. The initiator wishes to havesome task performed and further wants to optimise a func-tion that characterises the task. For a given task, the par-ticipants may respond with a proposal or refuse it.

    Negotiations then continue only with the participants thatmade a proposal. The initiator selects the best proposalamong all, based on its own criteria defining what best is,and replies, telling if it accepts the proposal or not. Inthe former case, once the SEAg has completed the task,it sends a message to the CEAg in the form of anINFORM-DONE or a more explanatory version in theform of an INFORM-RESULT. However, if the partici-pant fails to complete the task, a FAILURE message issent.

    This sequence diagram of the FIPA Contract Net Proto-col shows how contracts in general are accomplished. Theagent responding to a CFP performative should answer

    with a proposition giving its conditions on the performanceof the action. The responders conditions should be com-patible with the conditions originally contained in theCFP [23]. E.g. the CFP might seek proposals for an offerfor a set of tires, with a condition that the currency is euro.A compatible proposal in reply would be 500 euros for aset of 4 Michelin tires. An incompatible proposal wouldbe to use South African rand as currency. The followingdifferent scenarios can arise when a SEAg receives a CFPmessage:

    i. The SEAg knows what the item under negotiation is.

    If this item can be delivered at present, it will answerby making a proposal.

    ii. The SEAg might answer with a REJECT-PRO-POSAL, telling that the requested item is not in stockor give any other reason according to its objectives.In the former case, the predicate NotInStock, whichis defined in the ontology e-commerce, should beused.

    iii. The SEAg does not understand the name of therequested concept because it is not listed in its ontol-ogy. But there might be a correspondent conceptdefined. In this case, the embedded ontology inter-action protocol proceeds.

    The sequence diagram in Fig. 11 represents the imple-mented ontology interaction protocol which intends tofind correspondent concepts in two different ontologies. Itincludes both CEAg and SEAg interacting with the OSAg.

    After having received a CFP (1) as part of the FIPAContract Net Protocol and not being able to interpret therequested item, the SEAg sends a message with the perfor-mative NOT_UNDERSTOOD to the OSAg (2), acquaint-ing who sent the CFP and the name of the unknown item.

    The OSAg sends the name of the item it has just receivedto the CEAg (3) in order to get further information about

    it. The CEAg will analyse that request and send back attri-

    Fig. 9. E-commerce ontology-based communication.

    Fig. 10. FIPA Contract Net Interaction Protocol with the embedded

    ontology protocol.

    36 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    9/15

    butes of the concept, their types, price and the description,i.e. all the information about this item (4). The price istaken from its pricelist.

    (5) and (6) refer to the pre-selection process. As thename suggests, the pre-selection process aims at getting

    candidate concepts, which could be the correspondent forthe requested product and therefore reducing the targetquantity. After having received (4), the OSAg knows theprice of the product under negotiation and sends it to theSEAg (5). The process selects among all products the oneswhose price value is in the range between 75% and 125% ofthe received value. This process results in a list of productcandidates that is returned to the OSAg, including theirnames, the characteristics and their description in naturallanguage. Applying the pre-selection process, we reducethe set of potential matching concepts, which is absolutelyessential in huge ontologies defining many entities. Other-wise the number of pairs, meaning concepts that have tobe compared, would be too high.

    The currency conversion service provided by the OSAgmight be needed and can be requested if the SEAgs pricingof items uses a different currency from the requested prod-uct. After the selection, the SEAg answers with a list con-taining names, documentation and attributes of potentialcorrespondent concepts (6).

    After receiving all the information about the item undernegotiation and a list of possible corresponding items, theOSAg is able to apply methods in order to match the terms(7). These ontology mapping methods aim at detecting syn-tactic and semantic similarity of terms. Every term of the

    proposed, potential correspondent item is compared to

    the requested term. The similarity detection methods aredescribed in the next section.

    In step (8), the OSAg informs the SEAg about the resultof the comparisons delivered from the ontology mappingmethods, i.e. it informs the name of the correspondent item

    or an appropriate message if this could not be discovered.The SEAg is then able to respond to the CEAg (9),

    either with a PROPOSE or with a REJECT_PROPOSALthat is part of the FIPA Contract Net Interaction Protocolagain.

    6. Ontology mapping

    Ontology mapping is the process of finding correspon-dence between the concepts of two ontologies (similarity).If two concepts correspond, they mean the same thing, orclosely related things [24].

    Our approach aims at finding correspondences betweenconcepts based on the concept names, their characteristics,relations and the description of the concept.

    We will use the similarity found out to help in the nego-tiation, without an ontology merging or an ontology align-ment. The ontology alignment consists in establishingdifferent types of mappings between ontologies but keepingthe original ones. The ontology merging consists in gener-ating a new and unique ontology from original ones.

    In a competitive context, enterprises might have doubtsdivulging their gained knowledge. Therefore every user hasand keeps their own ontology depending on their prefer-ence and their role in the domain. Although describing

    the same domain of discourse, a user might be very precise

    Fig. 11. Ontology Interaction Protocol interaction of CEAg, SEAg and OSAg.

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 37

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    10/15

    describing one component but less precise concerninganother one. Some ontologies might as well cover only apart of another.

    We believe that in a same domain, even if expertsdescribe two different concepts (products) and use differentcharacteristics, structures and relations, there is a set of

    common relevant characteristics that should be mandatorywhen representing a specific product, for example: mate-rial, width, height, etc. Besides that, it is not usual to havea completely different description about the same product,usually some technical and common terms are used.

    Based on these ideas we are using the lexical similaritymeasures to start the mapping process. Since the lexicalcomparison might not deliver a reliable result, we are com-bining it both with WordNet-based semantic measures thatare able to discover semantic similarity, comparison of theconcepts description.

    Whenever a mapping between two concepts is estab-lished and validated, the OSAg will learn avoiding a new

    mapping process if the same situation appears again inany of the next negotiation rounds.

    6.1. Lexical similarity identification

    Even if two different ontologies are used, but in the samedomain, there is a high probability of the described prod-ucts having similar written or even the same attributes.

    Based on tests of several methods that discover similar-ities between two strings [25,26], n-Grams [27] turned outto be the most suitable for our case. N-grams are consecu-tive overlapping sequences of n characters formed from an

    input stream. The algorithm looks for subsets from onestring into another one. These subsets are called gramsand the quantity of characters in each gram can be defined.After some experiments we are using a 3-Gramcomparison.

    N-grams have been used as alternatives to word-basedretrieval in a number of systems. Also, n-grams can be usedto distinguish between documents in different languages inmulti-lingual collections and to gauge topical similaritybetween documents in the same language.

    To reach a more acceptable result, we have classifiedattributes according to their values data types: string, float,integer (int), boolean and considered the relation has-partfor making comparisons. This classification ensures thatthe comparisons make sense. Attributes that describe thesame concept, are in most cases of the same type, even ifwritten in a different way. Applying n-Grams without split-ting up the attributes could lead to a result that could bemisinterpreted.

    The following example refers to the Automobile Assem-bling Ontology (Fig. 5(a)) and the Car Assembling Ontol-ogy (Fig. 5(b)). If the requested product would beMotor, we would have to compare the attributes andrelations associated with Motor with all conceptsdescribed in the other ontology in order to find similarities.

    So, we use the n-grams to calculate the similarity between

    the attributes divided by their type, as showed in Figs. 6and 7.

    Comparing the attributes of Motor with the attributesof Engine, we would have comparisons between thestring, integer and float attributes and the relation has-part.

    Comparing the attributes of Motor and Wheel, wewould have comparisons between stringand float attributesbecause the concept Wheel contains neither the corre-spondent integer attributes nor any relation has-part.

    Holding all the necessary information from both CEAgand SEAg, the OSAg performs the comparison operations.Every relation has-part points to another class whose nameis considered in the comparison. Table 1 shows the N-Gram results for the similarity comparison between theattributes of Motor and Engine.

    Each line of the table represents a pair of words (charac-teristics) that is compared and the respective resultsobtained by n-Grams.

    The total result rn-grams by each type, is calculated by

    rn-grams X

    n

    i1maxi=n; 1

    where maxi is the maximum of all comparison results thatexist for one attribute type (marked bold in Table 1). nindicates the number of maxi.

    The final result rn-grams ranges between 0 and 1, where 0signifies no similarity at all and 1 only occurs in the bestcase, where the words are identical.

    The final similarity simattrSet1/attrSet2 takes into accountcomparisons of all types. The formula is

    simattrSet1=attrSet2 X

    rn-grams=n. 2

    Here, n is the number of different attribute types that therequested product contains (in this example the conceptMotor).

    Table 2 presents the final result for the similarity com-parison between the attributes of Motor and Engine(string, integer and float) and the relation has-part.

    As explained earlier, in this example, the sum of all com-parisons is divided by 4, since the concept Motor con-tains attributes of type string, integer, float and relationshas-part.

    With simattrSet1/attrSet2 equal to 0.6863, the result of thecomparison of Motor with Engine indicates a quitesignificative similarity.

    As a counter-example, Table 3 compares the attributesof Motor with the ones of Wheel.

    The sum of the relevant n-Grams stringvalues is dividedby 3 since Motor contains 3 stringattributes and the sumof the relevant n-Grams float values is divided by 2 sinceMotor contains 2 float attributes. The divisions resultto the values rn-grams, which is 0.1101 for the string valuesand 0.0277 for the float values.

    Table 4 presents the final result for the similarity com-parison of the attributes of Motor with those of

    Wheel. In this case, it was only possible to calculate

    38 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    11/15

    the similarity between strings and floats since they are theonly attribute types of Wheel.

    Here, simattrSet1/attrSet2 equals to 0.0345. This figureimplies very little similarity between the two givenconcepts.

    In order to get the correspondent concept (product), wewould have to compare Motor with all concepts con-

    tained in the other ontology, what would be a slow and

    tedious work. To avoid this mapping with all potential cor-respondent concepts, we are proposing a pre-selectionprocess.

    6.2. WordNet-based semantic similarity

    WordNet [28] is a lexical database designed for use

    under program control that provides an effective

    Table 1N-Grams results for attributes of Motor and Engine

    Type Attributes of motor Attributes of engine N-grams

    Integer Horsepower Horsepower 1.0Horsepower Nr_of_cylinders 0.0Horsepower Torque 0.0Number_of_cylinders Horsepower 0.05

    Number_of_cylinders Nr_of_cylinders 0.7Number_of_cylinders Torque 0.0Number_of_gears Horsepower 0.0625Number_of_gears Nr_of_cylinders 0.3125Number_of_gears Torque 0.0Torque Horsepower 0.0Torque Nr_of_cylinders 0.0Torque Torque 1.0

    Total (rn-grams): 3.0125/4 = 0.7531

    String Arrangement_of_cylinders Transmission_type 0.04Arrangement_of_cylinders Fuel 0.0Fuel Transmission_type 0.0Fuel Fuel 1.0Transmission_type Transmission_type 1.0

    Transmission_type Fuel 0.0Total (rn-grams): 2.04/3 = 0.68

    Float Fuel_consumption Capacity_of_cylinders 0.0Fuel_consumption Fuel_ingestion 0.4705Cylinder_capacity Capacity_of_cylinders 0.7272Cylinder_capacity Fuel_ingestion 0.0

    Total (rn-grams): 1.1977/2 = 0.5989

    Has-part Oil_sump Engine_block 0.0Oil_sump Cylinder_block 0.0Oil_sump Oil_sump 1.0Oil_sump V-belt 0.0Oil_sump Gears 0.0V_belt Engine_block 0.0V_belt Cylinder_block 0.0

    V_belt Oil_sump 0.0V_belt V-belt 1.0V_belt Gears 0.0Gearing Engine_block 0.0Gearing Cylinder_block 0.0Gearing Oil_sump 0.0Gearing V-belt 0.0Gearing Gears 0.5Camshaft Engine_block 0.0Camshaft Cylinder_block 0.0667Camshaft Oil_sump 0.0Camshaft V-belt 0.0Camshaft Gears 0.0Engine_block Engine_block 1.0Engine_block Cylinder_block 0.3333

    Engine_block Oil_sump 0.0Engine_block V-belt 0.0Engine_block Gears 0.0

    Total (rn-grams): 3.5666/5 = 0.7133

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 39

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    12/15

    combination of traditional lexicographic information andmodern computing. WordNet contains more than118,000 different word forms and more than 90,000 differ-ent word senses and allow us to extract synonymy (samename), antonymy (opposite-name), hyponymy (sub-name),hypernymy (super-name), meronymy (part-name), and hol-onymy (whole-name).

    We made experiments using a CPAN module [29] thatimplements a variety of semantic similarity measures [30]that can be used in conjunction with WordNet. In particu-lar, we evaluated the measures of Resnik, Jiang-Conrath,Leacock-Chodorow, Hirst-St.Onge, and Wu-Palmer inorder to select the one which fits in our case the best. Afterthis evaluation the Leacock-Chodorow (LCH) presentedthe best results.

    The similarity measure proposed by Leacock and Chod-row (LCH) finds the shortest path between two concepts,

    counting up the number of edges between the senses in

    the is-a hierarchy of WordNet. The retrieved value is thenscaled by the maximum path length in WorldNets isahierarchy. If no error occurs, a related value is obtainedby taking the negative logarithm of this scaled value.Otherwise, an error string is created. This is also the caseif no path exists between the words since one of the words

    was not found in WordNet. The measure requires twoword senses as parameter input. The format is word#pos#-sense. pos signifies the part of speech. It can be n for noun, vfor verb, a for adjective and r for relation. Sense is a posi-tive integer and represents the sense of the word in Word-Net. E.g. car#n#3 refers to the third WordNet noun senseof car. Several taxonomies exist inside WordNet, but in theunderlying scenario only nouns are relevant. Thus, only nhas to be considered for pos.

    Since a word in WordNet has several senses, somehowthe relevant sense has to be chosen. It has to be clear whichsense of the concept is correct in the given context. Nor-mally this is done by requesting the user to choose the sense

    by gloss or by synset.The proposed solution initially takes into account all

    senses. Each sense of one word is compared with each senseof the other word. The highest value of all these combina-tions is considered as similarity value. This does not guar-antee that the right sense is always selected. Butexperiments showed that this procedure delivers applicableresults in general since the highest sense indicates in mostcases that two concepts in the same domain have been com-pared. Table 5 presents an example comparing the itemklaxon, which has only one sense in WordNet with horn,which has ten senses. The value in bold (Table 5) shows

    that klaxon#n#1 and horn#n#8 delivered the highest score,which states the result. The other scores are not consideredat all.

    WordNet might provide many synonymous for certainconcepts, but maybe none for other concepts. Mainly inspecific domains like the car assembling domain, this mayhappen. For theses cases, we will consider the descriptionof a concept.

    Usually, in a specific domain, experts use technical andspecific words when they are describing the concepts thatform the ontology, and this way we may find similar wordsin the concept descriptions. We are proposing to select the

    Table 2Overall similarity Motor/Engine

    Attribute type N-grams result

    Integer 0.7531String 0.68Float 0.5989Has-part relation 0.7133

    simattrSet1/attrSet2: 3.4316/4 = 0.6863

    Table 3N-gram results for attributes of Motor and Wheel

    Type Attributes of motor Attributes of wheel N-grams

    String Arrangement_of_cylinders Manufacturer 0.0Arrangement_of_cylinders Wheel_rim_material 0.0Arrangement_of_cylinders Tyre_type 0.0Fuel Manufacturer 0.05Fuel Wheel_rim_material 0.0526Fuel Tyre_type 0.0Transmission_type Manufacturer 0.0Transmission_type Wheel_rim_material 0.0

    Transmission_type Tyre_type 0.2777Total(rn-grams): 0.3303/3 = 0.1101

    Float Fuel_consumption Diameter 0.0Fuel_consumption Tire_profile_depth 0.0Fuel_consumption Width 0.0Cylinder_capacity Diameter 0.0555Cylinder_capacity Tire_profile_depth 0.0Cylinder_capacity Width 0.0

    Total(rn-grams): 0.0555/2 = 0.0277

    Table 4Overall similarity Motor/Wheel

    Attribute type N-grams resultString 0.1101Int n.a.a

    Float 0.0277Has-Part relation n.a.a

    simattrSet1/attrSet2: 0.1378/4 = 0.0345

    a n.a. = not available.

    Table 5LCH comparison between klaxon and horn considering all senses

    Word 1 Word 2 LCH score

    klaxon#n#1 horn#n#1 1.7918klaxon#n#1 horn#n#2 1.0186klaxon#n#1 horn#n#3 0.8109klaxon#n#1 horn#n#4 1.0986klaxon#n#1 horn#n#5 1.5041klaxon#n#1 horn#n#6 1.0186klaxon#n#1 horn#n#7 1.0986klaxon#n#1 horn#n#8 2.8904klaxon#n#1 horn#n#9 1.5041

    klaxon#n#1 horn#n#10 2.1972

    40 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    13/15

    relevant words used in the descriptions and to comparethem to find similarities.

    6.3. N-grams for description

    The OSAg first remove the stopwords, which are

    words that from a non-linguistic view do not carry infor-mation (for example: a, about, above, across, the, for,etc.). Then, the most representative words have to beextracted from the description, which will lead to a short,precise description of the requested product and of thecandidates.

    The description of the requested product will be com-pared with each candidate. As a result we will obtain amatrix of similarity. Adding the values of the matrix wewill have a final result for each description comparison.

    As an example, the description of Battery is comparedwith the one of Storage_Battery. The description for Bat-tery is a device that produces electricity, while Stor-

    age_Battery is described as a device that stores energyand produces electric current by chemical action. Aftertaking the stopwords out, the n-grams matrix can be calcu-lated. It looks as follows:

    The description of the requested product is displayed inthe first column (see Table 6). The n-grams results are com-bined using the formula (1). Hence, the result for thisexample is:

    rn-grams

    Pn

    i1maxin

    1:0 1:0 0:6

    3 0:8.

    Three values appear in the numerator of this formula:

    each one is the highest value of all comparison results foran attribute of the requested item. Their sum is dividedby 3 since the description of Battery consists of threewords.

    6.4. Calculation of the final result

    If at least two of the three methods deliver a result, thesystem makes a statement concerning the correspondenceof terms. If either only the n-grams result for comparingthe descriptions, only the n-grams result for comparingthe attributes or only the result of LCH are existent, thelack of information cannot give reasons to a well-founded

    result.The single results do not have the same reliability. LCH

    delivers the most trustworthy result, followed by the com-parison of the attributes. The value with the highest uncer-tainty is probably the result from the comparison of the

    descriptions. In order to reflect these assumptions, theuse of different weightings for the single results was testedfor the calculation of the final result.

    sim

    Pn

    i1resultmethods weighting

    n. 3

    In order to get one value from the single results, the for-mula (3) is used, where n can be 2 or 3, depending on thenumber of single results.

    7. Related work

    Several related works [3133] in the multi-agent systemsarea have been developed and different approaches havebeen implemented trying to solve the heterogeneity prob-lem in agents communication. Among them, the most clo-sely related to our approach is [34].

    Ref. [33] describes an approach to ontology negotiationthat allows Web-based information agents to resolve mis-

    matches in real time without human intervention. Theterms exchanged consist primarily of the query contentand document descriptors for query results. The funda-mental tasks are: interpretation, clarifying, relevance eval-uation, and ontology evolution. An agent receives theresults of a query as a set of URLs and document descrip-tors. In the testbed, messages are sequences of keywords,and the recipient agent tries to interpret each keyword inturn. The agent checks its own ontology to see whetherthe keyword occurs in there and, if not, the agent queriesthe WordNet lexical database to find out synonyms of thatkeyword. It finally checks the ontology for any of these

    synonyms. The implementation computes a relevance mea-sure for each result by accumulating evidence of relevancefrom the result documents keywords. The negotiation pro-cess culminates in one or both agents modifying theirontology to introduce a new concept, a new distinction,or simply a new term for an existing concept.

    A method for agents to develop local consensus ontolo-gies to aid in the communication within a multi-agent sys-tem of B2B agents is reported in [34]. A first step for theagents is to be able to find related services between inter-organization ontologies and intra-organization ontologies.Agents may have diverse ontologies but, before extensivetranslation can take place, these agents must be able to

    relate services at a slightly higher level. Agents create onlyrelatively small local consensus ontologies to facilitate thediscovery and understanding of the Web service for currentand future B2B systems. The approach allows findingsemantic and syntactic similarity comparing two ontologies

    Table 6Matrix containing the results of n-grams for the description of battery and storage_battery

    Device Stores Energy Produces Electric Current Chemical Action

    Device 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0Produces 0.0 0.1111 0.0 1.0 0.0 0.0 0.0 0.0

    Electricity 0.0 0.0 0.0833 0.0 0.6666 0.0 0.0 0.0

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 41

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    14/15

    at a time with each other without the use of a global, com-mon ontology and then merges these ontologies into alocal, consensus ontology. They provide a straightforwardtool for generating ontologies and all the ontologies arestored and represented in XML.

    8. Conclusion

    With the aid of JADE, which serves as a communicationplatform and as API, a multi-agent system was developed.The application describes a car assembling domain, a B2Bscenario where customers can buy components of a carfrom several suppliers. Four types of agents participate inthe platform: (i) the Customer Enterprise Agent, which isinterested in purchasing a component according to its spe-cific needs; (ii) Supplier Enterprise Agents, willing to selltheir products or services, who makes an offer if this is cur-rently possible. Hence, the requested good has to be instock or the service has to be available. Further, the Sup-

    plier Enterprise Agent has to understand what the Cus-tomer Enterprise Agent is asking for; (iii) The FacilitatorAgent provides a yellow-pages service and renders possiblethe negotiation process by bringing potential business part-ners together; and (iv) The Ontology-Services Agent isresponsible for providing services requested by otheragents so that they will be able to negotiate efficiently.

    Agents use ontologies to ascribe meanings to the termsthey are dealing with. Every agent commits with a top-levelontology that defines an e-commerce specific vocabulary. Itcontains terms used during the negotiation process by allagents and is expressed in terms of Java objects that are

    hard-coded in the agents

    implementation. This ensures ameaningful communication since all agents uniformly inter-pret the messages exchanged. However, this does not implythe correct identification of the requested product or servicebecause additionally each agent represents this domain-spe-cific information in its own ontology. This domain ontologyis existent in OWL format. Both types of ontologies havebeen created with the editor Protege. Plug-ins allow storagein OWL as well as a translation to Java objects.

    The Ontology-Services Agent provides services to helpin the case that a Supplier Enterprise Agent does notunderstand the content of a message since the requestedproduct is not defined in its ontology. But it might exist,represented differently. This refers to the notion of theinteroperability problem, which easily appears when agentsare using different domain ontologies. The Ontology-Ser-vices Agent exchanges messages with both Supplier Enter-prise Agent and Customer Enterprise Agent in order togather all required information for a successful ontologymatching process. Further, the Supplier Enterprise Agentprovides a pre-selection process, which is based on the priceof the requested product and aims at narrowing the set ofpotential correspondent products.

    The proposed solution for solving the interoperabilityproblem applies methods from linguistic data processing,

    including the detection of lexical similarity with the algo-

    rithm n-grams and the use of the WordNet-based semanticsimilarity measure LCH. The lexical measure compares theattributes and the description of concepts, which isexpressed in natural language. The implementation sepa-rates the attributes of a concept by types before comparingthem among each other. This approach leads to meaningful

    comparisons. LCH takes into account the names of theconcepts and scales them pursuant to WordNets is-a hier-archy. Weighting is used for the combination of the threesimilarity values delivered by the measures, aiming at aclearer distinction of values for correspondent and non-correspondent terms.

    The accuracy of the methods depends on the quantity ofinformation (attributes and description) contained in theontologies and if the words can be found in WordNet.Although it is a very large lexical database containing more120,000 words, this may happen for very specific terms.Lack of information could either cause that the systemnot to propose any result or the result is not to be well-

    founded. Thus, setting up an ontology, the developershould bear in mind some rules and maintain them, suchas providing a detailed description.

    References

    [1] M. Klein, A. Kiryakov, D. Ognyanoff, D. Fensel, Finding andspecifying relations between ontology versions, in: Proceedings of theECAI-02 Workshop on Ontologies and Semantic Interoperability,Lyon, 22 July 2002.

    [2] P.R.S. Visser, D.M. Jones, T.J.M. Bench-Capon, M.J.R. Shave, Ananalysis of ontology mismatches; heterogeneity vs. interoperability,in: AAAI97 Spring Symposium on Ontological Engineering, Stan-

    ford, 1997.[3] S. Willmott, I. Constantinescu, M. Calisti, Multilingual agents:

    ontologies, languages and abstractions, in: Proceedings of theWorkshop on Ontologies in Agent Systems, Fifth InternationalConference on Autonomous Agents, Montreal, Canada, 2001.

    [4] M. Kavouras, A unified ontological framework for semantic integra-tion, in: Proceedings of the International Workshop on NextGeneration Geospatial Information, Cambridge (Boston), MA,USA, October 2003, pp. 1921.

    [5] F. Hakimpour, A. Geppert, Resolving semantic heterogeneity inschema integration: an ontology based approach, in: The Proceedingsof the International Conference on Formal Ontology in InformationSystems (FOIS 2001) Maine, USA, 2001, pp. 297308.

    [6] D.L. McGuinness, R. Fikes, R.J. Rice, S. Wilder, An environment formerging and testing large ontologies, in: A. Cohn, F. Giunchiglia, B.

    Selman (eds.), KR2000: Principles on Knowledge Representation andReasoning, San Francisco, 2000, pp. 483493.

    [7] N.F. Noy, M.A. Musen, PROMPT: algorithm and tool for auto-mated ontology merging and alignment, in: Proceedings of AAAI00,Austin, 2000.

    [8] H.S. Pinto, Towards ontology reuse, in: Proceedings of AAAI99sWorkshop on Ontology Management, WS-99-13, AAAI Press, 1999,pp. 6773.

    [9] G. Stumme, A. Maedche, Ontology merging for federated ontologieson the semantic Web, in: Workshop on Ontologies and InformationSharing, IJCAI01, Seattle, USA, 2001.

    [10] M. Klein, Combining and relating ontologies: an analysis of problemsand solutions, in: Workshop on Ontologies and Information Sharing,IJCAI01, Seattle, USA, 2001.

    [11] A. Hameed, D. Sleeman, A. Preece, Detecting mismatches among

    experts ontologies acquired through knowledge elicitation, in:

    42 A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943

  • 8/8/2019 Ontology-Based Services to Help Solving the Heterogeneity Problem

    15/15

    Research and Development in Intelligent Systems XVIII (Proceed-ings of ES 2001)BCS Conference Series, Springer Verlag, Berlin,pp. 922.

    [12] M. Hugns, Software development with objects, agents, and services,in: Proceedings of the Third International Workshop on Agent-Oriented Methodologies, Vancouver, Canada, October 2004.

    [13] OWL Web Ontology Language. Available from: http://www.w3.org/TR/owl-features/, October, 2004.

    [14] FIPA TC Communication FIPA Contract Net Interaction ProtocolSpecification, SC00029H, 12/03/2002. Available from: http://www.fi-pa.org/specs/fipa00029/SC00029H.html.

    [15] M. He, N.R. Jennings, H.-F. Leung, On agent-mediated electroniccommerce, IEEE Transactions on Knowledge and Data Engineering15 (4) (2003) 9851003.

    [16] JADE Java Agent DEvelopment Framework. Available from:http://jade.tilab.com.

    [17] FIPA The Foundation for Intelligent Physical Agents. Availablefrom: http://www.fipa.org.

    [18] FIPA-OSS, Ontology Service Specification. Available from: http://www.fipa.org/specs/fipa00086, April, 2005.

    [19] A. Malucelli, E.C. Oliveira, Ontology-services agent to help in thestructural and semantic heterogeneity, in: Luis M. Camarinha-Matos(Ed.), Virtual Enterprises and Collaborative Networks, KluwerAcademic Publishers, Dordrecht, 2004, pp. 175182.

    [20] J. Gennari, M.A. Musen, R.W. Fergerson, W.E. Grosso, M. Crube zy,H. Eriksson, N.F. Noy, S.W. Tu, The Evolution of Protege: anEnvironment for Knowledge-Based Systems Development, TechnicalReport. SMI Report Number: SMI-2002-0943, 2002.

    [21] Bean Generator. Available from: http://acklin.nl/page.php?id=34,October, 2004.

    [22] Jena Semantic Web Framework for Java. Available from: http://www.hpl.hp.com/semweb/jena.htm, October, 2004.

    [23] FIPA CFP Communicative Act Specification, DC00042B, 10/08/2001.Available from: http://www.fipa.org/specs/fipa00042/DC00042B.html.

    [24] D. Dou, D. Mcdermott, P. Qi, Ontology translation on the semanticWeb, in: Proceedings of International Conference on Ontologies.

    Databases and Applications of Semantics (ODBASE 2003), LNCS2888, Springer Verlag, Berlin, Heidelberg, 2003, pp. 952969.

    [25] I.V. Levenshtein, Binary codes capable of correcting deletions,insertions, and reversals, Cybernetics and Control Theory 10 (8)(1966) 707710.

    [26] G.J.A. Guth, Surname spellings and computerized record linkage,Historical Methods Newsletter 10 (1) (1976) 1019.

    [27] M. Damashek, Gauging similarity via n-grams: Language-indepen-dent sorting, categorization, and retrieval of text, Science 267 (1995)843848.

    [28] G.A. Miller, WordNet: A lexical database for English, Communica-tion of ACM 38 (11) (1995) 3941.

    [29] WordNet::Similarity. Available from: http://www.d.umn.edu/~tped-erse/similarity.html. August, 2004.

    [30] A. Budanitsky, G. Hirst, Semantic distance in WordNet: Anexperimental, application-oriented evaluation of five measures, in:Proceedings of the Workshop on WordNet and Other LexicalResources, Second Meeting of the North American Chapter of theAssociation for Computational Linguistics, Pittsburgh, USA, 2001.

    [31] H. Suguri, E. Kodama, M. Miyazaki, H. Nunokawa, S. Noguchi,Implementation of FIPA ontology service, in: Proceedings of theWorkshop on Ontologies in Agent Systems, Fifth InternationalConference on Autonomous Agents, Montreal, Canada, 2001.

    [32] C. van Aart, R. Pels, G. Caire, F. Bergenti, Creating and usingontologies in agent communication, in: Proceedings of the FirstInternational Conference on Autonomous Agents & Multiagents(AAMAS02), Second International Workshop on Ontologies inAgent Systems (OAS2002), July, Bologna, Italy, 2002.

    [33] S.C. Bailin, W. Truszkowski, Ontology negotiation between scientificarchives, in: Proceedings of the 13th International Conference onScientific Statistical Database Management, Fairfax, Virginia, 1820July 2001.

    [34] A. Williams, A. Padmanabhan, M.B. Blake, Local consensus ontol-ogies for B2B-oriented service composition, in: Proceedings of theSecond International Joint Conference on Autonomous Agents andMultiAgent Systems (AAMAS03), Melborne, Australia, July 2003,pp. 1418.

    A. Malucelli et al. / Electronic Commerce Research and Applications 5 (2006) 2943 43

    http://www.w3.org/TR/owl-features/http://www.w3.org/TR/owl-features/http://www.fipa.org/specs/fipa00029/SC00029H.htmlhttp://www.fipa.org/specs/fipa00029/SC00029H.htmlhttp://jade.tilab.com/http://jade.tilab.com/http://www.fipa.org/http://www.fipa.org/specs/fipa00086http://www.fipa.org/specs/fipa00086http://acklin.nl/page.php?id=34http://www.hpl.hp.com/semweb/jena.htmhttp://www.hpl.hp.com/semweb/jena.htmhttp://www.hpl.hp.com/semweb/jena.htmhttp://www.fipa.org/specs/fipa00042/DC00042B.htmlhttp://www.fipa.org/specs/fipa00042/DC00042B.htmlhttp://www.fipa.org/specs/fipa00042/DC00042B.htmlhttp://www.d.umn.edu/~tpederse/similarity.htmlhttp://www.d.umn.edu/~tpederse/similarity.htmlhttp://www.d.umn.edu/~tpederse/similarity.htmlhttp://www.d.umn.edu/~tpederse/similarity.htmlhttp://www.d.umn.edu/~tpederse/similarity.htmlhttp://www.fipa.org/specs/fipa00042/DC00042B.htmlhttp://www.fipa.org/specs/fipa00042/DC00042B.htmlhttp://www.hpl.hp.com/semweb/jena.htmhttp://www.hpl.hp.com/semweb/jena.htmhttp://acklin.nl/page.php?id=34http://www.fipa.org/specs/fipa00086http://www.fipa.org/specs/fipa00086http://www.fipa.org/http://jade.tilab.com/http://www.fipa.org/specs/fipa00029/SC00029H.htmlhttp://www.fipa.org/specs/fipa00029/SC00029H.htmlhttp://www.w3.org/TR/owl-features/http://www.w3.org/TR/owl-features/