Table 1: Optimisation strategies enabled in each test.
Test # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Selective Consistency × × × × × × × ×
Rank Disjunctions × × × × × × ×
Rank Individuals × × × × × × × ×
Skip Disjunctions × × × × × × ×
Recursively reapply this DC population
algorithm on each E
[1..o]
by setting C = E
j
. If E
j
is a
primitive or nominal type, unfold each E
j
and NNE
j
into a new set UCS, such that UCS = {UC
1
,
UC
2
..UC
p
}, and then also recursively reapply this
population algorithm on each unfolded type UC
k
by
setting C = UC
k
.
4 PERFORMANCE EVALUATION
We implemented the optimisation strategies defined
in section 3, in the Pellet v1.5 reasoner. We selected
Pellet because it is open source while the other
reasoners were not, allowing us to provide a proof of
concept and compare performance with and without
the strategies enabled.
The evaluation was performed on a HP iPAQ
hx2700 PDA, with Intel PXA270 624Mhz
processor, 64MB RAM, running Windows Mobile
5.0 with Mysaifu Java Virtual Machine (JVM), J2SE
allocated 15mb of memory.
We implemented the scenario outlined in section
2.3 to create ontologies containing 141 classes, 126
roles and 337 individuals. Due to the resource
intensive nature of XML parsing, we pre-parsed
OWL XML files into text files of triples and
postpone XML parsing to future work.
We executed a single consistency check to
compare matching individual LaserPrinter1, against
the service request, 15 times using various randomly
selected combinations of our strategies, as shown in
table 1, where test 11 represents normal Tableaux
execution (no optimisations). Tests 1-11 provided
the expected positive matching result and 12-15 did
not complete due to lack of memory.
Figure 1 illustrates the performance of each
successful test in terms of time (seconds).
Consistency time involves application of consistency
rules and branching, to perform the Tableaux
consistency check for LaserPrinter1
∈ Request.
This also encompasses the overhead cost for
performing the optimisations, which is also shown
separately. The total includes consistency time as
well as the time required for preparing the reasoner
(eg loading triple text files into the reasoner).
As observed in Figure 1, the our optimisation
strategies considerably reduce the consistency time
required to find a clash for all models of the query
compared to test 11 which represents normal
execution of Tableaux. We found that consistency
time was influenced by the number of branches and
rules applied.
Figure 2 presents a breakdown of how much time
each strategy contributed to the overhead cost. Tests
8, 9 and 10 suffered particularly costly optimisation
overhead, due to ranking disjunctions. This was
because either selective consistency or skip
disjunctions, or both, were disabled, resulting in
more disjunctions to rank.
Test 5, 7 and 2 show that selective consistency
and skip disjunctions are the most effective
optimisations, especially when used together, and
have low overheads. Rank disjunction and individual
strategies were found to reduce the number of
branches applied, but did not provide any
performance improvement due to the high overhead.
Our performance tests show that some of our
optimisations and ranking algorithms are very
effective in improving Tableaux reasoning
performance on resource limited devices, compared
with no optimisations. This makes mobile reasoning
feasible on resource constrained devices.
5 CONCLUSION AND FUTURE
WORK
Our optimisation strategies were shown to
significantly improve the performance of reasoning
tasks on small resource constrained devices, making
deployment on these devices feasible. Some
strategies performed well, while others require
future work and we implementing a greater number
of scenarios to test our strategies more thoroughly.
We will also leverage our weighted approach, to
adaptively skip branches which have a lower weight,
when resources are low. This will provide a result
with a level of uncertainty rather than “Out Of
Memory” errors, to better manage the trade-off
between resource availability and result precision. In
addition, although we demonstrated the use of
A WEIGHTED APPROACH FOR OPTIMISED REASONING FOR PERVASIVE SERVICE DISCOVERY USING
SEMANTICS AND CONTEXT
117