<!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>Mini-ME: the Mini Matchmaking Engine</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M. Ruta</string-name>
          <email>m.ruta@poliba.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>F. Scioscia</string-name>
          <email>f.scioscia@poliba.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E. Di Sciascio</string-name>
          <email>disciascio@poliba.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>F. Gramegna</string-name>
          <email>gramegna@deemail.poliba.it</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>G. Loseto</string-name>
          <email>loseto@deemail.poliba.it</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>The Semantic Web of Things (SWoT) is a novel paradigm, blending the Semantic Web and the Internet of Things visions. Due to architectural and performance issues, it is currently impractical to use available reasoners for processing semantic-based information and perform resource discovery in pervasive computing scenarios. This paper presents a prototypical mobile reasoner for the SWoT, supporting Semantic Web technologies and implementing both standard (subsumption, satisfiability, classification) and non-standard (abduction, contraction) inference tasks for moderately expressive knowledge bases. Architectural and functional features are described and an experimental performance evaluation is provided both on a PC testbed (w.r.t. other popular Semantic Web reasoners) and on a smartphone.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        when designing systems and applications: particularly, to use more expressive
languages increases the computational complexity of inferences and significant
architectural and performance issues affect porting current OWL-based
reasoners, designed for the Semantic Web, to handheld devices. This paper presents
Mini-ME (the Mini Matchmaking Engine), a prototypical mobile reasoner for
moderately expressive DLs, created to support semantic-based matchmaking [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
[
        <xref ref-type="bibr" rid="ref17">16</xref>
        ]. It complies with standard Semantic Web technologies through the OWL
API [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and implements both standard reasoning tasks for Knowledge Base (KB)
management (subsumption, classification, satisfiability) and non-standard
inference services for semantic-based resource discovery and ranking (abduction and
contraction [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). Mini-ME is developed in Java, adopting Android as target
computing platform.
      </p>
      <p>The remaining of the paper is organized as follows. Section 2 reports on
related work, providing perspective and motivation for the proposal. Mini-ME
is presented in Section 3, where details are given about reasoning algorithms,
software architecture, data structures and supported logic languages. Section 4
relates to performance evaluation on the venue reference datasets3 and a
comparison with other popular Semantic Web reasoners is proposed. Finally conclusion
and future work in Section 5 close the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        When processing semantic-based information to infer novel and implicit
knowledge, careful optimization is needed to achieve acceptable reasoning performance
for adequately expressive languages [
        <xref ref-type="bibr" rid="ref11 ref3">3, 10</xref>
        ]. This is specifically true in case of
logic-based matchmaking for mobile computing, which is characterized by severe
resource limitations (not only affecting processing, memory and storage, but also
energy consumption). Most mobile engines currently provide only rule processing
for entailments materialization in a KB [
        <xref ref-type="bibr" rid="ref13 ref15 ref19 ref28">14, 27, 12, 18</xref>
        ], so basically, available
features are not suitable to support applications requiring non-standard inference
tasks and extensive reasoning over ontologies [
        <xref ref-type="bibr" rid="ref19">18</xref>
        ]. More expressive languages
could be used by adapting tableaux algorithms –usually featuring reasoners
running on PCs– to mobile computing platforms, but an efficient implementation
of reasoning services is still an open problem. Several techniques [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ] allow to
increase expressiveness or decrease running time at the expense of main memory
usage, which is the most constrained resource in mobile systems. Pocket
KRHyper [
        <xref ref-type="bibr" rid="ref25">24</xref>
        ] was the first reasoning engine specifically designed for mobile devices.
It supported the ALCHIR+ DL and was built as a Java ME (Micro Edition)
library. Pocket KRHyper was exploited in a DL-based matchmaking framework
between user profiles and descriptions of mobile resources/services [
        <xref ref-type="bibr" rid="ref14">13</xref>
        ].
However, its limitation in size and complexity of managed logic expressions was very
heavy due to frequent “out of memory” errors. To overcome those constraints,
tableaux optimizations to reduce memory consumption were introduced in [
        <xref ref-type="bibr" rid="ref27">26</xref>
        ]
and implemented in mTableau, a modified version of Java SE Pellet reasoner
      </p>
      <sec id="sec-2-1">
        <title>3 http://www.cs.ox.ac.uk/isg/conferences/ORE2012/</title>
        <p>
          [
          <xref ref-type="bibr" rid="ref26">25</xref>
          ]. Comparative performance tests were performed on a PC, showing faster
turnaround times than both unmodified Pellet and Racer [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] reasoner.
Nevertheless, the Java SE technology is not expressly tailored to the current generation
of handheld devices. In fact, other relevant reasoners, such as FaCT++ [
          <xref ref-type="bibr" rid="ref29">28</xref>
          ] and
HermiT [
          <xref ref-type="bibr" rid="ref24">23</xref>
          ], cannot run on common mobile platforms. Porting would require
a significant re-write or re-design effort, since they rely on Java class libraries
incompatible with mosto widespread mobile OS (e.g., Android). Moreover, the
above systems only support standard inference services such as satisfiability and
subsumption, which provide only binary “yes/no” answers. Consequently, they
can only distinguish among full (subsume), potential (intersection-satisfiable)
and partial (disjoint ) match types (adopting the terminology in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] and [
          <xref ref-type="bibr" rid="ref17">16</xref>
          ],
respectively). Non-standard inferences, as Concept Abduction and Concept
Contraction, are needed to enable a more fine-grained semantic ranking as well as
explanations of outcomes [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In latest years, a different approach to implement
reasoning tools arose. It was based on simplifying both the underlying logic
languages and admitted KB axioms, so that structural algorithms could be adopted,
but maintaining expressiveness enough for broad application areas. In [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], the
basic EL DL was extended to EL++, a language deemed suitable for various
applications, characterized by very large ontologies with moderate
expressiveness. A structural classification algorithm was also devised, which allowed
highperformance EL++ ontology classifiers such as CEL [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] and Snorocket [
          <xref ref-type="bibr" rid="ref16">15</xref>
          ]. OWL
2 profiles definition complies with this perspective, focusing on language subsets
of practical interest for important application areas rather than on fragments
with significant theoretical properties. In a parallel effort motivated by similar
principles, in [
          <xref ref-type="bibr" rid="ref23">22</xref>
          ] an early approach was proposed to adapt non-standard
logicbased inferences to pervasive computing contexts. By limiting expressiveness
to AL language, acyclic, structural algorithms were adopted reducing standard
(e.g., subsumption) and non-standard (e.g., abduction and contraction)
inference tasks to set-based operations [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. KB management and reasoning were then
executed through a data storage layer, based on a mobile RDBMS (Relational
DBMS). Such an approach was further investigated in [
          <xref ref-type="bibr" rid="ref21">20</xref>
          ] and [
          <xref ref-type="bibr" rid="ref20">19</xref>
          ], by increasing
the expressiveness to ALN DL and allowing larger ontologies and more complex
descriptions, through the adoption of both mobile OODBMS (Object-Oriented
DBMS) and performance-optimized data structures. Finally, in [
          <xref ref-type="bibr" rid="ref22">21</xref>
          ]
expressiveness was extended to ALN (D) DL with fuzzy operators. The above tools were
designed to run on Java ME PDAs and were adopted in several case studies
employing semantic matchmaking over moderately expressive KBs. The reasoning
engine presented here recalls lessons learned in those previous efforts, and aims
to provide a standards-compliant implementation of most common inferences
(both standard and non-standard) for widespread mobile platforms.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>System Description</title>
      <p>The architecture of the proposed reasoning engine is sketched as UML diagram
in Figure 1. Components are outlined hereafter:</p>
      <p>KB Management &lt;&lt;component&gt;&gt;</p>
      <p>OwlReasoner
Standard Reasoning Tasks
&lt;&lt;component&gt;&gt;
MicroReasoner
&lt;&lt;component&gt;&gt;
&lt;&lt;library&gt;&gt;</p>
      <p>OWL API
&lt;&lt;use&gt;&gt; &lt;&lt;use&gt;&gt; &lt;&lt;use&gt;&gt;
&lt;&lt;use&gt;&gt; &lt;&lt;component&gt;&gt;</p>
      <p>KB Wrapper</p>
      <p>&lt;&lt;component&gt;&gt;</p>
      <p>
        High Level Data Structures
- Android Service: implements a service (i.e., a background daemon) any
Android application can invoke to use the engine;
- OwlReasoner: OWL API [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] implementation exposing fundamental KB
operations (load, parse) and standard reasoning tasks (subsumption, classification,
satisfiability); it is endorsed by the OWL API open source library;
- MicroReasoner: interface for non-standard reasoning tasks (concept
abduction, contraction);
- KB Wrapper: implements KB management functions (creation of internal
data structures, normalization, unfolding) and basic reasoning tasks on
ontologies (classification and coherence check);
- High Level Data Structures: in-memory data structures for concept
manipulation and reasoning; they refer to reasoning tasks on concept expressions
(concept satisfiability, subsumption, abduction, contraction).
      </p>
      <p>
        Mini-ME was developed using Android SDK Tools4, Revision 12,
corresponding to Android Platform version 2.1 (API level 7), therefore it is compatible with
all devices running Android 2.1 or later. Mini-ME can be used either through
the Android Service by Android applications, or as a library by calling public
methods of the OwlReasoner and MicroReasoner components directly. In the
latter form, it runs unmodified on Java Standard Edition runtime environment,
version 6 or later. The system supports OWL 2 ontology language, in all syntaxes
accepted by the OWL API parser. Supported logic constructors are detailed in
Section 3.1. Implementation details for both standard and non-standard
reasoning services are given in Section 3.2. Data structures for internal representation
and manipulation of concept expressions are outlined in Section 3.3.
In DL-based reasoners, an ontology T (a.k.a. Terminological Box or TBox) is
composed by a set of axioms in the form: A ⊑ D or A ≡ D where A and D are
concept expressions. Particularly, a simple-TBox is an acyclic TBox such that:
(i) A is always an atomic concept; (ii) if A appears in the left hand side (lhs)
of a concept equivalence axiom, then it cannot appear also in the lhs of any
concept inclusion axiom. Mini-ME supports the ALN (Attributive Language
with unqualified Number restrictions) DL, which has polynomial computational
complexity for standard and non-standard inferences in simple-TBoxes, whose
depth of concept taxonomy is bounded by the logarithm of the number of axioms
in it (see [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for further explanation). Actually, such DL fragment has been
      </p>
      <sec id="sec-3-1">
        <title>4 http://developer.android.com/sdk/tools-notes.html</title>
        <p>selected for the first release of Mini-ME as it grants low complexity and memory
efficiency of non-standard inference algorithms for semantic matchmaking. ALN
DL constructs are summarized in Table 1.
3.2</p>
        <sec id="sec-3-1-1">
          <title>Reasoning Services</title>
          <p>
            Mini-ME exploits structural algorithms for standard and non-standard reasoning
and then, when a knowledge base is loaded, it has to be preprocessed
performing unfolding and Conjunctive Normal Form (CNF) normalization. Particularly,
given a TBox T and a concept C, the unfolding procedure recursively expands
references to axioms in T within the concept expression itself. In this way, T
is not needed any more when executing subsequent inferences. Normalization
transforms the unfolded concept expression in CNF by applying a set of
predefined substitutions. Any concept expression C can be reduced in CNF as:
C ≡ CCN ⊓ CLT ⊓ CGT ⊓ C∀, where CCN is the conjunction of (possibly negated)
atomic concept names, CLT (respectively CGT ) is the conjunction of ≤ (resp.
≥) number restrictions (no more than one per role), and C∀ is the
conjunction of universal quantifiers (no more than one per role; fillers are recursively
in CNF). Normalization preserves semantic equivalence w.r.t. models induced
by the TBox; furthermore, CNF is unique (up to commutativity of conjunction
operator) [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]. The normal form of an unsatisfiable concept is simply ⊥. The
following standard reasoning services on (unfolded and normalized) concept
expressions are currently supported:
- Concept Satisfiability (a.k.a. consistency). Due to CNF properties,
satisfiability check is trivially performed during normalization.
- Subsumption test. The classic structural subsumption algorithm is exploited,
reducing the procedure to a set containment test [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ].
          </p>
          <p>
            In Mini-ME, two non-standard inference services were also implemented,
allowing to (i) provide explanation of outcomes beyond the trivial “yes/no” answer
of satisfiability and subsumption tests and (ii) enable a logic-based relevance
ranking of a set of available resources w.r.t. a specific query [
            <xref ref-type="bibr" rid="ref20">19</xref>
            ]:
- Concept Contraction: given a request D and a supplied resource S, if they
are not compatible with each other, Contraction determines which part of D
is conflicting with S. If one retracts conflicting requirements in D, G (for Give
up), a concept K (for Keep) is obtained, representing a contracted version of
the original request, such that K ⊓ S is satisfiable w.r.t. T . The solution G to
Contraction represents “why” D ⊓ S are not compatible.
- Concept Abduction: whenever D and S are compatible, but S does not
imply D, Abduction allows to determine what should be hypothesized in S in
order to completely satisfy D. The solution H (for Hypothesis ) to Abduction
represents “why” the subsumption relation T |= S ⊑ D does not hold. H can
be interpreted as what is requested in D and not specified in S.
          </p>
          <p>
            In order to use Mini-ME in more general knowledge-based applications, the
following reasoning services over ontologies were also implemented:
- Ontology Satisfiability: since Mini-ME does not currently process the ABox,
it performs an ontology coherence check rather than satisfiability check
(difference is discussed e.g., in [
            <xref ref-type="bibr" rid="ref18">17</xref>
            ]). During ontology parsing, the KB Wrapper module
creates a hash table to store all concepts in the TBox T . Since CNF
normalization allows to identify unsatisfiable concepts, it is sufficient to normalize every
table item to locate unsatisfiability in the ontology.
- Classification: ontology classification computes the overall concept
taxonomy induced by the subsumption relation, from ⊤ to ⊥ concept. In order to
reduce the subsumption tests, the following optimizations introduced in [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] were
implemented: enhanced traversal top search, enhanced traversal bottom search,
exploitation of told subsumers. The reader is referred to [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] for further details.
3.3
          </p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Data Structures</title>
          <p>The UML diagram in Figure 2 depicts classes in the High Level Data Structures
package (mentioned before) and their relationships. Standard Java Collection
Framework classes are used as low-level data structures:
- Item: each concept in the ontology is an instance of this class. Attributes are
the name and the corresponding concept expression. When parsing an ontology,
the KB Wrapper component builds a Java HashMap object containing all
concepts in the TBox as String-Item pairs. Each concept is unfolded, normalized
and stored in the HashMap with its name as key and Item instance as value.
- SemanticDescription: models a concept expression in CNF as
aggregation of CCN , CGT , CLT , C∀ components, each one stored in a different Java
ArrayList. Methods implement inference services: abduce returns the hypothesis
H expression; contract returns a two-element array with G and K
expressions; checkCompatibility checks consistency of the conjunction between the
object SemanticDescription and the one acting as input parameter; similarly,
isSubsumed performs subsumption test with the input SemanticDescription.
- Concept: models an atomic concept Ai in CCN ; name contains the concept
name, while denied, if set to true, allows to express ¬Ai.
- GreaterThanRole (respectively LessThanRole): models number
restrictions in CGT and CLT . Role name and cardinality are stored in the homonym
variables.
- UniversalRole: a universal restriction ∀R.D belonging to C∀; R is stored in
name, while D is a SemanticDescription instance.</p>
          <p>Item 0.* UniversalRole
-name : S1tring +++fneilaqeumrae:lsS:(reSm:trUiannngitviceDrseaslcRroipleti)on:boolean
1 SemanticDescription
+abduce(request : SemanticDescription) : SemanticDescription
+contract(request : SemanticDescription) : SemanticDescription []
+checkCompatibility(request : SemanticDescription) : boolean
+isSubsumed(subsumer : SemanticDescription) : boolean
-+dneanmieed::SbtorCionolgenacnept +name : StrLinegssThanRole
+equals(c : Concept) : boolean +cardinality : int
0.* 0.* +equals(r : LessThanRole) : boolean</p>
          <p>GreaterThanRole
0.* +name : String
+cardinality : int
+equals(r : GreaterThanRole) : boolean</p>
          <p>In the last classes, the equals method, inherited from java.lang.Object, has
been overridden in order to properly implement logic-based comparison.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Evaluation</title>
      <p>
        Performance evaluation was carried out for classification, class satisfiability and
ontology satisfiability, including both a comparison with other popular Semantic
Web reasoners on a PC testbed5 and results obtained on an Android
smartphone6. The reference dataset is composed of 214 OWL ontologies with different
complexity, expressiveness and syntax. Full results are reported on the project
home page7, while main highlights are summarized hereafter. Mini-ME was
compared on PC with FaCT++8, HermiT9 and Pellet10. All reasoners were used via
the OWL API [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. For each reasoning task, two tests were performed: (i)
correctness of results and turnaround time; (ii) memory usage peak. For turnaround
time, each test was repeated four times and the average of the last three runs
was taken. For memory tests, the final result was the average of three runs.
Performance evaluation for non-standard inferences is not provided here.
4.1
      </p>
      <sec id="sec-4-1">
        <title>PC Tests</title>
        <p>Classification. The input of this task was the overall ontology dataset. For each
test, one of the following possible outcomes was recorded: (i) Correct, the
computed taxonomy corresponds with the reference classification –if it is included
into the dataset– or results of all the reasoners are the same; in this case the total
time taken to load and classify the ontology is also reported; (ii) Parsing Error,
the ontology cannot be parsed by the OWL API due to syntax errors; (iii)
Failure, the classification task fails because the ontology contains unsupported logic
language constructors; (iv) Out of Memory, the reasoner generates an exception
due to memory constraints; (v) Timeout, the task did not complete within the
timeout threshold (set to 60 minutes). Mini-ME correctly classified 83 of 214
ontologies; 71 were discarded due to parsing errors, 58 presented unsupported
language constructors, the timeout was reached in 2 cases. Pellet classified
correctly 124 ontologies, HermiT 127, FaCT++ 118. The lower “score” of Mini-ME
is due to the presence of General Concept Inclusions, cyclic TBoxes or
unsupported logic constructors, since parsing errors occur in the OWL API library and
are therefore common to all reasoners. Figure 3 compares the classification times
of each reference reasoner w.r.t. the number of classes in every ontology. Pellet,
HermiT and FaCT++ present a similar trend (with FaCT++ slightly faster
than the other engines), while Mini-ME is very competitive for small-medium
ontologies (up to 1200 classes) but less for large ones. This can be considered
as an effect of the Mini-ME design, which is optimized to manage elementary
TBoxes.</p>
        <p>Class satisfiability. The reference test dataset consists of 107 ontologies and,
for each of them, one or more classes to check. However, we tested only the
69 ontologies that Mini-ME correctly classified in the previous proof. Figure
4 shows that performances are basically similar, with times differing only for
few microseconds and no reasoner consistently faster or slower. Moreover, the
chart suggests no correlation between the time and the number of classes in the
ontology.</p>
        <p>Ontology satisfiability. Figure 5 is similar to Figure 3, because this test implies
loading, classifying and checking consistency of all concepts in the ontology; the</p>
        <p>!%%&amp;
*+#,$-%./%012(($(%"3%45$%.34.1.67%
!%%%&amp;
!%%%%&amp;
first two steps require the larger part of the time. Results of all reasoners are the
same, except for ontologies with IDs 199, 200, 202, 203. In contrast to Pellet,
HermiT and FaCT++, Mini-ME checks ontology coherence regardless of the
ABox. The above ontologies include an unsatisfiable class (GO 0075043) with no
instances, therefore the ontology is reported as incoherent by Mini-ME but as
satisfiable by the other reasoners.</p>
        <p>Memory Usage. Figure 6 reports on memory usage peak during classification,
which was verified as the most memory-intensive task. For small ontologies, used
memory is roughly similar for all reasoners; Mini-ME provides good results, with
lower memory usage than Pellet and HermiT and on par with FaCT++. Also
for large ontologies, Mini-ME results are comparable with the other reasoners,
although FaCT++ has slightly better overall performance.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Mobile Tests</title>
        <p>Results for mobile tests have been referred to the above outcomes for PC tests in
order to put in evidence Mini-ME exhibits similar trends (so offering predictable
memory and time consumption behaviors). Anyway, figures clearly evidence the
performance gap, but they highlight the reasoner acceptably works also on
mobile platforms. When out-of-memory errors did not occur, results computed by
Mini-ME on the Android smartphone were in all cases the same as on the PC.
73 ontologies over 214 were correctly classified on the mobile device, 53 were
discarded due to parsing errors, 56 had unsupported language constructors, 30
generated out-of-memory exceptions and 2 reached the timeout. Figure 7 shows
the classification turnaround time –only for the correct outcomes– compared
with the PC test results. Times are roughly an order of magnitude higher on
the Android device. Absolute values for ontologies with 1000 classes or less are
under 1 second, so they can be deemed as acceptable in mobile contexts.
Furthermore, it can be noticed that the turnaround time increases linearly w.r.t.
number of classes both on PC and on smartphone, thus confirming that Mini-ME
has predictable behavior regardless of the reference platform. Similar
considerations apply to class and ontology satisfiability tests (which were run for the 60
ontologies that were correctly classified): the turnaround time comparisons are
reported in Figure 8 and Figure 9. Figure 10 reports on the memory allocation
peak for each ontology during the classification task. Under 1000 classes, the
required memory is roughly fixed in both cases. Instead, for bigger ontologies
the used memory increases according to the total number of classes. Moreover,
in every test memory usage on Android is significantly lower than on PC. This
is due to the harder memory constraints on smartphones, imposing to have as
much free memory as possible at any time. Consequently, Android Dalvik
virtual machine performs more frequent and aggressive garbage collection w.r.t.
Java SE virtual machine. This reduces memory usage, but on the other hand
can be responsible for a significant portion of the PC-smartphone turnaround
time gap that was found.
Fig. 7: Classification, PC vs mobile</p>
        <p>Fig. 8: Class Satisfiability, PC vs mobile
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>The paper presented a prototypical reasoner devised for mobile computing. It
supports Semantic Web technologies through the OWL API and implements
both standard and non-standard reasoning tasks. Developed in Java, it targets
the Android platform but also runs on Java SE. Early experiments were made
both on PCs and smartphones and evidenced correctness of implementation
and competitiveness with state-of-the-art reasoners in standard inferences, and
acceptable performance on target mobile devices. Besides further performance
optimization leveraging Android Dalvik peculiarities, future work includes:
support for ABox management and OWLlink protocol11; implementation of further
reasoning tasks; E L++extension of abduction and contraction algorithms.
Submission,</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Pushing the EL envelope</article-title>
          .
          <source>In: Int. Joint Conf. on Artificial Intelligence</source>
          . vol.
          <volume>19</volume>
          , p.
          <fpage>364</fpage>
          . Lawrence Erlbaum Associates LTD (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mc</surname>
            <given-names>Guinness</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Nardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</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>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hollunder</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nebel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Profitlich</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franconi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>An empirical analysis of optimization techniques for terminological representation systems</article-title>
          .
          <source>Applied Intelligence</source>
          <volume>4</volume>
          (
          <issue>2</issue>
          ),
          <fpage>109</fpage>
          -
          <lpage>132</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>CEL - a polynomial-time reasoner for life science ontologies</article-title>
          .
          <source>Automated Reasoning</source>
          pp.
          <fpage>287</fpage>
          -
          <lpage>291</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The semantic Web</article-title>
          .
          <source>Scientific American</source>
          <volume>284</volume>
          (
          <issue>5</issue>
          ),
          <fpage>28</fpage>
          -
          <lpage>37</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Colucci</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Di Noia,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ragone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ruta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Tinelli</surname>
          </string-name>
          , E.:
          <article-title>A NonMonotonic Approach to Semantic Matchmaking and Request Refinement in EMarketplaces</article-title>
          .
          <source>Int. Jour. of Electronic Commerce</source>
          <volume>12</volume>
          (
          <issue>2</issue>
          ),
          <fpage>127</fpage>
          -
          <lpage>154</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Di Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Donini</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Semantic matchmaking as non-monotonic reasoning: A description logic approach</article-title>
          .
          <source>Jour. of Artificial Intelligence Research (JAIR) 29</source>
          ,
          <fpage>269</fpage>
          -
          <lpage>307</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Haarslev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , Mu¨ller, R.:
          <article-title>Racer system description</article-title>
          .
          <source>Automated Reasoning</source>
          pp.
          <fpage>701</fpage>
          -
          <lpage>705</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bechhofer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The OWL API: a Java API for working with OWL 2 ontologies</article-title>
          .
          <source>Proc. of OWL Experiences and Directions</source>
          <year>2009</year>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          11
          <string-name>
            <given-names>OWLlink</given-names>
            <surname>Structural</surname>
          </string-name>
          <string-name>
            <surname>Specification</surname>
          </string-name>
          , W3C Member http://www.w3.org/Submission/owllink-structural-specification/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          10.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Optimizing description logic subsumption</article-title>
          .
          <source>Jour. of Logic and Computation</source>
          <volume>9</volume>
          (
          <issue>3</issue>
          ),
          <fpage>267</fpage>
          -
          <lpage>293</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          11.
          <source>ITU: Internet Reports</source>
          <year>2005</year>
          :
          <article-title>The Internet of Things (November</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hyun</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>MiRE4OWL: Mobile Rule Engine for OWL</article-title>
          .
          <source>In: Computer Software and Applications Conf</source>
          .
          <source>Workshops (COMPSACW)</source>
          ,
          <source>2010 IEEE 34th Annual</source>
          . pp.
          <fpage>317</fpage>
          -
          <lpage>322</lpage>
          . IEEE (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kleemann</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sinner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>User Profiles and Matchmaking on Mobile Phones</article-title>
          . In: Bartenstein,
          <string-name>
            <surname>O</surname>
          </string-name>
          . (ed.)
          <source>Proc. of 16th Int. Conf. on Applications of Declarative Programming and Knowledge Management INAP2005</source>
          ,
          <string-name>
            <surname>Fukuoka</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          14.
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>3APL-M platform for deliberative agents in mobile devices</article-title>
          .
          <source>In: Proc. of the fourth international joint conference on Autonomous agents and multiagent systems</source>
          . p.
          <fpage>154</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lawley</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bousquet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Fast classification in Prot´eg´e: Snorocket as an OWL 2 EL reasoner</article-title>
          .
          <source>In: Proc. 6th Australasian Ontology Workshop (IAOA10)</source>
          .
          <source>Conf.s in Research and Practice in Information Technology</source>
          . vol.
          <volume>122</volume>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>49</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          16.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.:</given-names>
          </string-name>
          <article-title>A software framework for matchmaking based on semantic web technology</article-title>
          .
          <source>Int. Jour. of Electronic Commerce</source>
          <volume>8</volume>
          (
          <issue>4</issue>
          ),
          <fpage>39</fpage>
          -
          <lpage>60</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          17.
          <string-name>
            <surname>Moguillansky</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wassermann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falappa</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An argumentation machinery to reason over inconsistent ontologies</article-title>
          .
          <source>Advances in Artificial Intelligence-IBERAMIA</source>
          <year>2010</year>
          pp.
          <fpage>100</fpage>
          -
          <lpage>109</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          18.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Delta-Reasoner: a Semantic Web Reasoner for an Intelligent Mobile Platform</article-title>
          .
          <source>In: Twentyfirst Int. World Wide Web Conf. (WWW</source>
          <year>2012</year>
          ). ACM (
          <year>2012</year>
          ), to appear
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          19.
          <string-name>
            <surname>Ruta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Scioscia</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Concept abduction and contraction in semantic-based P2P environments</article-title>
          .
          <source>Web Intelligence and Agent Systems</source>
          <volume>9</volume>
          (
          <issue>3</issue>
          ),
          <fpage>179</fpage>
          -
          <lpage>207</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          20.
          <string-name>
            <surname>Ruta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scioscia</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Noia</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Sciascio</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Reasoning in Pervasive Environments: an Implementation of Concept Abduction with Mobile OODBMS</article-title>
          .
          <source>In: 2009 IEEE/WIC/ACM Int. Conf. on Web Intelligence</source>
          . pp.
          <fpage>145</fpage>
          -
          <lpage>148</lpage>
          . IEEE (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          21.
          <string-name>
            <surname>Ruta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scioscia</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di Sciascio</surname>
          </string-name>
          , E.:
          <article-title>Mobile Semantic-based Matchmaking: a fuzzy DL approach</article-title>
          .
          <source>In: The Semantic Web: Research and Applications. Proceedings of 7th Extended Semantic Web Conference (ESWC 2010). Lecture Notes in Computer Science</source>
          , vol.
          <volume>6088</volume>
          , pp.
          <fpage>16</fpage>
          -
          <lpage>30</lpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          22.
          <string-name>
            <surname>Ruta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Di Sciascio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Piscitelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Scioscia</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>A semantic-based mobile registry for dynamic RFID-based logistics support</article-title>
          .
          <source>In: ICEC '08: Proc. of the 10th Int. Conf. on Electronic commerce</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          . ACM, New York, USA (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          23.
          <string-name>
            <surname>Shearer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Hermit: A highly-efficient owl reasoner</article-title>
          .
          <source>In: Proc. of the 5th Int. Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2008</year>
          ). pp.
          <fpage>26</fpage>
          -
          <lpage>27</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          24.
          <string-name>
            <surname>Sinner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleemann</surname>
          </string-name>
          , T.:
          <article-title>KRHyper - In Your Pocket</article-title>
          .
          <source>In: Proc. of 20th Int. Conf. on Automated Deduction (CADE-20)</source>
          . pp.
          <fpage>452</fpage>
          -
          <lpage>457</lpage>
          . Tallinn, Estonia (
          <year>July 2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          25.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical OWLDL reasoner</article-title>
          .
          <source>Web Semantics: science, services and agents on the World Wide Web</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          26.
          <string-name>
            <surname>Steller</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krishnaswamy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Pervasive Service Discovery: mTableaux Mobile Reasoning</article-title>
          .
          <source>In: Int. Conf. on Semantic Systems (I-Semantics)</source>
          . Graz,
          <string-name>
            <surname>Austria</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          27.
          <string-name>
            <surname>Tai</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keeney</surname>
            , J.,
            <given-names>O</given-names>
          </string-name>
          <string-name>
            <surname>'Sullivan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>COROR: a composable rule-entailment owl reasoner for resource-constrained devices</article-title>
          .
          <source>Rule-Based Reasoning</source>
          , Programming, and Applications pp.
          <fpage>212</fpage>
          -
          <lpage>226</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          28.
          <string-name>
            <surname>Tsarkov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          , I.:
          <article-title>FaCT++ description logic reasoner: System description</article-title>
          .
          <source>Automated Reasoning</source>
          pp.
          <fpage>292</fpage>
          -
          <lpage>297</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>