<!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>A Framework for Acquiring Semantic Sensor Descriptions (Short Paper)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luka Bradeško</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexandra Moraru</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Blaž Fortuna</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carolina Fortuna</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dunja Mladenić</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Jožef Stefan Institute</institution>
          ,
          <addr-line>Ljubljana</addr-line>
          <country country="SI">Slovenia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>There has been great effort in developing ontologies for modeling sensor networks, describing various types of sensors and their context. However, when faced with a large scale deployment, the process of acquiring and managing semantic sensor metadata is challenging. This paper focuses on acquiring contextual metadata of sensors, such as location and surrounding environment, as opposed to technical metadata which can be derived from sensor's firmware. More specifically, the paper proposes a framework for collecting contextual metadata information with help of the mobile devices, which allows usage on the deployment site and as such lowers the cost.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Semantic Sensor Web</kwd>
        <kwd>Semantic Sensor Networks</kwd>
        <kwd>Knowledge Acquisition</kwd>
        <kwd>Mobile Applications</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>With the rapid development and increasing number of real world applications of
large scale sensor networks it became obvious that there is a need for software
solutions supporting communication, sensor data retrieval and storage. In parallel to that,
there is a need for an infrastructure to cover sensor descriptions, deployment and
maintenance data. This paper focuses on the infrastructure supporting sensor
metadata acquisition and management based on semantic technologies.</p>
      <p>Semantic technologies have been identified as one of the key enabling technologies
for sensor networks [1], contributing to understanding and managing of the sensors
and measurements. One of the advantages of applying semantic technologies to
sensor networks is the interoperability support, which in terms of comparison and data
merging of different sensor networks, enables new solutions in solving problems.</p>
      <p>Existing systems that semantically annotate data require it to be inserted manually
via xml configuration files or wiki. Attempts to use meta-data freely inserted by users
haven’t proved too successful [3]. More recent approaches use custom network
protocols such as the Device Identification Protocol (DIP) to automatically obtain the
technical meta-data [4], or they manually annotate a small number of sensors and then,
based on the similarity of measurements they label other sensors [5]. The existing
applications mostly focus on the measurements and insufficient attention has been
paid to the sensor context information. The Open Geospatial Consortium leads efforts
to define the Sensor Web Enablement standards i.e. SensorML and
Observation-andMeasurement [1]. More recently, the need to more expressivity has been recognized,
therefore the SWE standards have also been mapped into the Semantic Sensor
Network (SSN) ontology by the W3C Semantic Sensor Network Incubator Group [2].</p>
      <p>The contextual specifications depend on the concrete placement of the sensor, are
more difficult to obtain and are not covered well within existing solutions. For
example, an important piece of information is the geo positioning [6]. Fixed sensor
platforms typically do not feature a GPS positioning module for it increases the size and
cost of the platform and consumes power without providing much added value over
time. Knowing the GPS coordinates enables the acquisition of the following
(nonexhaustive list of) contextual information: geographical context (i.e. position on a
map, plain or hills, proximity to river, etc.), details about the region such as
population density, level of industrialization. All this contextual information can be
automatically collected using Linked Data1. Besides the geographical information there is
other meta-data which is best acquired at the time of the deployment: the actual time
of installation, the configuration of the sensor box i.e. (Does it have external sensors,
antenna? Is it waterproof?), the placement of a box, surroundings (Are there trees in
the immediate vicinity, interferences on the same frequency?), etc.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Framework for Acquiring Semantic Sensor Descriptions</title>
      <p>To start the KA (knowledge acquisition) process, the mobile terminal collects the
sensor node ID directly from the sensor at its location site. Next, the mobile terminal
sends an initialization message containing User ID, sensor node ID, time stamp and
the GPS coordinates to the server. This is marked as the initialization step in Fig. 1.</p>
      <p>The server validates the incoming data and adds it to the knowledge base. This
starts an iterative process, in which the server uses predefined KA rules and the
domain ontologies to generate KA forms and sends them to the mobile terminal. Next,
the user fills forms via mobile terminal and submits the results back to the server. The
server adds new data to the knowledge base and uses it to generate additional KA
form. The KA loop then continues as described above and depicted in Fig. 1.
1 http://linkeddata.org/</p>
      <p>The proposed framework is generic as its components can be implemented using a
variety of existing tools and technologies. For instance, the acquisition of the sensor
node ID can be done using barcodes, QR codes, RFID, NFC, etc. With respect to the
vocabulary, the Semantic Sensor Network (SSN) ontology, geospatial ontologies such
as Basic GeoWGS84 Vocabulary, GeoNames, time representation with W3C time
ontology and observed properties using SWEET ontologies can be used. Further,
application specific extensions can be added or generated when using the system.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Knowledge Acquisition</title>
      <p>For the knowledge acquisition we took similar approach as is used in
crowdsourcing the ontology learning process. We present to the user a variety of forms/questions,
which are dynamically generated based on previous answers and based on the sensor
instance. In order to define when and which forms to show, we introduced special
vocabulary [7] in the ontology, to mark which knowledge to elicit. When the
particular property is marked for KA, then the appropriate form gets generated.</p>
      <p>We had to create a set of rules which trigger knowledge elicitation. For example if
we want to get the bounding for property &lt;ssn:observes&gt; on all instances of class
&lt;ssn:Sensor&gt;, we define the rule as follows:
[IF &lt;?concept&gt;&lt;rdf:type&gt; &lt;ssn:Sensor&gt; THEN
&lt;?concept&gt; &lt;ijs:generateForms&gt; &lt;ssn:observes&gt;]
(1)
This means that the system will ask for all the sensors what physical quantity is
measured by it. These rules can be stacked to form a follow up conversation. When the
first form is filled, the next one responds based on the previous answer, e.g.:
[IF &lt;?concept&gt; &lt;rdf : type&gt; &lt;ssn:Sensor&gt; AND
&lt;?concept&gt; &lt;ssn: observes&gt; &lt;_:observationProperty1&gt; AND
&lt;_:observationProperty1&gt; &lt;rdf: value&gt; &lt;”temperature”&gt; THEN
&lt;?concept&gt; &lt;ijs:generateForms&gt; &lt;ijs:hasTemperatureSensorType&gt;]
(2)
This rule is triggered only when the assertion based on the previous answer states that
the particular sensor measures temperature.</p>
      <p>Theoretically it is possible that the user is presented with the RDF property and
part of the ontology which he/she has to fill with the missing data. But this would be
tedious work and requires the user of the system to be skilled in ontology engineering.
To make the knowledge acquisition as easy and errorless as possible, the user is
presented with the forms where he can enter knowledge without the RDF burden. These
forms can be anything from HTML templates, to natural language questions and can
be stored inside the ontology using special vocabulary or in an external database.</p>
      <p>These forms are hooked up on the &lt;rdf:property&gt; resources and the knowledge
about domain and the range is used to propose the predefined values which the user
can enter. The example of the form which was issued by rule (1) can be seen in Fig. .
&lt;form subject = “?$1” object =”?$2” predicate = ”ssn:observes”&gt;</p>
      <p>“This sensor can measure ?$2”
&lt;/form&gt;</p>
      <p>Before presented to the user, the form is enriched with the constraints and possible
answers, inferred from the &lt;rdf:range&gt; part of the ontology. In this example, the
options would be “temperature”, “mass”, “current”, “voltage”, etc. If the user enters
something new, the system informs him that he is creating a new concept, which is
then added to the ontology, so everything stays consistent.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Implementation and Case Studies</title>
      <p>As an example we look at an application around a plant care scenario, which shows
the variety of data that can be acquired. There are numerous factors influencing the
development of house plants, such as temperature, humidity, soil moisture, etc. Most
of the information about the conditions required by house plants is available on the
web; however, connecting it to the actual setting of the environment can be facilitated
using a KA system.</p>
      <p>Let us consider a scenario where three sensors are available for measuring the
living conditions of our plant: a temperature sensor, a humidity sensor and soil moisture
sensor. Further, we have defined a set of rules using concepts from SSN and SWEET
ontologies and few extensions for sensor types and properties observed by sensors.</p>
      <p>A simple example of a rule in this scenario would be “If a sensor is attached to the
flower pot, then ask what plant is in the pot?” The rule can be represented with the
&lt;sweet:hasOrganism&gt; predicate from SWEET ontology.</p>
      <p>[IF &lt;?concept&gt; &lt;rdf:type&gt; &lt;ssn:Sensor&gt; AND
&lt;?pot&gt; &lt;ssn:attachedSystem&gt; &lt;?concept&gt; AND
&lt;?pot&gt; &lt;rdf:type&gt; &lt;ijs:PlantPot&gt; THEN
&lt;?pot&gt; &lt;ijs:generateForms&gt; &lt;sweet:hasOrganism&gt;]
(3)</p>
      <p>A more elaborate example is the acquisition of lighting conditions. Possible
answers are fixed to the following list: direct, indirect sunlight, shadow, artificial light.
Depending on the answer, further information can be inferred or asked. If the answer
is one of the natural lights, the time interval can be calculated based on the
geographical location and date. If the answer is not natural light, then a question about the
exposure interval is issued. The above example translates to the following two KA rules:
[IF &lt;?plant&gt; &lt;rdf:type&gt; &lt;sweet:Organism&gt; THEN
&lt;?plant&gt; &lt;ijs:generateForms&gt; &lt;sweet:assimilate&gt;]
[IF &lt;?plant&gt; &lt;sweet:assimilate&gt; &lt;?light&gt; AND
&lt;?light&gt; &lt;rdf:type&gt; &lt;ijs:ArtificialLight&gt; THEN
&lt;?light&gt; &lt;ijs:generateForms&gt; &lt;sweet:hasDuration&gt;]</p>
      <p>Other relevant meta-data can refer to the growing stage of the plant (germination,
growth), last fertilization, size of the plant and pot, etc. The purpose for collecting all
this metadata is to provide external applications the information needed to
automatically detect when watering or fertilization is needed, etc.</p>
      <p>The framework was also tested in an ongoing real world sensor deployment. In the
CREW2 project we installed 50 boxes with ISM and TV band energy detection
sensors on public infrastructure in the town of Logatec. We manually prepared a list of
technical configurations for each of the boxes. These configurations include:
processing module ID, communication module ID, application module ID and project
specific label. Next, QR codes with box-specific URIs were attached to their
corresponding sensor boxes. In the field, the technician installing the sensor box read the
QR code using his mobile terminal, and used the KA application (shown in Fig. 1) to
geo tag the sensor and provide additional meta-data such as installation timestamp,
infrastructure ID, infrastructure type (light pole, wall, and roof), particularities of the
vicinity (tress, obstacles) and line of sight to other sensor boxes.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Comparison with the other solutions shows that our framework lowers the price of
the meta-data acquisition. It allows users to collect data on the fly, using mobile
devices and provides a controlled acquisition environment. The collected data is
automatically validated and linked with LOD datasets. The proposed framework was
compared feature wise with other similar systems, and the results are presented in
Table 1. It was further validated in two case studies, demonstrating its usability for
gathering technical data from the common users (plant caring) and in the real world
deployment of sensors.</p>
      <p>GSN3 system uses XML files to manually label and describe each sensor with
arbitrary data. The configuration process is easy for non-experts, but the disadvantage is
that its terminology will differ across deployments, as it is hard to align different
keywords used across deployments. Recently, work on using SSN, DOLCE and
others as standardized vocabulary has been done, however, the focus is search rather than
knowledge acquisition, therefore the process is not as automated and controlled as in
the proposed framework.</p>
      <p>Cosm4 (the former Pachube) uses a predefined schema, therefore non-experts users
can insert information such as title of the sensor setup, feed, id, location, etc. There’s
no standard vocabulary and no extension by the user seems possible. The scope of the
platform is federating data from sensor deployment and eventually monetizing on it,
rather than building an interoperable data management system.</p>
      <p>In the SPIRFIRE project [5], work on automatically labeling streams of
measurements is ongoing. Standard vocabulary is used, but the approach is not geared towards
meta-data acquisition.
2 http://www.crew-project.eu/
3 http://sourceforge.net/apps/trac/gsn/
4 https://cosm.com/docs/v2/</p>
      <p>Linked Stream Middleware-LSM [8] is a platform where users register their
sensors and annotate the data stream. It uses standard ontologies, with the possibility of
importing new ones. The drawback of this system is that it can be only used by expert
ontologists and the annotation has to be done after the sensor is already deployed.</p>
      <p>As part of future work, we plan to use the system in a large sensor deployment
scenario, as described in Section 4. We also plan to further abstract the system by
making the definition of KA rules and forms simpler and more automated.</p>
      <p>Acknowledgments. This work was partially supported by the Slovenian Research
Agency and the ICT Programme of the EC under, ENVISION (ICT-2009-249120)
and PlanetData (ICT-NoE-257641). Thanks to our colleagues in SensorLab.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Henson</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Sahoo: Semantic Sensor Web</article-title>
          .
          <source>IEEE Internet Computing</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Compton</surname>
          </string-name>
          , et al.:
          <article-title>The SSN Ontology of the W3C Semantic Sensor Network Incubator Group</article-title>
          .
          <source>Journal of Web Semantics, Elsevier</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>SensorKDD (colocated with KDD)</article-title>
          ,
          <year>July 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>A.</given-names>
            <surname>Moraru</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vucnik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Porcius</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fortuna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mohorcic</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Mladenic: Exposing Real World Information for the Web of Things. IIWeb (co-located with WWW)</article-title>
          ,
          <year>March</year>
          2011
          <string-name>
            <given-names>M.</given-names>
            <surname>Hauswirth</surname>
          </string-name>
          , I. Chatzigiannakis: Provisioning Semantic IoT Services, Project: SPITFIRE.FIRE
          <string-name>
            <surname>Hands-on</surname>
            <given-names>FIA</given-names>
          </string-name>
          , Aalborg, Denmark.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>C.</given-names>
            <surname>Fortuna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Fortuna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kenda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vucnik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Moraru</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Mladenic: Towards Building a Global Oracle: a Physical Mashup Using Artificial Intelligence Technology</article-title>
          .
          <source>Third International Workshop on the Web of Things</source>
          ,
          <year>June 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Witbrock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Matuszek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brusseau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.C</given-names>
            <surname>Kahlert</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.B. Fraser</surname>
          </string-name>
          , D.B.
          <article-title>Lenat: Knowledge Begets Knowledge: Steps towards Assisted Knowledge Acquisition in Cyc</article-title>
          .
          <source>AAAI Spring Symposium on Knowledge Collection from Volunteer Contributors (KCVC)</source>
          , pp.
          <fpage>99</fpage>
          -
          <lpage>105</lpage>
          . Stanford, California, March
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>D. Le Phuoc</surname>
            ,
            <given-names>H. N. Mau</given-names>
          </string-name>
          <string-name>
            <surname>Quoc</surname>
            ,
            <given-names>J. X.</given-names>
          </string-name>
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Hauswirth: The Linked Sensor Middleware - Connecting the real world and the Semantic Web</article-title>
          .
          <source>In Semantic Web Challenge</source>
          <year>2011</year>
          ,
          <string-name>
            <surname>ISWC</surname>
          </string-name>
          <year>2011</year>
          , http://challenge.semanticweb.org
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>