AGENT APPROACH FOR SERVICE DISCOVERY - Ubiquitous Computing and Communication Journal

Document Sample
AGENT APPROACH FOR SERVICE DISCOVERY - Ubiquitous Computing and Communication Journal Powered By Docstoc
					Special Issue on ICIT 2009 Conference - Web and Agent Systems


                                                     Berdjouh Chafik
                                      Centre de Formation Professionnelle El-Meghaier
                                                Wilaya El-OUED, ALGERIE

                                                        Kazar Okba
                                                 Département d'informatique
                                        Faculté des sciences et sciences de l'ingénieur
                                    Université Mohamed Khider 07000 Biskra, ALGERIE


                   Current technologies for Web Services are based on syntactical descriptions and, therefore,
                   lend themselves to only limited amount of automation. Research efforts in Semantic Web
                   Services, such as OWL-S, try to overcome this major deficiency by providing a complete
                   semantic description for Web Services and their related aspects. In this paper we
                   demonstrate the use of agent technology ,Web Service standards and Web semantic to
                   enable automatic service discovery.

                   Keywords: Web service, multi-agents system, semantic web

                                                                     Combining the technologies of Web services and
    1    INTRODUCTION                                                Semantic Web has led to the concept of semantic
                                                                     Web services.
          Today, the Web is just an enormous warehouse                 The discovery of Web services is an emerging
    of text and images, its development has also made                area of research. Initially, the discovery is made in
    it a service provider. The concept of "Web service"              the UDDI registry, it is based primarily on research
    is essentially an application available on the                   syntactic WSDL descriptions of Web services. But
    Internet by a service provider and accessible by                 with the development of Semantic Web
    clients through standard Internet protocols. In                  technologies, the techniques for discovery have
    essence, Web services are autonomous software                    become essentially semantic. This semantics is
    components and self-descriptive and thereby                      provided through one of ontologies important
    constitute a new paradigm for application                        technologies of the Semantic Web. Thus, software
    integration.                                                     agents can be developed to reason about these
       Currently, Web services are implemented                       ontologies, making the discovery of Web services
    through three technology standards: WSDL, UDDI                   dynamic and automatic. In this work, we propose
    and SOAP. These technologies facilitate the                      an approach to discovery of semantic web services
    description, discovery and communication between                 using agent technology and ontologies.
    services. However, this basic infrastructure does
    not yet allow Web services to keep their promise of
    a largely automated management. This automation                  2     EMERGING TECHNOLOGIES
    is essential to meet the requirements to scale and to
    reduce development costs and maintenance                         2.1     Semantic Web and ontology
    services. Basically, it must accommodate a means                     The Semantic Web [1] is an extension of the
    for describing Web services in a manner                          current Web in which information is given well-
    understandable by a machine.                                     defined meaning, better enabling computers and
                                                                     people to work in cooperation. In order to realize the
       The Semantic Web [1] is a vision of future Web
                                                                     Semantic Web vision a set of standard technologies
    in which information has a semantic understandable               have been defined (the Semantic Web layered
    by a computers. Applied to Web services, the                     architecture):
    principles of the Semantic Web should enable to                          the Syntactic Layer (XML),
    describe the semantics of their functionality, and
                                                                             the metadata layer (RDF/RDFS),
    reasoning are therefore induced a proposal for
                                                                             the semantic layer (Ontology languages),
    automation of various tasks of their life cycle.

UbiCC Journal – Volume 4 No. 3                                                                                                509
Special Issue on ICIT 2009 Conference - Web and Agent Systems

            the Logical Layer (automatic reasoning),        computers (or nodes), where each computer owns
            Proof and trust layer (proof)                   its resources.
    The technology object which is fundamental for the            The characteristics of MAS are that each agent
    realization of the Semantic Web is the ontology.         has incomplete information or capabilities for
         Ontology is term borrowed from philosophy           solving the problem and, thus, has a limited
    meaning "systematic explanation of existence".           viewpoint; there is no system global control; data
    Ontology is similar to a dictionary or glossary but      are     decentralized;      and    computation      is
    with a large and detailed structure, that allows         asynchronous[4].
    machines to process its contents.                        An MAS has the following advantages over a
    Bertrand [2] defines ontology as ”These are formal       single agent or centralized approach like distributed
    representations of domain knowledge in the form of       systems [5]:
    terms with semantic relations”.                          • An MAS distributes computational resources and
         In the Semantic Web, the ontology allows the        capabilities across a network of interconnected
    user during a Web search to access not only to           agents. Whereas a centralized system may be
    documents related to keywords in the query, but          plagued by resource limitations, performance
    also those that are related ontologically                bottlenecks, or critical failures, an MAS is
    (semantically) to them, this makes the search more       decentralized and thus does not suffer from the
    relevant. It aims to describe concepts and               "single point of failure" problem associated with
    relationships that bind them, and with deduction         centralized systems.
    rules to make them more understandable and usable        • An MAS allows for the interconnection and
    by the different agents (human or software).             interoperation of multiple existing legacy systems.
                                                             By building an agent wrapper around such systems,
                                                             they can be incorporated into an agent society.
    2.2      Ontology Web language for services              • An MAS models problems in terms of
            (OWL-S)                                          autonomous interacting component-agents, which
         OWL-S (formerly known as DAML-S) [3] is             is proving to be a more natural way of representing
    ontology for web services and it has been                task allocation, team planning, user preferences,
    developed to enable the following tasks: automatic       open environments, and so on.
    service discovery, automatic service invocation and      • An MAS efficiently retrieves, filters, and globally
    automatic service composition. The service               coordinates information from sources that are
    discovery is improved using ontologies because the       spatially distributed.
    information needed to perform this task is               • An MAS provides solutions in situations where
    expressed using a machine-processable form. A            expertise is spatially and temporally distributed.
    computer can access the description of a web             • An MAS enhances overall system performance,
    service and it can know exactly what the service         specifically along the dimensions of computational
    does thanks to the shared concepts contained in the      efficiency, reliability, extensibility, robustness,
    ontologies used in the description.                      maintainability, responsiveness, flexibility, and
         A service described using OWL-S provides            reuse.
    three types of knowledge: Service Profile, Process
    Model and Service Grounding. The ServiceProfile
    describes what the service does, including               3    OUR APPROACH
    functional information such as inputs, outputs, and
    other non-functional information (category,                   The proposed architecture is an extension of
    classification). It is normally used during the          service-oriented      architecture    (SOA).     This
    automatic discovery of Web services. The Process         architecture is based on agents for discovering Web
    Model describes how the service works; it is an          services.
    abstract vision of the service operation. Finally, the        This architecture (shown in Fig. 1) incorporates
    ServiceGrounding tells how to access the service; it     software components and operating a domain
    contains all the information related to the real         ontology is used during the discovery phase of Web
    implementation of the service and is used to invoke      services, it facilitates the automatic discovery of
    it automatically.                                        services since it allows to refine the search process
                                                             which matches a request and service offerings. The
    2.3    Role of multi-agent systems                       use of this ontology allows the implementation of
        A multi-agent system (MAS) is a loosely              filtering mechanisms (comparison) between a
    coupled network of software agents that interact to      request and offers to implement anything other than
    solve problems and function beyond the capabilities      simple equality.
    of any singular agent in the set-up. The agents in a
    multi-agent system may be distributed on different

UbiCC Journal – Volume 4 No. 3                                                                                        510
Special Issue on ICIT 2009 Conference - Web and Agent Systems

         S.W providers                           User
                                                                 Inter-Agent communications Module

                                                                          Processing Module

       Agent W.S                                Agent User
       Interface                                 Interface                  UDDI Interface

             Agent          Ontologies         Agent
       registration W.S                    discovery W.S

                                                             Figure 3: Architecture of agent registration Web services

                                                             3.1.3     Agent user interface
                                                                  The agent user interface is the gateway to query
          Figure 1: Proposed multi-agent architecture        the system. It provides the user with the form to do
                                                             a query.
    3.1     Architecture description                              This is the agent who will initiate the
    3.1.1     Agent Web service interface                    discovery, by issuing to the Agent discovery, a
        This software agent acts as an interface             request consists of inputs, outputs, a reference
    between the system and the Web service provider,         ontology domain to use (e.g. the ontology of
    such that for each Web service agent is associated.      tourism) and presents the results tailored to the
    Agent Web service interface allows the recording         preferences of users after treatment.
    of the description on the Semantic Web service.               The internal architecture of the agent user
    Moreover, it allows updates information on the           interface is composed of three main modules and a
    Web service.                                             registry backup as shown in Fig. 4.
        The internal architecture of the agent Web
    service interface consists of three modules and a                    Requête
    registry backup, as shown in Fig. 2.

                   Description                                     User communication

                                                                    Processing Module                   Registry
           Module de communication
                                                                Inter-Agent communications
              Processing Module                  Registry                 Module

                                                                Figure 4: Architecture de agent user interface
          Inter-Agent communications
                    Module                                   3.1.4      Agent discovery Web services
                                                                  It is a software agent that allows the discovery
      Figure 2: Architecture of the Web service interface
                                                             of descriptions of Web services satisfying the
                                                             request sent by the agent user interface on the
    3.1.2     Agent registration Web services                     The internal architecture of the discovery agent
        The role of this agent is the preservation of        is composed of two modules and a base of storage
    semantic descriptions of Web services in the UDDI        services for storage the semantic descriptions of
    registry, it contains two modules and an interface as    services provided by UDDI as shown in Fig. 5.
    shown in Fig. 3.                                         They are as follows:
                                                                 Inter-Agent communications Module : He
                                                             received from the agent user interface the query in
                                                             the form of a message and after that, he calls the
                                                             module of treatment. It also receives requests for
                                                             transmission of messages from the module of

UbiCC Journal – Volume 4 No. 3                                                                                           511
Special Issue on ICIT 2009 Conference - Web and Agent Systems

    treatment. Such requests for transfers are received     outputs of the application are covered by the output
    answers queries.                                        of supply in the domain ontology (inclusive
        Base of storage Services : is used to store the    matching);
    semantic descriptions of Web services satisfying        3. Subsumes mode returns an offer if it is included
    the user query.                                         in a request (demand > offer) (the inverse of plug-in
                                                            mode) (partial matching);
                     Inter-Agent                            4. Fail method returns false if no match between
                 communications Module                      offer and demand (demand # offer) (matching
    storage                                    Ontology
   Services        Processing Module           DataBase
                                                                                       Web Service
                                                                                         Web 1

                      UDDI Registry

      Figure 5: Architecture of agent Discovery Web

     Processing Module: it has two tasks:
    1) The task of analysis: selects the domain ontology
    corresponding to the request (from base ontology                                   Web Service
    that stores ontologies in various domains), extract                                  Web 2
    the classes and their links and builds the
    corresponding tree. In our context, this action is
    possible since the vocabulary defined in the domain
    ontology is described in a hierarchical form. Each
    vertex of this tree corresponds to a class of the
    ontology and each arc corresponds to a subclass.
    This tree used to infer relationships of
    generalization (subsumption) between the concepts,        Figure 6: methodogy for generating semantic
    i.e. that a concept is more general than another. A               descriptions of Web services
    concept C includes (subsumes) a concept C ' if the
    extension of C' is included in that of C. Then we            Modes 2 and 3 for comparison using the
    say that C is more general than (or includes) C '.      domain ontology. More specifically, the offers and
    This principle allows us to make comparisons            requests (demands) for services are expressed in
    between flexible offers and requests.                   OWL-S, we compare, according to the four modes,
                                                            all the elements defined in the terms "input" and
    2) The task of comparison: You can compare
    applications and service offerings by considering       "output" in the class ServiceProfile of offers and
    the ontology (see Fig. 6) in accordance with four       requests (demands).
    main modes of comparison defined in [6] using a              The comparison algorithm used in both plug-in
    matchmaking algorithm: Exact mode, Plug-In              mode and subsumes mode uses the function
    mode, subsumes mode and Fail mode.                      Includes [7] (see Fig. 7).
    1. Exact mode selects an offer if it corresponds             The agent uses a subsumption test on outputs
    exactly to a request (demand = offer) i.e. inputs and   (outputs) (see Fig. 8) then we assign a score for
    outputs of the offer is equivalent to the input and     each mode matching: Exact (score = 3), Plug-In
    output of demand (matching exact);                      (score = 2) subsumes (score = 1), Fail (score = 0)
    2. Plug-in mode returns an offer if it includes a       (see Fig. 9).
    request (demand <offer) ie the entries in the
    application includes the supply of inputs and

UbiCC Journal – Volume 4 No. 3                                                                                      512
Special Issue on ICIT 2009 Conference - Web and Agent Systems

    Function Includes (E1 : string, E2 : String) : boolean            The matching between inputs is computed
    % This function returns true if E1 includes E2 false else    following the same procedure.
    % E1 is an element of the clause Input or Output of Offer    Eq. (1) generalize the comparison between a
    % E2 is an element of the clause Input or Output of demand   service concept C O and a corresponding request
    % A represent the ontology (tree form)                       concept C D :
    % We uses the high level functions include :                            i
    % Father(E) : returns the father of E in A
                                                                                                         D            O
    % Root(A) : returns the root of A                                                  3          If    C        = C
                                                                                                         i           i
                                                                                                             D        O
    SummitOngoing : ASummit % A summit under                            D O            2          If     C            C
    discussion                                                   match(Ci , Ci )   =                         i       i       (1)
    TheAncestors: SetofSummits % The Ancestors of E2                                                         D          O
    Begin                                                                              1               If C              C
                                                                                                             i         i
    TheAncestors  ∅                                                                   0          Else
    If E2 = root(A) Then
    % E2 does not an ancestor and can not be subsumed              Assuming there are m concepts in a service
    TheAncestors  ∅                                             description and there are m corresponding concepts
    Else                                                         in a service request, the similarity or global match
    SommetCourant  Father(E2)                                   between the request R and the service S can be
    TheAncestors  Father (E2)                                   derived by summing up the match scores between
    While (SommetOngoing <>Root(A)) Do                           the a concept pair (Eq. (2)) :
           SummitOngoing  Father(SummitOngoing)
             % «+» means adding a new element                                              m
                                                                                                                 D      O
             % throughout the Ancestors                                Similarity(D, O) = ∑ Match(Ci , Ci )                  (2)
           TheAncestors  TheAncestors +                                                   i =1
    End While                                                      Therefore, the matching between a request and a
    End If                                                       set of services can be quantitatively measured. A
           Includes  (E1 TheAncestors)                          service with the highest similarity score represents
    End                                                          the most accurate service for the request. There
                                                                 may be more than one most accurate service.
                Figure 7: Function Includes                      Besides the most accurate service(s), those services
    Function GetScore(rel : String) : Integer                    with a similarity greater than zero are still useful as
    % This Function returns the score of matching                backup services.
    Val =0
    Begin                                                        3.2    Illustrating example
        If rel = "Exact" Then val = 3                                Assume that there are three Web services sales:
        If rel = "PlugIn" Then val = 2                           S1, S2 and S3 published in a UDDI registry.
        If rel = "Subsume" Then val = 1                          Functional parameters (inputs, outputs) are:
        If rel = "Fail" Then val = 0                                       S1 have two inputs "vehicle" and
        End If                                                       "parts", and one output "price".
        Return val                                                         S2 have two inputs "parts" and "car"
    End                                                              ,and one output "price".
                                                                           S3 have two inputs "unit" and
     Figure 8: Procedure of matching for the outputs
                                                                     "material" and one output "price".
     Procedure degreeOfMatch(OutD,OutO : String )                    Consider a user request R contains two inputs
    % This Procedure returns result of comparison                "Car" and "Parts" and one output "Price"
    % OutD, OutO are the output of demand and offer              Given the ontology fragment shown in Fig. 10.
      If OutO = OutD Then Return Exact
      If Includes(OutO, OutD) Then Return PlugIn
      If Includes(OutD, OutO) Then Return Subsume
      Otherwise Return Fail
      End If
     Figure 9: Function returns the score of matching

UbiCC Journal – Volume 4 No. 3                                                                                                     513
Special Issue on ICIT 2009 Conference - Web and Agent Systems

                                                              global matching:
                                                               S1: Total score (total score for inputs + total
                 Thing                                                score for outputs) = 5 + 3 = 8, Good
                                                               S2: Total score = 6 + 3 = 9, Best
                                                               S3: Total score = 0 + 3 = 3, Not Good
                Vehicle                                    ► Thus, the Web service S2 is regarded as the best
                                                           corresponding to the request.

        Bus                Car                             4    CONCLUSIONS AND FUTURE WORK

                                                                 In this paper we presented a conceptual
                                                           framework and architecture based on Web services
                Sedan       SUV          Station           for interoperability.
                                                                 The discovery of Web services is an emerging
        Figure 10: A fragment of the Vehicle ontology      area of research. Various approaches have been
         If we apply the matching algorithm, we obtain     proposed. These approaches have shifted from a
    the following results:                                 search based keywords (discovery syntactic) to
     Comparison of inputs :                               methods based semantics. We proposed an
      S1:                                                  approach based on agents that models the discovery
      Car  vehicle, Founded Input Relation is = Plug-     of semantic web services. Our architecture based
      in, Their score = 2, Total Score is : 2              agents consists of :
      Car  parts, Founded Input Relation is = Fail,             -An agent Web services interface;
      Their score = 0, Total Score is: 2                         -An agent user interface;
      Parts  vehicle, Founded Input Relation is =               -An agent registration Web service;
      Fail, Their score = 0, Total Score is: 2                   -An agent Web service discovery.
      Parts  parts, Founded Input Relation is = Exact,          Agent Web services discovery apply inferences
      Their score = 3, Total Score is: 5                   to match the user query with the services offered.
                       Inputs score weight = 5             The pairing (matching) based on comparing the
      S2:                                                  outputs and inputs of the request with the outputs
      Car  parts, Founded Input Relation is = Fail,       and inputs of the service, and presents different
      Their score = 0, Total Score is: 0                   levels of matching: exact, plug-in, subsume and
      Car  car, Founded Input Relation is = Exact,        fail.
      Their score = 3, Total Score is: 3                         In the short term, we will implement our
      Parts  parts, Founded Input Relation is = Exact,    proposed architecture. To validate our work, we
      Their score = 3, Total Score is : 6                  will conduct tests with a variety of user queries and
      Parts  car, Founded Input Relation is = Fail,       a panel of Web services.
      Their score = 0, Total Score is : 6                     Regarding the prospects for our work, we expect
                       Inputs score weight = 6             the following:
      S3 :                                                    - As regards the matching algorithm could
      Car  unit, Founded Input Relation is = Fail,        provide for other search parameters such as
      Their score = 0, Total Score is : 0                  preconditions and effects, they increase the rate of
      Car  material, Founded Input Relation is =          accuracy.
      Fail, Their score = 0, Total Score is : 0            - Submit an indirect matching in the absence of
      Parts  unit, Founded Input Relation is = Fail,      direct matching i.e. move to Web services
      Their score = 0, Total Score is : 0                  composition.
      Parts  material, Founded Input Relation is =        - We can try to use other types of agents such as
      Fail, Their score = 0, Total Score is: 0             mobile agents and assess their effects on
                       Inputs score weight = 0             performance.
        Comparison of outputs :
         S1 : price  price, Founded Output Relation
         is = Exact, Their score = 3, Total Score is : 3   5    REFERENCES
                       Outputs score weight = 3
                                                           [1] Berners-Lee, T., Hendler, J. et Lassila, O.: The
         S2 : price  price, Founded Output Relation is
                                                               Semantic Web, In Scientific American, vol. 284
         = Exact, Their score = 3, Total Score is : 3
                                                               No. 5, pp. 35 – 43 (2001).
                       Outputs score weight = 3            [2] Bertrand Sajus : La fonction Thésaurale au coeur des
         S3 : price  price, Founded Output Relation           systèmes d’information, ADBS (2002), Available :
         is = Exact, Their score = 3, Total Score is : 3
                     Outputs score weight = 3                  402a.html.

UbiCC Journal – Volume 4 No. 3                                                                                        514
Special Issue on ICIT 2009 Conference - Web and Agent Systems

    [3] W3C : OWL-S Semantic Markup for Web Services,
         W3C Member Submission (2004), Available :
    [4] Katia P. Sycara : Multiagent Systems, AI magazine,
         Volume 19, Number 2, pp. 79-92 (1998).
    [5] Multi-Agent Systems, The Intelligent Software
         Agents       Lab,       2008,       Available     : softagents/multi.html.
    [6] Paolucci, M., Kawamura, T., Payne, T., Sycara, K.:
         Semantic matching of web services capabilities. In:
         Proceedings of the First International Semantic Web
         Conference, LNCS 2342, Springer-Verlag, pp. 333–
         347 (2002).
    [7] Bouzguenda L., Coordination Multi-Agents pour le
         Workflow Inter Organisationnel Lâche, Thèse de
         Doctorat, Université de Toulouse 1, pp. 100–102

UbiCC Journal – Volume 4 No. 3                                  515

Description: UBICC, the Ubiquitous Computing and Communication Journal [ISSN 1992-8424], is an international scientific and educational organization dedicated to advancing the arts, sciences, and applications of information technology. With a world-wide membership, UBICC is a leading resource for computing professionals and students working in the various fields of Information Technology, and for interpreting the impact of information technology on society.