<!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>Match'n'Date: Semantic Matchmaking for Mobile Dating in P2P Environments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michele Ruta</string-name>
          <email>m.ruta@poliba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tommaso Di Noia</string-name>
          <email>t.dinoia@poliba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eugenio Di Sciascio</string-name>
          <email>disciascio@poliba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Floriano Scioscia</string-name>
          <email>f.scioscia@poliba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Bari via Re David 200</institution>
          ,
          <addr-line>I-70125 Bari</addr-line>
          ,
          <country country="IT">ITALY</country>
        </aff>
      </contrib-group>
      <fpage>83</fpage>
      <lpage>97</lpage>
      <abstract>
        <p>In a generic semantic-based matchmaking process, given a request, it is desirable to obtain a ranked list of compatible services/ resources/ profiles in order of relevance. Furthermore, a match explanation can provide useful information to modify or refine the original request in a principled way. Though the feasibility of this approach has been proved with fixed reasoning engines, it is a challenging subject to perform inference tasks on handheld devices. Here we propose abduction and contraction algorithms in Description Logics specifically devised for applications in mobile environments. A simple interaction paradigm based on Bluetooth protocol stack has also been implemented and tested in a mobile dating case study.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        We propose a novel discovery framework whose concrete implementation has
been carried out in a mobile dating case study even if it is cross-applicable in all
discovery scenarios. Knowledge Representation techniques and approaches have
been shaped to be effectively suitable in volatile ubiquitous computing contexts.
In particular, here we adapt abduction and contraction algorithms used in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] in
order to allow their exploitation in resource-constrained contexts. Building on
previous work that enhanced the discovery possibilities offered by standard
codebased matching procedures with semantic-based capabilities [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], here we devise
a further evolution of matchmaking algorithms allowing to run the proposed
reasoning services also on mobile devices. This framework and approach has
been tested for profile matchmaking in a p2p environment.
      </p>
      <p>
        Users equipped with a mobile device expose both their semantically
annotated profile and preferences they would like to satisfy encountering another user.
An exact match between requester preferences and offered profiles is surely the
best possible result, but it is probably too rare to be realistic. It is more feasible
to obtain a ranked list of available user profiles even if they do not completely
fulfill the request. In the same way, when the user preferences and retrieved
profiles are incompatible, it could be interesting to know what are the causes
for the incongruence if user is willing to retract some constraints she originally
imposed to reach a potential match. The proposed system exploits a revised
version of non-monotonic inferences [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] (in particular abduction and contraction)
to retrieve compatible profiles arranged in relevance order. A score is computed
taking into account the semantic affinity between preferences expressed by the
user and characteristics found in the available profiles. As explained hereafter,
we selected a sublanguage deriving from OWL DL, AL(D), to model
ontologies, preferences and profile annotations whereas the proposed system adopts an
enhanced version of DIG 1.1 annotations.
      </p>
      <p>The Bluetooth connectivity of handheld user’s device is exploited to allow
the data exchange aiming at extending the basic service discovery protocol with
semantic capabilities. A “micro-layer” has been integrated within a J2ME1
application level over the Bluetooth stack in order to enable a simple interchange
of semantic annotations between a mobile host performing a query and another
one exposing its characteristics. We adopt a simple piconet configuration
without stable networked zone servers. Peers are equipped with a Bluetooth interface
and they are at the same time able to address requests to other mobile clients
as well as to receive and reply to external queries. Each device hosts a
semantic facilitator to match on-board user preferences with profiles of users in the
neighborhood.</p>
      <p>The remaining of the paper is structured as follows: in the next section we
motivate the proposed approach and present the its background. In Section 3 and
Section 4 we move on to the presentation of the theoretical framework. Relevant
features of the dating application we implemented are outlined in Section 5 with
the aid of a simple illustrative case study. Conclusion closes the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background and Motivation</title>
      <p>
        Exploiting standard relational databases for resource retrieval, the attributes of
the offered and requested resources must exactly coincide to have a match. If
requests and offers are simple names or strings, the only possible match would be
identity, resulting in an all-or-nothing outcome of the retrieval process. Vague
query answering, proposed by [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], was an initial effort to overcome the rigid
constraints of relational databases, by attributing weights to several search
variables.
      </p>
      <p>
        Vector-based techniques taken by classical Information Retrieval can be used
too, thus reverting the search for a resource matching a request to similarity
between weighted vectors of stemmed terms, as proposed in the COINS
matchmaker [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] or in LARKS [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The need to work in someway with approximation
and ranking in DL-based approaches to matchmaking has also recently led to
adopting fuzzy-DLs, as in Smart [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or hybrid approaches, as in the OWLS-MX
matchmaker [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>A further approach structures resource descriptions as set of words. This
formalization allows one to evaluate not only identity between sets, but also some</p>
      <sec id="sec-2-1">
        <title>1 Java 2 Micro Edition: http://java.sun.com/javame/index.jsp</title>
        <p>
          interesting set-based relations between descriptions, such as inclusion, partial
overlap, or cardinality of set difference. Anyway, modeling resource descriptions
as set of words is too much sensitive to the employed words to be successfully
used: the fixed terminology misses meaning that relates to the words. Such a
problem can be solved giving to terms a logical and shared meaning through
an ontology [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Nevertheless set-based approaches already have some properties
we believe are fundamental in a resource matchmaking and retrieval process. If
we are searching for a resource described through a set of words, we are also
interested in sets including the one we search, because they completely fulfill the
resource to retrieve. Moreover even if there are characteristics of the retrieved
resource not elicited in the description of the searched one, an exact match is still
possible because absent information has not to be considered negative. The two
statements above may be summarized in the so called Open World Assumption
(OWA). That is the absence of a characteristic in the description of a resource
to be retrieved should not be interpreted as a constraint of absence. Instead it
should be considered as a characteristic that could be either refined later or left
open if it is irrelevant for the request.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Framework and Approach</title>
      <p>
        After discussing the general Knowledge Representation principles that a logical
approach to matchmaking may yield, we move on to the Description Logic (DL)
setting we adopt2. Due to the lack of space, we refer the reader to [
        <xref ref-type="bibr" rid="ref4 ref6">6, 4</xref>
        ] for
several examples and wider argumentation.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Description Logics and Semantic Matchmaking</title>
        <p>
          From now on we assume that resource descriptions, both requested and offered,
in the matchmaking are expressed in a language whose semantics can be mapped
to a the Description Logic DL AL(D), for instance (a subset of) OWL DL or
the more compact XML-based DIG language. Such a choice is motivated by
several considerations. In [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] it has been proved that there exists a lower bound
on the complexity of Concept Contraction, for all DLs that include AL. AL(D)
specifically requires limited computational capabilities to carry out the proposed
reasoning services. A simple adaptation of the algorithms reported in the
following will allow to report the Concept Contraction and Concept Abduction on an
E L++ logic. Formulas (concepts) in AL(D), we use to represent user profiles and
preferences, are built according to the following rules:
        </p>
        <p>C, D → CN | ¬CN | ∃R | ∀R.C | C</p>
        <p>
          D | (≥k g) | (≤k g)
where CN represents a concept name. For what concerns the ontology
(Terminological Box T in DL-words) we only allow relations between concept names
in the form:
2 We assume hereafter the reader be familiar with basics of Description Logics
formalisms and reasoning [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
CN1
        </p>
        <p>CN2 . . . CNn;
(1)</p>
        <p>CN1 ≡ CN2 . . . CNn;
(2)</p>
        <p>
          CN1
¬CN2 . . . ¬CNn;
(3)
to respectively represent (1) subclass axioms; (2) equivalence axioms; (3) disjoint
axioms. Furthermore, given a concept name CN we cannot have more than one
equivalence axiom with CN on the left hand side (LHS) and if CN appears
on the LHS of an equivalence axiom then it cannot appear on the LHS neither
of a subclass axiom nor of a disjoint axiom. In order to avoid cycles within an
ontology T , we do not allow a concept name CN appears, directly or indirectly,
both on the LHS and on the right hand side of an axiom [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Furthermore, for
each concrete feature g we impose its range is always explicitely represented by
its minimum value and its maximum value. We represent the range of g as:
range(g) = (gmin, gMAX )
        </p>
        <p>DL-based systems usually provide two basic reasoning services for T , namely
(a) Satisfiability and (b) Subsumption in order to check (a) if a formula C is
consistent w.r.t. the ontology –T |= C ⊥– or (b) if a formula C is more specific
or equivalent to a formula D –T |= C D.</p>
        <p>
          If we have a Profile Description PD and a User Preference UP, we can define at
least five different match classes based on subsumption and satisfiability: exact
match, subsumption (full) match, plug-in match, intersection (potential) match,
disjoint (partial) match [
          <xref ref-type="bibr" rid="ref11 ref13 ref4">13, 11, 4</xref>
          ]. Given a preference, representing a request,
and a set of profiles, representing the resources to be retrieved, we can classify
the match relation between the preference and each profile according to the
above classes. As argued in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], there is a strong relation among these classes. In
particular:
– given a partial match between UP and PD, solving a Concept Contraction
Problem (CCP) [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] one can compute what has to be given up G and kept K
in UP in order to have a potential match between K (a contracted version
of UP) and PD. Hence, the result of a CCP is a pair G, K representing
respectively elements in UP conflicting with PD and the (best) contracted UP
compatible with PD.
– given a potential match between UP and PD, solving a Concept Abduction
Problem (CAP) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] one can compute what has to be hypothesized in PD in
order to have a full match with UP (or its contracted version K). Hence, the
result of a CAP is a concept H representing in some way what is
underspecified in PD in order to completely satisfy a preference UP. Please note that we
say underspecified instead of missing. This is because we are under a OWA.
Of course, both for Concept Contraction and Concept Abduction we have to
define some minimality criteria both on G (give up as few things as possible)
and on H (hypothesize as few things as possible). The interested reader may refer
to [
          <xref ref-type="bibr" rid="ref3 ref5">3, 5</xref>
          ] for some minimality criteria in the framework of Description Logics.
An Algorithm for Concept Contraction in AL(D). An algorithm to solve
CAPs for ALN has been proposed in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] and it can be easily adapted to deal
with AL(D). In this section we propose a new algorithm to compute a possible
solution to CCPs in AL(D) given two concepts PD, UP both of them satisfiable
w.r.t. an ontology T . Before computing solutions to a CCP it is more convenient,
from a computational perspective, to reduce both PD and UP to a common normal
form. We use here well know techniques [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] to syntactically transform concepts
and preserve their formal semantics with respect to T . Given a concept C the
normalization process is performed applying recursively the rewriting rules in
Fig.1 to each occurrence of the element appearing in the LHS of the rule.
        </p>
        <p>CN1 → CN1</p>
        <p>CN1 → CN2
CN1 → CN1</p>
        <p>CN2 . . . CNn</p>
        <p>CN3 . . . CNn
¬CN2 . . . ¬CNn
if CN1 CN2 . . . CNn ∈ T
if CN1 ≡ CN2 . . . CNn ∈ T
if CN1 ¬CN2 . . . ¬CNn ∈ T
A</p>
        <p>C ⊥ → ⊥;</p>
        <p>¬A → ⊥;
(≥n g) → ⊥ if n &gt; gMAX ;
(≤m g) → ⊥ if m &lt; gmin;
(≥n g) (≤m g) → ⊥ if n &gt; m;
∀R.C1
∀R.C2 → ∀R.C1</p>
        <p>C2;
(≥n g) (≥m g) → (≥n R) if n &gt; m;
(≤n g) (≤m g) → (≤n g) if n &lt; m;</p>
        <p>Note that we refer to acyclic terminologies. In case of cyclic terminologies
a simple blocking is enough to guarantee the termination of the normalization
process. Given a concept C ∈ AL(D) and a taxonomy T , we call norm(C, T )
the rewriting of C following the rules in Fig.1. If we consider norm(C, T ), it can
be always represented as the conjunction CCN CR C(D), where:
CCN is the conjunction of (negated) concept names;
CR is the conjunction of terms involving roles;
C(D) is the conjunction of concrete domain restrictions, no more than two for
every role (the maximum and the minimum for each concrete feature).</p>
        <p>With |norm(C, T )| we refer to the length of norm(C, T ) computed following
Algorithm 1 reported in the follwoing.</p>
        <p>
          At this point we have all the elements we need to formalize an algorithm
to solve a CCP in AL(D) given two concepts PD and UP both satisfiable w.r.t.
T . In Algorithm contract(AL(D), norm(PD, T ), norm(UP, T ), T ) starting from
the normalized version of UP and PD we compute a solution G, K to the
corresponding CCP and we also return penalty: a numerical value representing the
worth associated to G. In other words, we compute the cost for a contraction of
Algorithm 1: How to compute the length of a concept C with respect to
a taxonomy T
1 Algorithm: |norm(C, T )|
UP. We will use this value to evaluate the global utility function associated to a
profile w.r.t. a set of preferences. Actually, the algorithm can be easily adapted
to deal with different penalty functions [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>Notice that, even though we impose both UP and PD to be satisfiable w.r.t.
to T , in lines 1-8 we also consider the case UP = ⊥. This is needed because of
the recursive nature of the algorithm. In fact, in line 33 we have a recursive call
involving the restrictions of a role R. In case this restriction is ⊥, i.e., ∀R.⊥
occurs UP, we have UP = ⊥ when we call contract(AL(D), norm(PD, T ), ⊥, T ) in
line 33. For the sake of readability of the algorithm let us pose norm(PD, T ) = P¯D
and norm(UP, T ) = U¯P.
1: penalty := 0;
2: if U¯P = ⊥ then
3: if P¯D = ⊥ then
4: return ( ⊥, , 1);
5: else
6: return ( ⊥, , 0);
7: end if
8: else
9: G := ;
10: K := U¯P;
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Dealing with User Preferences</title>
      <p>In real dating scenarios it is quite rare to find exactly the profile we are looking
for. Often we have to reformulate one or more preferences and to hypothesize
some characteristics not specified in the profiles we found. Based on this
reformulate/hypothesize process we usually assign a relevance score to the profile
representing how good our preferences have been satisfied.</p>
      <p>
        In such a matchmaking process, a user request, can be split often into two
separate parts: strict requirements and preferences [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Strict requirements
represent what, in the request, has to be strictly matched by the retrieved profile
description. Preferences can be seen as soft user requirements. In other words,
the user will accept even a profile whose description does not represent exactly
what the user prefers. Usually, a weight is associated to each preference in order
to represent its worth (absolute or relative to the other preferences). Hence, for
a user preference UP we distinguish between a concept UPS representing strict
requirements and a set of weighted concepts UP, v where UP is a DL concept
and v is a numerical value representing the preference worth. It should be clear
that a matchmaking process has not to be performed w.r.t. UPS . It represents
what the user is not willing to risk on at all. He does not want to hypothesize
nothing on it. An approximate solution would not be significant for UPS . Actually,
performing a matchmaking process between preferences and a profile description
PD makes more sense. After all, preferences represent what the user would like
to be satisfied by PD. Hence, even though a preference is satisfied with a certain
degree (not necessarily completely) the user will be satisfied with a certain degree
as well.
      </p>
      <p>
        Given an ontology T , a profile description PD, a strict requirement UPS and
a set of preferences P = { UPi, vi } we compute a global ranking penalty
using Algorithm 2. Here we assign a penalty = +∞ to profiles whose description
fully satisfies user strict requirements. We also introduce a penalty threshold
ϑ. If the global penalty is higher than ϑ then we discard the selected profile
setting penalty := +∞ (line 14). Once we have a profile description such that
T |= PD UPS , then we compute how much it satisfies user preferences. For
each preference we take into account both a numerical evaluation of the
characteristics to be given up with penaltyc and a numerical evaluation of those
characteristics to be hypothesized in penaltya. The function abduce called in
line 7 and line 10 is a combination of the algorithms (slightly modified to be
used with AL(D)) presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to compute and rank solutions to CAPs. We
do not report here the algorithms for the sake of brevity. In line 12 of Algorithm
2 we combine penaltya and penaltyb using two parameters h, g representing the
worth associated respectively to penaltya and penaltyb.
      </p>
      <p>The value of penalty can be easily converted to an affinity value using the
following simple transformation:
penalty
af f inity = 1 − |norm(UP, T )|
Algorithm 2: Algorithm for preference-based semantic retrieval
1 Algorithm: pref erence retrieve(PD, UPS, P, T , t)</p>
      <p>
        Case Study: Match’n’Date
The mobile dating application Match’n’Date has been developed from scratch
as a case study for the proposed matchmaking framework and algorithms. The
goal is to facilitate acquaintance among people in a given environment. The
proposed application is a pure peer-to-peer ubiquitous computing tool, based
only on Bluetooth wireless ad-hoc networking. The core is a mobile matchmaker
implementing reasoning algorithms for Concept Abduction and Concept
Contraction. Note that since Concept Abduction extends Subsumption and Concept
Contraction extends Satisfiability [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the reasoner is also able to perform both
consistency and subsumption checks. Each user stores her personal profile PD and
a set of preference P on her device. They refer to a common domain ontology,
which models people’s physical appearance and personal interests3.
      </p>
      <p>A typical use case follows the protocol steps reported hereafter (also
illustrated in Fig. 2). We refer to the device of the user looking for a profile as α and
to the device hosting a discovered profile as β.
1. The user starts Match’n’Date on her mobile device (α). It looks for other
devices in the Bluetooth radio range.
2. For each found device β, α checks if Match’n’Date is currently running and
waiting for a connection.</p>
      <p>3 Due to lack of space, the reference ontology is not reported here.
3. If Match’n’Date is running on β, then α asks β to send the profile
corresponding to her user. So α sends its profile to β. Profile exchange is performed
via the Bluetooth OBEX (OBject EXchange) feature4.
4. Both α and β run Algorithm pref erence retrieve presented in Section 4
and compute their penalty values. β computes penaltyα,β while α computes
penaltyβ,α. If penaltyα,β = +∞, then α sends a HALT message to β. Similarly
β sends a HALT message to α in case penaltyβ,α = +∞. In both cases the
interaction between α and β ends.
5. If no HALT messages have been sent, then α sends an invitation to β to start
a chat session (over Bluetooth).
6. Now β may visualize the profile sent by α. It may check the af f inityα,β
value (see Fig.5) and it may ask for an explanation of the score looking at
the values of G, K and H returned by pref erence retrieve.
7. β may accept or decline the invitation from α.
Albert has been invited to a party by his room mate Joe, but he is getting quite
bored. Joe is spending all the time with his girlfriend and Albert does not know
anyone and he cannot find interesting conversation topics with other people. He
would like to find a nice and not engaged girl to talk to. After all, Albert does
4 As the system is at a prototypical state, profiles are now pre-loaded into the
handheld. We are developing an intuitive GUI to manage the profile insertion.
not want to spend all the evening talking with her boyfriend. He would like a
woman between 21 and 32 years old and between 160 and 180 cm high, who likes
painting and –very important– has not black hair. His former girlfriend had black
hair. Currently, he is a little bit biased against black hair girls. So he launches
Match’n’Date on his mobile phone. The main menu is shown (as in Fig. 3).
Albert selects Search and Match’n’Date searches for other compatible devices
in its Bluetooth radio range. Fingers crossed.</p>
      <p>A remote device running Match’n’Date is found. It belongs to Barbara, who
is getting bored too. The party is full of geeks. The most interesting and hot topics
tonight seem to be the very last unstable release of the Linux kernel. Luckily
she has Match’n’Date running on her mobile phone. Albert’s device retrieves
Barbara’s profile and sends his profile to Barbara. The matchmaking process
starts.</p>
      <p>Hereafter we report the Albert’s preferences in logic formalism. Using the
graphical interface presented in Fig.4, Albert is able to set the value of the
threshold t and the values for h and g used in line 12 of Algorithm 2. In the
current implementation of Match’n’Date we use a single parameter and always
assume h = g.</p>
      <p>UPSAlbert: ∃hasM aritalStatus</p>
      <p>∀hasM aritalStatus.F ree
UP1Albert: (≥age 21) (≤age 32) (≥height 160)
UP2Albert: ∃hasHobby ∀hasHobby.P ainting, 0.2
UP3Albert: ∃hasHairColor ∀hasHairColor.¬Black, 0.5
(≤height 180), 0.3</p>
      <p>Barbara is 28 years old and 172 cm high. She has red hair and currently she
is not engaged. She likes art and she does not like swimming. She usually listens
to pop-rock music and she watches romantic movies but not science fiction ones.
PDBarbara: (≥age 28) (≤age 28) (≥height 172) (≤height 172) ∃hasHairColor
∀hasHairColor.Red ∃hasM aritalStatus ∀hasM aritalStatus.F ree
∃hasHobby ∀hasHobby.Art
∃hasSportP assion ∀hasSportP assion.¬Swimming
∀f avoriteM usicGenre.P op − Rock
∀f avoriteM ovieGenre.(Romantic
¬Sci − F i)</p>
      <p>Albert is satisfied with the match outcome and wishes to invite Barbara to a
chat. The dating application allows the user to contact the remote device for a
chat session.</p>
      <p>A simple text-based protocol was developed on top of Bluetooth OBEX for
this purpose. Upon reception of an invite from α, β displays a notification to
Barbara (see Fig. 6), who can either accept or decline the invitation. If β accepts,
the chat session starts.
5.2</p>
      <sec id="sec-4-1">
        <title>Experimental Results</title>
        <p>One of the main issues in adapting Semantic Web technologies to mobile
scenarios is to cope with computational costs. Matchmaking tasks usually need a
heavy use of computational resources. This is the most significant reason why we
developed our framework limiting the full expressiveness of OWL DL so using its
AL(D) subset. Note that the reasoning algorithms we propose can be executed
in polynomial time and they do not need highly optimized data structures.</p>
        <p>In what follows we report some performance evaluation tests. In Fig.7, the
time (in milliseconds) needed to calculate the affinity value for 100 pairs
PreferenceProfile randomly generated is shown. The simulation have been conducted
exploiting the Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC 5 allowing to
emulate Virtual Machines (VMs) with different speeds (ranging from 100 to 1000
bytecode/ms). In order to cope with limited computational capabilities and
reduced memory availability of handhelds, we fixed the speed of VM to 100
bytecode/ms as reference value for our simulations. In the Fig.8, the time (in
milliseconds) needed for Concept Contraction –varying the number of concepts and
restrictions in each list of preferences– is reported. Finally, Fig.9 shows the time
(in milliseconds) needed for Concept Abduction w.r.t. the number of concepts
and restrictions in the component to keep –K– of each list of preferences.</p>
        <sec id="sec-4-1-1">
          <title>5 http://java.sun.com/products/sjwtoolkit/</title>
          <p>
            We have proposed a novel discovery framework for mobile ad-hoc contexts
without stable and fixed network infrastructures. Abduction and contraction
algorithms presented in [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] have been adapted to allow an exploitation in wireless
and p2p scenarios. The proposed approach has been validated in a dating case
study where users –equipped with a Bluetooth device– search for semantically
annotated profiles compatible with their preferences (also expressed by means
of a logic annotation). Framework and approach are general purpose as they are
fully re-usable in different contexts and applications.
          </p>
          <p>Future work is aimed at enhancing the expressiveness of the managed logic
attempting to remove some constraint actually imposed (as for example the
possibility to use the ∃ construct for profile definitions). We are currently working
on a thorough evaluation of the approach basically measuring the response times
of the system in different use cases and with different hardware and network
configurations.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>The authors wish to thank Nicola Caragnano for fruitful discussions and for the
implementation of Match’n’Date. The authors acknowledge partial support of
Apulia Region Strategic Project PS 121 and PS 092.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Agarwal</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Lamparter</surname>
          </string-name>
          . smart
          <article-title>- a semantic matchmaking portal for electronic markets</article-title>
          .
          <source>In Proceedings of the 7th International IEEE Conference on E-Commerce Technology</source>
          <year>2005</year>
          ,
          <year>2005</year>
          .
        </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. Mc</given-names>
            <surname>Guinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          .
          <article-title>The Description Logic Handbook</article-title>
          . Cambridge University Press,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.</given-names>
            <surname>Colucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mongiello</surname>
          </string-name>
          .
          <article-title>Concept Abduction and Contraction in Description Logics</article-title>
          .
          <source>In Proceedings of the 16th International Workshop on Description Logics (DL'03)</source>
          , volume
          <volume>81</volume>
          <source>of CEUR Workshop Proceedings</source>
          ,
          <year>September 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Colucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ragone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ruta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Tinelli</surname>
          </string-name>
          .
          <article-title>A non-monotonic approach to semantic matchmaking and request refinement in emarketplaces</article-title>
          .
          <source>International Journal of Electronic Commerce</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ),
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>Extending Semantic-Based Matchmaking via Concept Abduction and Contraction</article-title>
          .
          <source>In Proceedings of the 14th International Conference on Knowledge Engineering and Knowledge Management (EKAW</source>
          <year>2004</year>
          ), pages
          <fpage>307</fpage>
          -
          <lpage>320</lpage>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>Semantic matchmaking as nonmonotonic reasoning: A description logic approach</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          ,
          <volume>29</volume>
          :
          <fpage>269</fpage>
          -
          <lpage>307</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mongiello</surname>
          </string-name>
          .
          <article-title>Abductive matchmaking using description logics</article-title>
          .
          <source>In IJCAI 2003</source>
          , pages
          <fpage>337</fpage>
          -
          <lpage>342</lpage>
          , Acapulco, Messico,
          <source>August</source>
          <volume>9</volume>
          -15
          <year>2003</year>
          . MK.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          .
          <article-title>OIL: An Ontology Infrastructure for the Semantic Web</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>16</volume>
          (
          <issue>2</issue>
          ):
          <fpage>38</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Klusch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Fries</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Sycara</surname>
          </string-name>
          .
          <article-title>Automated semantic web service discovery with owls-mx</article-title>
          .
          <source>In In AAMAS 2006</source>
          , pages
          <fpage>915</fpage>
          -
          <lpage>922</lpage>
          . ACM Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Kuokka</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Harada</surname>
          </string-name>
          .
          <source>Integrating Information Via Matchmaking</source>
          .
          <volume>6</volume>
          :
          <fpage>261</fpage>
          -
          <lpage>279</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            <surname>Corella</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Castells</surname>
          </string-name>
          .
          <article-title>A flexible model for service discovery on the web</article-title>
          .
          <source>International Journal of Electronic Commerce - Special Issue on Semantic Matchmaking and Resource Retrieval</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>41</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Motro</surname>
          </string-name>
          .
          <article-title>VAGUE: A User Interface to Relational Databases that Permits Vague Queries</article-title>
          .
          <source>ACM Transactions on Office Information Systems</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <fpage>187</fpage>
          -
          <lpage>214</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <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 services capabilities</article-title>
          .
          <source>In Proceedings of the First International Semantic Web Conference (ISWC-02)</source>
          , pages
          <fpage>333</fpage>
          -
          <lpage>347</lpage>
          . Springer-Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ragone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.M.</given-names>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>Logic-based automated multi-issue bilateral negotiation in peer-to-peer e-marketplaces</article-title>
          .
          <source>Autonomous Agents and Multi-Agent Systems Journal</source>
          ,
          <volume>16</volume>
          (
          <issue>3</issue>
          ):
          <fpage>249</fpage>
          -
          <lpage>270</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>M. Ruta</surname>
            ,
            <given-names>T. Di</given-names>
          </string-name>
          <string-name>
            <surname>Noia</surname>
            ,
            <given-names>E. Di</given-names>
          </string-name>
          <string-name>
            <surname>Sciascio</surname>
            , and
            <given-names>F.M.</given-names>
          </string-name>
          <string-name>
            <surname>Donini</surname>
          </string-name>
          .
          <article-title>Semantic based collaborative p2p in ubiquitous computing</article-title>
          .
          <source>Web Intelligence and Agent Systems</source>
          ,
          <volume>5</volume>
          (
          <issue>4</issue>
          ):
          <fpage>375</fpage>
          -
          <lpage>391</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <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 Heterogeneus Software Agents in Cyberspace. Autonomous agents and multi-agent systems</article-title>
          ,
          <volume>5</volume>
          :
          <fpage>173</fpage>
          -
          <lpage>203</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>