<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Discovery and Uncertainty in Semantic Web Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Francisco Martín-Recuerda</string-name>
          <email>francisco.martin-recuerda@deri.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dave Robertson</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Digital Enterprise Research Institute (DERI), Leopold-Franzens Universität Innsbruck</institution>
          ,
          <addr-line>Technikerstraße 21a, 6020 Innsbruck</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Edinburgh, School of Informatics, Centre for Intelligence Systems and their applications</institution>
          ,
          <addr-line>Appleton Tower, Crichton Street, Edinburgh, EH89LE, Scotland</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Although Semantic Web service discovery has been extensively studied in the literature ([7], [12], [15] and [10]), we are far from achieving an effective, complete and automated discovery process. Using the incidence calculus [4], a truth-functional probabilistic calculus, and a lightweight brokering mechanism [17], the article explores the suitability of integrating probabilistic reasoning in Semantic Web services environments. We show how the combination of relaxation of the matching process and evaluation of web service capabilities based on a previous historical record of successful executions enables new possibilities in service discovery.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Discovery composition, invocation and interoperation are the core pillars of the
deployment of Semantic Web services [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Discovery has been extensively studied in
the literature ([
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]). In a recent effort, the authors of [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] have
focused on providing a coherent and formal model for Semantic Web services
discovery.
      </p>
      <p>
        Roughly speaking, the relaxation of the matching process between a goal (a
functional description of objectives that clients want to achieve using web services) and
web services capabilities (functional descriptions of a service) has been based on the
following set of matching notions [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]: (i) exact-match, a goal and matched web
service capabilities are the same; (ii) plug-in-match, a goal is subsumed by matched
web service capabilities; (iii) subsume-match, matched web service capabilities are
subsumed by a goal; (iv) intersection-match, a goal and matched web service
capabilities have some elements in common; and (v) disjoint-match, a goal and matched
web service capabilities does not follow any of the previous definitions. Although
matching notions relax the identification of target web services, in a future scenario in
which thousands of services can potentially fulfill (or partially fulfill) the objectives
described in a goal, a fine-grained classification of matching notions may be
necessary for improving the degree of automation of the discovery process. One possible
approach is to identify a degree of matching inside of each matching notion. Thus, if
we found one thousand web services that follow an intersection-match pattern, we
need to distinguish which are the web services that are closer to the goal requested
capability.
      </p>
      <p>
        Brokers [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] bring another interesting approach to the problem of filtering the most
promising web services. Brokers are intermediate systems between clients and service
providers. They store web service capabilities and interfaces, execute matching
processes for each goal that they have received, and manage the interaction between
clients and selected web services. Thus after several interactions, brokers can gain
valuable knowledge about which web services are providing a good service and which are
not. A quality of service historical record can help in the identification of promising
web services during the matching process executed in a broker.
      </p>
      <p>
        Current Semantic Web services frameworks (e.g. OWL-S1, WSMO2 and
MeteorS3) use first order logic, description logics and logic programs to represent web
service and goal capabilities and execute matching processes mostly based on
subsumtion checking or query-answering. In this article, we address the two problem areas
raised above as part of a novel architecture for service matching, based on the
incidence calculus. The incidence calculus [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is a truth-functional probabilistic calculus
in which the probabilities of composite formulae are computed from intersections and
unions of the sets of worlds for which the atomic formulae hold true. Incidence
Calculus can be easily integrated with other logic formalisms like propositional logic and
logic programs and facilitate the implementation of a fine-grained matching
mechanism based on probabilities and quality of service records.
      </p>
      <p>
        The experiments were executed on a platform called F-X [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], a modular formal
knowledge management system developed at University of Edinburgh. F-X has
common roots with WSMO (both follows the main principles of UPML [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), and can deal
with WSMO/OWL-S ontologies and web services that fall into DLP fragment [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
We will show how to specify service capabilities in F-Broker, and how incidence
calculus can be nicely integrated
      </p>
      <p>The paper is structured as follows: section 2 introduces semantic web services,
FX and Incidence Calculus. In section 3, the key implementation efforts are described,
and testing results are discussed. Section 4 provides a short review of related work on
probabilistic logic in the Semantic Web. Finally, conclusions and future work are
included in section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Preliminaries</title>
      <p>Commonly in a Virtual Travel Agency scenario, customers require services in
terms of goals (for instance, “I want to book the cheapest flight and hotel available.
The destination is Galway and I want to go on the 4th of November and back to San
Francisco on the 9th of November”). Airline companies and hotels provide services
1 http://www.daml.org/services/owl-s/
2 http://www.wsmo.org/
3 http://lsdis.cs.uga.edu/projects/meteor-s/
(“to book a flight please provides: origin, destination, departure date, return date,
valid passport id and credit-card”). The broker is the virtual travel agency that stores
service descriptions related with hotel and flights booking and attend requests from
customers. We will show in this section how F-X can become in an efficient virtual
travel agency for representing, storing and matching services. First we will introduce
F-Broker, the broker component, and then we will describe incidence calculus and
how this formalism can be integrated in F-Broker to improve its matching
capabilities.</p>
      <sec id="sec-2-1">
        <title>2.1 F-Broker</title>
        <p>
          F-Broker [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] is an automated broker mechanism of F-X with the responsibility to
identify the assemblies of knowledge components appropriate to a task we wish to
achieve. This information is specified using F-Comp. In a multi-agent environment,
agents advertise their competences (or capabilities, defined in the knowledge
components they contain) simply by sending these to F-Broker, which records the
competences and the agents who claim to be able to supply them.
        </p>
        <p>
          When other agent sends a query, the broker processes it, and constructs an internal
description, brokerable structure, based in the competences that previously it
recorded which describes how the query might be answered. In the final stage the
broker translates its brokerable structure into a sequence of performative statements
describing the messages that will be necessary to establish a communication with the
agents that can attend the query. The broker manages the communication between
agents (request and providers) sending and receiving messages which the appropriate
information to response the query [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>
          [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] describes how capabilities and related brokerable structures are represented in
previous versions of F-X. Four forms of capability, C, each of which is implemented
within the expression cap(K, C) , denoting that the agent named K can deliver
capability, C in at least one instance or, if not, will signal failure. Valid options for C
are [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]:
 A unit goal of the form P(A1,…,An) , where P is a predicate name and A1,…, An
are its arguments.
 A conjunctive goal of the form (C1∧…∧Cm) , where each Ci is a unit goal or a
set expression.
 A set expression of the form setof(X,C,S) , where C is either a unit goal or
a conjunctive goal; X is a tuple of variables appearing in C; and S is a set of
instances of those tuples which satisfy C.
 A conditional goal of the form Cc←Cp , where Cc is a unit goal which the agent,
K, will attempt to satisfy (but will not guarantee to satisfy) if the condition, Cp , is
satisfied. Cp is either a unit goal or a conjunctive goal.
        </p>
        <p>Although for simplicity, we will use this version of the capability language, in later
versions of FX, capabilities are represented following the next pattern:
service(Agent, Uri, Ontology, [Service1:-Preconditions1,
Inputs1, Outputs1,Externals1], [...],..., [...]).</p>
        <p>
          A simple brokerable structure has the form c(K, C), where K is the name of the
agent which should be able to deliver the capability and C is a description of the
sources of the capability. C can be in any of the following forms [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]:
 A capability available directly from K.
 A term of the form c(K, dq(Q,QC)), where Q is a capability obtainable
from K conditional on its other capabilities and QC describes how these
capabilities are obtained.
 A term of the form c(K, pdq(Q,QC,QP)), where Q is a capability obtainable
from K conditional on its other capabilities and on capabilities external to K, and
QC and QP describe how these internal and external capabilities (respectively) are
obtained.
 A term of the form c(conj, co(CQ1,CQ2)), where CQ1 and CQ2 are two
capability structures which must jointly be satisfied.
 A term of the form c(K, cn(Q, G, c(K1,Q1))), where K1 is the name of
an agent different from K which allows capability structure Q to be delivered in
combination with capability structure Q1 provided that the correspondence
constraints given by G are satisfiable.
        </p>
        <p>
          Given a query posed by a client, a broker tries to find all the possible ways in which
agents which have advertised their capabilities might be contacted in order to satisfy
that query. It is necessary a formal representation of this sort of combination of
capabilities, for which we use what we call a brokerage structure, of the form c(K, C),
where K is the name of the agent which should be able to deliver the capability and C
is a description of the sources of the capability. C can be in any of the following
forms [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]4:
broker(Q,c(K,Q))
        </p>
        <p>←cap(K,Q).
broker(Q, c(K, dq(Q,QC)))
←cap(K, (Q←C)) ∧</p>
        <p>broker(C,QC).
broker(Q, c(K1,pdq(Q,QC,QP)))
←p_cap(K1, (Q←C), P) ∧
broker(C,QC) ∧
e_broker(P,K1,QP).
broker((Q1,Q2), c(conj,
co(CQ1,CQ2)))
←broker(Q1,CQ1) ∧</p>
        <p>broker(Q2,CQ2).
broker(Q2, c(K2, cn(Q2, G,
c(K1,BQ))))
←corr(K1,Q1,K2,Q2,G) ∧</p>
        <p>Broker(Q1, c(K1,BQ)).</p>
        <p>e_broker(Q, Kn, c(K,Q))</p>
        <p>←cap(K,Q) ∧ not(K=Kn).
e_broker(Q, Kn, c(K, dq(Q,QC)))
←cap(K, (Q←C)) ∧ not(K=Kn) ∧</p>
        <p>broker(C,QC).
e_broker(Q, Kn, c(K1,
pdq(Q,QC,QP)))
←p_cap(K1, (Q←C), P) ∧
not(K1=Kn) ∧ broker(C,QC) ∧
e_broker(P,K1,QP).
e_broker((Q1,Q2), Kn, c(conj,
co(CQ1, CQ2)))
←e_broker(Q1,Kn,CQ1) ∧</p>
        <p>
          e_broker(Q2,Kn,CQ2).
e_broker(Q2, Kn, c(Kn, cn(Q2, G,
c(K1,BQ))))
←corr(K1,Q1,Kn,Q2,G) ∧
broker(Q1, c(K1,BQ)).
4 “corr” represents a correspondence, the equivalent of a bridge in UPML [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.3 Incidence Calculus</title>
        <p>
          Bundy [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] demonstrated that purely numeric probabilistic formalism can derive
into contradictory results during the calculation of an uncertainty measure of complex
formula. The key result of his analysis is that in general P(A∧B)P(A)*P(B).
        </p>
        <p>
          Incidence Calculus [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] reviews the notions of probability theory and introduces an
important novelty: “the probability of a sentence is based on a sample space of
elements. Each element defines a situation in a possible world where a sentence can be
true or false. The sample space, T, contains an exhaustive and disjoint set of elements
that for computational reasons should be finite”.
        </p>
        <p>The incidence of a sentence A, i(A), is the subset of W in which sentence A is true.
The dependence or independence of two sentences, A and B, is defined by the
amount of common points of the result of the intersection between their incidences,
i(A) ∩ i(B) .</p>
        <p>
          The axioms of Incidence Calculus [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] associate a set of theoretic function with
each connective, propositional constant and quantifier of Predicate (Propositional)
Logic so that the incidence of a complex sentence can be calculated from the
incidences of its sub-sentences. The probabilities of composite formulae are computed
from intersections and unions of the sets of worlds for which the atomic formulae
hold true. Bundy called the resulting system Predicate (Propositional) Incidence
Logic [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]:
i(T) = {} i(⊥) = {}
i(A) = i(A) i(¬A) = i(T)\i(A)
i(A∧B) = i(A)∩i(B) i(A∨B) = i(A)∪i(B)
i(A→B) = i(¬A∨B) = (i(T)\ i(A))∪i(B)
        </p>
        <sec id="sec-2-2-1">
          <title>Thus, probabilities are calculated in the following way [4]:</title>
          <p>P(T)= |i(T)| = 1 P(⊥)= |i(⊥)| = 0
P(A)= |i(A)| / |i(T)| P(¬A)= 1-|i(A)| / |i(T)|
P(A∧B) = |i(A)∩i(B)| / |i(T)|
P(A∨B) = (|i(A) ∪i(B)| - |i(A)∩i(B)|) / |i(T)|
P(A|B) = |i(A)∩i(B)| / | i(B)|</p>
          <p>
            As an illustration, consider the following set of incidences describing the weather
of a given week adopted from [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]:
          </p>
          <p>
            Suppose there are two propositions, P={rainy, windy} and seven possible worlds,
T ={sunday, monday, tuesday, wednesday, thursday, friday, saturday}. Suppose that
each possible world is equally probable (i.e. 1/7), and we learn that rainy is true in
four possible worlds (friday, saturday, sunday and monday) and windy is true in
three possible worlds (Monday, wednesday and Friday). Therefore, we can derivate
the following incidence sets [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]:
i(rainy) = {friday, saturday, sunday, monday}
i(windy)= {monday,wednesday, friday}
i(windy∧rainy)= {monday, friday}
Moreover, we can calculate their probabilities in the following way:
P(rainy) = |i(rainy)| / |i(T)|=4/7
P(windy) = |i(windy)| / |i(T)|=3/7
          </p>
          <p>P(windy∧rainy)= | i(windy)∩i(rainy)| / |i(T)|=2/7</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Travel Agency example, writing capabilities in F-Broker</title>
        <p>
          For simplicity we will use the capability language of an earlier version of F-Broker
presented in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. We extend the capability language to store in a list the number of
incidences in which each atomic capability was execute successfully (a client used
this service for a given goal). Initially the set of incidences is empty and after several
computations the broker is populating the sets of incidences according with the
results in the requests attended. For our traveling scenario capabilities, we can model
the services related with an airline company in the following way:
n_requests = [1,2,3,4,5, … , 320].
capability(airline_aa, (flight(Flight, Origin, Destination,
DepartureDate, ArrivalDate, Price, Currency), [3,4,5, … ,
301]).
capability(airline_ba, (flight(Flight, Origin, Destination,
DepartureDate, ArrivalDate, Price, Currency) [6,7, … , 318).
p_capability(financial_vs, pay_order(Person, PurchaseOrder,
Price, Currency,
PaymentMethod):has_money(Person,Price,Currency, PaymentMethod),
has_passport(Person, Nationality))).
capability(financial_vs,, has_money(Person,Price,Currency,
PaymentMethod), [2,3,4, … , 315]).
capability(financial_ms,, has_money(Person,Price,Currency,
PaymentMethod), [5,6 … , 320]).
capability(financial_amex,, has_money(Person,Price,Currency,
PaymentMethod)[100,105, …, 255]).
capability(police, has_passport(Person, Nationality), [3,4,5,
… , 301]).
        </p>
        <p>…</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Implementation and Results</title>
      <p>We present a set of extensions in F-X to allow the system to deal with many
OWLS service profiles, take advantage of a probabilistic mechanism based on Incidence
Calculus and relax the matching process.</p>
      <sec id="sec-3-1">
        <title>3.1 From Description Logics to Description Logic Programs.</title>
        <p>One of the objectives of the implementation was to test F-Broker with real
examples of Semantic Web Services descriptions and also to integrate it in an industrial
standard in order to find possible business applications. Many web services are
annotated using DAML-S Service Profile descriptions. So we thought that it could be a
good idea to provide a translator that semi-automatically converts services
descriptions from DAML-S into F-Broker Service Description Language (SDL). One of the
difficulties is how to translate DL logical statements into Prolog statements.</p>
        <p>
          Description Logic Programs (DLP)[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], is an expressive fragment of the
intersection of Description Logics (DL) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and Logic Programs (LP) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. An important
result of the development of this formalism is DLP-fusion, a bidirectional translation
of premises and inferences from DLP fragment of DL to LP, and vice versa from
DLP fragment of LP to DL that allows Prolog to describe on expressive subset of DL.
The implementation of DLP-Fusion in Prolog is straightforward [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and with this
translator F-Broker is able to import and export knowledge represented using
Description Logics.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Extending matching algorithm</title>
        <p>This section describes the necessary extensions to the matching algorithm of
FBroker in order to incorporate subsumption reasoning, matching notions (exact,
plugin, subsume, intersection and disjoint), a fine-grained degree of matching for some of
these matching notions, and finally a evaluation algorithm based on historical records.
We follow a bottom-up approach in which any new functionality is tested before we
continue with the implementations of new refinements.</p>
        <p>
          Subsumption reasoning. A Meta-interpreter for a language is an interpreter for
the language written in the language itself [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Meta-interpreters are powerful tools
that were widely used for implementing the inference engines of many expert
systems. Using these features the programmers can modify the behaviour of the
interpreter of the language. Goal reduction is the best known and most widely used meta–
interpreter that in Prolog is called Vanilla [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. Vanilla does not support subsumption.
So, the first step during the implementation process was the integration of substitution
of vanilla meta-interpreter by the simple subsumption meta-interpreter. The
integration of the subsumption mechanism with the brokering algorithm is very simple. It is
only to add a clause subs in any of the brokerable predicates that compound the
brokering algorithm for subsumption checking of terms:
brokerable(Q, c(S,Q))
:capability(S, Q1),
subs(Q1,Q).
        </p>
        <p>
          Matching notions. The algorithm that evaluates the degree of matching basically
compares two lists of terms that belong to a web service capability and a goal, verifies
the number of common and no common terms, determines the appropriate notion of
matching following the previous classification and returns a value with the notion of
matching identified. According to the view described in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], abstract services and
goals are both represented as sets of objects during the service discovery step. Thus,
the calculation of the notion of match can be naturally calculated using incidence
calculus. The implementation is also simple. We substitute the subsumption clause in
the brokerable predicates implemented before for a new clause that call a new
algorithm that evaluates and return the notion of match between a capability and goal:
brokerable(Q, c(S,Q,Nmatch))
:capability(S, Q1),
matchingnotion(Q1,Q,Nmatch),
Nmatch&lt;&gt;”disjoint”.
        </p>
        <p>Instead of carrying out strings like “disjoint” or “exact”, it should be interesting to
carry numeric values that can be reused for the calculation of a joint probability of
several composed services.</p>
        <p>Degree of matching notion. The previous algorithm can be improved by using a
degree of matching that qualified the goodness of the matching notion identified. To
do this, we include a new return variable in the matchingnotion predicate with the
value that the incidence calculus algorithm calculates during the evaluation of
common terms between capability and goal.</p>
        <p>brokerable(Q, c(S,Q,Nmatch, Dmatch))
:capability(S, Q1),
matchingnotion(Q1,Q,Nmatch, Dmatch),
Nmatch&lt;&gt;”disjoint”.</p>
        <p>Evaluation of historical records. The proposal described in the current section
focus the evaluation of the brokerable structures according to an historical record of
previous goals. Associated with any atomic service capability there is a list of
successful previous goals. This notion of a set of points (previous goals) fits perfectly
with the probabilistic mechanism Incidence Calculus introduced in the previous
section. In this case, the implementation requires the modification the atomic capabilities
that have to maintain a list of values:
brokerable(Q, c(S, Q, L))
:capability(S, Q1, L),</p>
        <p>A predicate called evaluate finds all the possible broker structures that can
satisfied a request and evaluate the different structures according with the information of
the history record. During the interaction with the client, the broker should modify the
set of previous request of the service that successfully attend the demand of the client:
|?- evaluate(time(T), L).</p>
        <p>
          L = [c(sd,time( A),[
          <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
          ]),2/4] ?
yes
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Discussion</title>
        <p>
          The extended version of F-Broker was tested with a modified version of the
ecologic knowledge base [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] and slightly adapted versions of several web services
examples from DAML5, Mindswap6 and Carnegie-Mellon7. [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] shows that the use of
incidence calculus does not make significantly worse the performances of the broker
with respect to the original version of F-Broker, and the relaxation of the matching
process and the filtering of services based on a list of previous experiences of goals
improve the matching abilities of the matching algorithm.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] the use of incidence calculus was tested with a more advanced version of
F-Broker that includes a lightweight coordination calculus (LCC) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], a method for
specifying agent interaction protocols. Lambert and Robertson use incidence calculus
for the evaluation of services based on an historical record. The use of incidence
calculus clearly helps to identify most promising services and thus satisfied client
goals more efficiently.
        </p>
        <p>
          [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] identified an important limitation of the use of incidence calculus to evaluate
web services based on an historical record of previous goals. This is the incapacity of
the system to handle the changes that the environment undergoes in a specific periods
of time. For instance, the provider of a service with a large and excellent history
record can fall. Any request of the clients that asks for this service will be processed by
the broker and the answer will include the service that the provider cannot supply.
After many requests another service could overcome the re-cord of the unavailable
service, but before this moment the broker will try to execute the wrong service.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Related Work</title>
      <p>The use of probabilistic logic in the context of the Semantic Web has not been
explored in detail. Even the inventor of the Semantic Web, Sir Tim Berners-Lee,
mentioned during the dev day lunchtime session at WWW2004 conference8, that the
Se</p>
      <sec id="sec-4-1">
        <title>5 http:// www .daml.org/services/examples.html</title>
        <p>
          6 http://www.mindswap.org/2002/services/
7 http://www. daml.ri.cmu.edu/ont/TaskModeler/TMont-index.html# Request Realtor1
8 http://esw.w3.org/mt/esw/archives/000055.html
mantic Web stack does not need a representation of uncertainty. The first serious
attempt to incorporate probabilistic reasoning in the Semantic Web was done with
PSHOQ[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. Unfortunately, this work was not taken into consideration by the
Semantic Web Community. A detailed description of an early version of this work can be
found in my master thesis, "Dealing with uncertainty in semantic web services" [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
This work was the first attempt to incorporate incidence calculus in a broker for
semantic web services. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] based on this previous experience incorporates the use of
incidence calculus in an advance version of F-Broker that includes a lightweight
coordination calculus (LCC) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], a method for specifying agent interaction
protocols.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions and Future Work</title>
      <p>
        The relaxation of the matching process and the evaluation web service capabilities
based on a previous historical record of successful executions show the feasibility of
the use of probabilistic logic in Semantic Web services. Uncertainty is present in
functional aspects of Web Services like discovery, composition, interoperation,
mediation, monitoring and compensation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this paper, we focused only in
discovery, and in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], composition is also studied.
      </p>
      <p>Incidence calculus was an excellent choice because its simplicity, rigor and
compatibility with other classical logic formalisms. F-Broker provides an excellent test
platform for the evaluation of incidence calculus in semantic web services. Although
simple, F-Broker provides all basic functionality of a broker and allows the
composition of web services capabilities and the execution of services based on an elementary
vocabulary inspired in KQML. The code is very compact and clean, and new
extensions are easily to include.</p>
      <p>Future work will concentrate in the migration of the test platform to more realistic
scenarios and the evaluation of other probabilistic logic formalism that combines
logic programming with description logics.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements</title>
      <p>This work has been partially supported by the SFI (Science Funds Ireland) under the
DERI-Lion project, and the European Commission under the project Knowledge
Web.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Arroyo</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>The Semantic Web Service Usage Process</article-title>
          . No published.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          .
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Benjamins</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Motta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gaspari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Groenboom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Grosso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Musen</surname>
          </string-name>
          , E. Plaza, G. Schreiber,
          <string-name>
            <given-names>R.</given-names>
            <surname>Studer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Wielinga</surname>
          </string-name>
          .
          <article-title>The Unified Problem-solving Method Development Language UPML</article-title>
          ,
          <year>February 1999</year>
          .
          <article-title>Esprit Project 27169 IBROW 3 (An Intelligent Brokering Service for Knowledge-Component Reuse on the World-Wide Web</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bundy</surname>
          </string-name>
          . Incidence Calculus.
          <source>In Encyclopedia of Artificial Intelligence</source>
          , pages
          <fpage>663</fpage>
          -
          <lpage>668</lpage>
          .
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Decker</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Middle-Agents for the Internet</article-title>
          .
          <source>In Proceedings of ICJCAI-97</source>
          ,
          <year>January 1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>T.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Labrou</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mayfield</surname>
          </string-name>
          .
          <article-title>KQML as a Agent Communication Language</article-title>
          . Sofware Agents,
          <year>1997</year>
          .
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Bredshaw</surname>
          </string-name>
          , AAAI Press/MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Gonzalez-Castillo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Trastour</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Bartolini</surname>
          </string-name>
          .
          <article-title>Description logics for matchmaking of services</article-title>
          .
          <source>In KI-2001 Workshop on Applications of Description Logics</source>
          ,
          <year>September 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B. N.</given-names>
            <surname>Grosof</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Volz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          .
          <article-title>Description Logic Programs: Combining Logic Programs with Description Logics</article-title>
          .
          <source>In Proc. of the Twelfth International World Wide Web Conference (WWW</source>
          <year>2003</year>
          ), pages
          <fpage>48</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>H.</given-names>
            <surname>Haas</surname>
          </string-name>
          and
          <string-name>
            <given-names>A</given-names>
            .
            <surname>Brown</surname>
          </string-name>
          (
          <year>2004</year>
          ).
          <source>Web Services Glossary</source>
          .
          <year>2004</year>
          . http://www.w3.org/TR/wsgloss/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. U. Keller, R. Lara,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Polleres (eds.).
          <source>WSMO Web Service Discovery. Technical report</source>
          , DERI,
          <year>November 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Lambert</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Robertson</surname>
          </string-name>
          .
          <article-title>Matchmaking and Brokering Multi-Party Interactions Using Historical Performance Data</article-title>
          . To appear
          <source>in the Fourth International Joint Conference on Autonomous Agents and Multi Agent Systems</source>
          ,
          <year>Utrecht 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          and
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>A Software Framework for Matchmaking Based on Semantic Web Technology</article-title>
          .
          <source>In WWW'03</source>
          , Budapest, Hungary, May
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.W.</given-names>
            <surname>Lloyd</surname>
          </string-name>
          .
          <article-title>Foundations of logic programming (second extended edition</article-title>
          ). Springer series in symbolic computation. Springer-Verlag, New York,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>F.</given-names>
            <surname>Martin-Recuerda</surname>
          </string-name>
          .
          <article-title>Dealing with uncertainty in Semantic Web services</article-title>
          .
          <source>MSc Thesis</source>
          . University of Edinburgh.
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>M. Paolucci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Kawamura</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Payne</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Semantic Matching of Web Service Capabilities</article-title>
          .
          <source>In ISWC</source>
          , pages
          <fpage>333</fpage>
          -
          <lpage>347</lpage>
          . Springer Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Robertson</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A lightweight method for coordination of agent oriented web services</article-title>
          .
          <source>In: Proceedings of the 2004 AAAI Spring Symposium on Semantic Web Services</source>
          , California, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>D.</given-names>
            <surname>Robertson. F-X: A Formal Knowledge Management System</surname>
          </string-name>
          .
          <source>(unpublished)</source>
          ,
          <year>August 2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Thomas Lukasiewicz and
          <string-name>
            <given-names>Rosalba</given-names>
            <surname>Giugno. P-SHOQ</surname>
          </string-name>
          (
          <article-title>Dn) : A Probabilistic Extension of SHOQ(Dn) for Probabilistic Ontologies in the Semantic Web</article-title>
          .
          <source>Technical report. Institut f¨ur Informations systeme, Technische Universität Wien</source>
          ,
          <year>April 2002</year>
          .
          <source>Technical Report Nr</source>
          .
          <year>1843</year>
          -
          <volume>02</volume>
          -06.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>D.</given-names>
            <surname>Robertson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bundy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Muetzelfeldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Haggith</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M</given-names>
            <surname>Uschold.</surname>
          </string-name>
          Eco-Logic:
          <article-title>LogicBased Approaches to Ecological Modeling</article-title>
          . MIT Press (Logic Programming Series),
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>L.</given-names>
            <surname>Sterling</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Shapiro</surname>
          </string-name>
          .
          <article-title>The Art of Prolog: Advanced Programming Techniques, 2nd Edition</article-title>
          . MIT Press,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Widoff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Lu</surname>
          </string-name>
          . LARKS:
          <article-title>Dynamic Matchmaking Among Heterogeneous Software Agents in Cyberspace</article-title>
          . Autonomous Agents and
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Systems</given-names>
          </string-name>
          , pages
          <fpage>173</fpage>
          -
          <lpage>203</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>