<!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>PLIS+: A Rule-Based Personalized Location Information System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Iosif Viktoratos</string-name>
          <email>viktorat@auth.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Athanasios Tsadiras</string-name>
          <email>tsadiras@auth.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nick Bassiliades</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Economics</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Informatics, Aristotle University of Thessaloniki GR-54124 Thessaloniki</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, the idea of providing personalized, location-based information services via rule-based policies is demonstrated. After a short introduction, an innovative Personalized Location Information System (PLIS+) is designed and implemented. PLIS+ delivers personalized and contextualized information to users according to rule-based policies. More specifically, many categories of points of interest (for example shops, restaurants) have rule-based policies to expose and deploy their marketing strategy on special offers, discounts, etc. PLIS+ evaluates these rules on-the-fly and delivers personalized information according to the user's context and the corresponding rules fired within this context. After discussing the design and the implementation of PLIS+, illustrative examples of PLIS+ functionality are presented. As a result, PLIS+ proves that combining contextual data and rules can lead to powerful personalized information services.</p>
      </abstract>
      <kwd-group>
        <kwd>RuleML</kwd>
        <kwd>Rules</kwd>
        <kwd>Location Based Services</kwd>
        <kwd>Context</kwd>
        <kwd>Points of Interest</kwd>
        <kwd>Jess</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <sec id="sec-2-1">
        <title>Rule-based Information Services and related work</title>
        <p>
          Latest information services adopt rule based approaches so as to enable higher
quality context perception. Rule-based systems are more autonomous because they are
capable of understanding context changes and responding accordingly without user
intervention [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>
          As a result, up-to-date Location Based Services (LBS) combine semantics
(ontologies, rules) with smartphone’s capabilities (GPS, sensors) tο deliver contextualized
up-to-date information [
          <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5">2-5</xref>
          ] to users. Thus, LBS have become a popular sector of
everyday life and they are used consistently by millions of people for navigation,
tracking, information, even in emergency situations [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
1.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Motivation-Overview</title>
        <p>
          The aim of the presented work is to combine semantics with location information
services to deliver personalized and contextualized information services to users. A
system called “Personalized Location Information System” or PLIS+ was implemented
for this purpose. PLIS+ is an extended version of the PLIS system that is presented in
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. It can be accessed at http://tinyurl.com/ca42fwj
        </p>
        <p>
          A rule-based approach was followed for PLIS+ implementation, based on
discussion in section 1.1 Core component of PLIS+ is RuleML, a powerful markup language
(XML with a predefined Schema) which supports various types of rules such as
deductive, reactive and normative. As an XML-based language, RuleML addresses
the issues of interoperability and flexibility among different systems on the web, by
allowing rules to be encoded in a standard way [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Last but not least, because of the
fact that PLIS+ users are capable of adding rules at run-time, an xml-based user
friendly language is desirable.
        </p>
        <p>PLIS+ could easily be combined with most of existing approaches and differs by
enabling a dynamic rule base that offers users the option to add rules at run time. A
detailed demonstration of the system is included in the following sections.
2</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Design, Implementation and technical details</title>
      <p>In everyday life, in order to deploy their specific business strategy, many points of
interest (as businesses) adopt a rule-based policy (e.g. special offers). The general
idea is to combine POI’s policies with user’s context to deliver ‘qualitative’
information. A general interface for connection between POI owners and potential
customersusers is provided. Every time a user logs into the system to search for a point of
interest, PLIS+ gets user’s context (profile, location, day, time), evaluates the rules
associated with nearby POIs and delivers personalized information to user, depending on
the rules fired. Users can also become owners of various POIs and after that they are
capable of inserting their own rule base policy for those POIs. The general idea is
illustrated in Figure 1.
To be more specific, PLIS+ offers the following functionalities illustrate in Figure 2:</p>
      <sec id="sec-3-1">
        <title>A: User’s Registration:</title>
        <p> A1. User registers to the system by completing a registration form so as PLIS+ to
build a profile (registration time user).
 A2. User profile data such as first name, last name, occupation, gender, age, city,
state, etc are stored in the database.</p>
        <p>B: Insertion of Points of Interest:
 B0. After a user has logged in, the system obtains user position and retrieves
nearest POI’s from external sources such as Google Places API. If information of a POI
is already in the system, PLIS+ updates its related data with the latest information.
 B1. User is capable (by becoming POI owner) of attaching to existing places
attributes and explicit rules relevant to those attributes. In detail, user is able to assert
a rule base which contains any attribute related to his POIs and then assert rules
concerning these attributes. For example a restaurant owner asserts a policy which
contains data (related to his business) such as Pizza 10€, Spaghetti 8€, Minimum
order 5€ and along with above data, relevant rules such as “if a person is a student
and hour is after 18:00, then Pizza price is 8€”.Furthermore, a user is of course
capable of inserting his/her own POIs accompanied by their own rule based policy.
Alternatively, place owners can upload their rule base to their website and insert
the relevant link. The editing of the corresponding rule base is authorized only to
the POI’s owner.
 B2. All data and rules concerning the POI are saved to the corresponding
database. Except from this, files containing rule bases are kept to the server.
C: Presentation of Personalized information. To present the personalized
information to the end user, the following steps are made:
 Step C1:
a. After registration, user is able to log into the system by entering his/her
username and password.</p>
        <p>b. System checks user profile database for authentication.
 Step C2: Java Server Pages (JSP) collects user context (profile, location, time, day)
attribute values (run time user).
 Step C3:
a. For every POI, rules (if any) are being fetched (by JSP), along with relevant
attribute values (for example price, etc).
b. Rules (after being transformed to a machine understandable language), POI
data and user context attribute values are asserted to the Jess rule engine.
 Step C4: Jess rule engine evaluates rules using the asserted facts and updates
POIs’ data according to the rules fired depending on user’s context. The new data
are fetched by JSP.
 Step C5: Finally, data transfer to client is performed for visualization and
presentation of personalized information. It’s worth mentioning that a user-oriented
interface has been implemented so as the run-time user to become capable of
understanding the general idea of PLIS+. First of all, different markers are applied for better
illustration. In detail, except from the standard red marker for POIs, a) a yellow marker
indicates that the place contains a rule base but no rule fired for current user, b) a
green marker indicates that the place contains a rule base and rules were fired for the
current user, c) a crown over the marker indicates that the current user is also the POI
owner of this place. Moreover, when a person clicks on a place additional information
appears in a message explaining which rules were fired and why or in the case that no
rule was fired for the specific POI, which rules exist for the place (if any).</p>
        <p>
          Basic component of PLIS+ is Reaction RuleML, a subcategory of RuleML. It is
used for rule representation. This subcategory was chosen because such kinds of
policies are usually represented by production rules and Reaction RuleML is suitable
for that task [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Reaction RuleML also supports both deductive rules, i.e. rules which
derive data at their RHSs, and event-based rules, i.e. rules which are activated by
specific events, such as user actions or temporal events. Therefore, Reaction RuleML
could be easily used to express a multitude of rule-based calculations and data
processing for business strategies.
        </p>
        <p>
          On the other hand, to implement a system like PLIS+, an inference engine is
needed in order rules to be executed by a machine. Jess was chosen to implement the
core of PLIS+, because of the fact that it is a lightweight rule engine and connects
well with web technologies, which were needed for PLIS+ system implementation
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. So for example, after the translation from RuleML to Jess, the rulebase for the
POI with the following characteristics: a) pizza: 10€, b) spagheti: 8€, c) minimum
order: 5€ and d) a rule considering “pizza price decreased to 8€ after 18:00 for students”
is represented as shown below:
(bind ?fact (assert (place (pizza 10) (Spaghetti 8)
(minimum_order 5))))
(defrule decreased_pizza_price
(declare (salience 10))
(person (hour ?d) (occupation student))(test (&gt; ?d 18))
=&gt;(modify ?fact (pizza 8) )
(store EXPLANATION "Pizza price decreased to 8€ after 18:00 for students"))
        </p>
        <p>
          Rules in RuleML format transformed to Jess rules by using XSLT [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. XSL
technology is used massively to transform XML documents. Another core technology
of PLIS+ is Java Server Pages (JSP). The vast majority of rule engines such as Jess,
Drools, Prova [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] are not only server-oriented (for security issues) but also
javabased. JSP implementation fulfills both criteria. Moreover, JSP can be easily
embedded into html documents and is heavily used along with client-oriented technologies
such as JavaScript for visualization.
This section includes a demonstration of the PLIS+ system. A random user profile
snapshot is used as an example (Table 1). On the other hand two random places from
the database selected for testing (Table 2). Table 2 shows the attributes and also the
rules that were attached to these places.
        </p>
        <p>As it was previously referred, PLIS+ gets user profile, evaluates rules and displays
personalized information. When user A (“Susan”) logs into the system she is able to
click on places displayed by green markers (places containing rules that fired
according to current user profile), so as to understand which rules fired for her and why
(Figure 3). Taking Place A (Table 2) as an example, rule 2 is fired (because she is a
woman, the day is Friday and current time is after 18:00). PLIS+ updates attribute
values according rule 2 and delivers contextualized information to Susan (Figure 4).
Coffee and ice-cream price for Susan are 1.5 and 2.5€ after rule 2 execution. She is
also capable of understanding why a rule fired with the rule explanation field.</p>
        <p>Similarly, both rules were fired for place B. Susan is a student (Rule 1 criterion)
and she is a woman under 35, closer than 500m from place B (Rule 2 criteria,
assuming that location A is closer than 500m). According to Rule 2, minimum order for
current user is 4€, but there is a confliction for pizza price (pizza price is 6€ according to
rule 1 and 8€ according to the second). PLIS+ handles rule confliction problems by
applying priorities according to assertion turn. A Rule which was inserted first has a
higher priority. Taking those under consideration pizza price for Susan is 6€ and
related information displayed as in Figure 5.</p>
        <p>This example illustrates how the delivered information is displayed to the end
user and the capabilities of PLIS+ concerning a) gender, b) day, c) location, d)
occupation, e) time, f) a non-applicable rule case and g) rule confliction.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Limitations and comparison with related works</title>
      <p>A limitation of the proposed system is the fact that users can add data and rules
concerning these data only in textual form. Furthermore, no rule sharing between place
owners or a rule recommendation operation is supported. Moreover, there are some
security issues concerning place owners operations. For example, an authentication
process validating that the user who is becoming POI owner is the actual place owner
would be desirable. In addition to this, a rule validation operation would be useful.</p>
      <p>Concerning comparison with related approaches described in section 1 PLIS+
differs by letting users adding and editing rules at run time. It is a fully dynamical
service where users can add an unlimited number of data and rules, and consequently
it becomes more and more intelligent and autonomous as soon as new data and rules
are asserted to the system. On the other hand, many rule based approaches adopt more
complex rule bases in relation to PLIS+. Last but not least, by using RDF and OWL
such kind of services can be more flexible.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>Location-Based Services are currently popular, enjoying both commercial and
scientific interest. An important part of LBS is the points of interest, and as mentioned,
most of them can have their explicit rule policies. Taking these facts under
consideration, embedding rules dynamically to location-based information systems can offer a
boost to the quality of delivered information. PLIS+ combines location-based
technologies with rule-based technologies to demonstrate the viability of this idea.</p>
      <p>
        PLIS+ implementation can evolve in various ways. First of all, because of the fact
that POI owners are unfamiliar with RuleML, a user-friendlier environment has to be
implemented. Either a form-based interface will be implemented, or otherwise a
ruleml editor [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] will be embedded, so as place owners to become capable of adding
and editing rules without much effort. Additionally, system should propose rules that
other owners have added previously and run time owners-users should be capable of
choosing between existing rule sets.
      </p>
      <p>Furthermore, in our future plans is to use OWL and/or RDF data (as in linked
data) to represent user profiles and POI related information, for greater flexibility.
Moreover, recommendation algorithms depending on the retrieved information (after
the rules fired) would be useful. Additionally, future work will also focus on security
and interoperability issues. Besides these, a mobile application e.g. for a smartphone,
can be implemented and integrated with the native context sensing devices (e.g. GPS,
compass, etc.). In addition, experimental testing of the system is in progress by
making PLIS+ public.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <article-title>Applying Semantic Web in Mobile and Ubiquitous Computing: Will PolicyAwareness Help? Semantic Web</article-title>
          and Policy
          <string-name>
            <surname>Workshop</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Serrano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hervás</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bravo</surname>
          </string-name>
          . Telemaco: Context-aware
          <source>System for Tourism Guiding based on Web 3.0 Technology. International Workshop On Contextual Computing and Ambient Intelligence in Tourism</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>N.</given-names>
            <surname>Tryfona</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Pfoser: Data Semantics in Location-based Services</article-title>
          .
          <source>Journal on Data Semantics III</source>
          , vol.
          <volume>3534</volume>
          , pp.
          <fpage>168</fpage>
          -
          <lpage>195</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>lliam</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Woensel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Casteleyn</surname>
            and
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Troyer</surname>
          </string-name>
          .
          <article-title>Applying semantic web technology in a mobile setting: the person matcher</article-title>
          ,” Web Engineering, pp.
          <fpage>506</fpage>
          -
          <lpage>509</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Van</given-names>
            <surname>Woensel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Casteleyn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            , and
            <surname>Troyer</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          <article-title>A framework for decentralized, context aware mobile applications using semantic web technology</article-title>
          .
          <source>In Proc. of the Confederated International Workshops and Posters On the Move to Meaningful Internet Systems</source>
          . Springer,
          <fpage>88</fpage>
          -
          <lpage>97</lpage>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Steiniger</surname>
          </string-name>
          , Moritz N.,
          <string-name>
            <surname>Alistair</surname>
            <given-names>E.</given-names>
          </string-name>
          :
          <source>Foundation of Location Based Services. Lecture Notes on LBS</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Viktoratos</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsadiras</surname>
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bassiliades</surname>
            <given-names>N. Personalizing</given-names>
          </string-name>
          <string-name>
            <surname>Location</surname>
          </string-name>
          <article-title>Information through Rule-Based Policies accepted for presentation to RuleML 2012</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Yuh-Jong</surname>
            <given-names>Hu</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ching-Long</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfgang</surname>
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Challenges for Rule Systems on the Web</article-title>
          .
          <source>RuleML '09 Proc. of the 2009 International Symposium on Rule Interchange and Applications</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Paschke</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlenkov</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>A Homogenous Reaction Rule Language for Complex Event Processing</article-title>
          ,
          <source>2nd International Workshop on Event Drive Architecture and Event Processing Systems (EDA-PS</source>
          <year>2007</year>
          ), Vienna, Austria, (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ernest</surname>
          </string-name>
          Friedman-Hill: Jess in Action.
          <source>Rule-Based Systems in Java. Manning Publications. ISBN-10: 1930110898</source>
          , pp.
          <fpage>32</fpage>
          -
          <lpage>33</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gregory</surname>
          </string-name>
          <article-title>Sherman: A Critical Analysis of XSLT Technology for XML Transformation</article-title>
          .
          <source>Senior Technical Report</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. Liang,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fodor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wan</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Kifer: OpenRuleBench:An Analysis of the Performance of Rule Engines</article-title>
          .
          <source>WWW 2009</source>
          Madrid(
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. E. Kontopoulos,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bassiliades</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Antoniou</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Seridou: Visual Modeling of Defeasible Logic Rules with Dr-VisΜo. Intern</article-title>
          .
          <source>Journal on Artificial Intelligence Tools</source>
          ,
          <volume>17</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>903</fpage>
          -
          <lpage>924</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>