<!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>ECA2LD: From Entity-Component-Attribute runtimes to Linked Data applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Torsten Spieldenner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rene Schubotz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Guldner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>German Research Center for Arti cial Intelligence</institution>
          ,
          <addr-line>DFKI</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Saarbrucken Graduate School of Computer Science</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Large-scale IoT applications, like Smart Cities, are everchanging pieces of software. Same holds for Smart Factories in Industry 4.0, where assembly lines are composed of cyber-physical systems that autonomously observe production cycles and have to quickly adapt to changes in production requirements. Software built for such IoT environments needs a thorough design to be adaptable to the changes in the underlying systems. The Entity-Component-Attribute (ECA) pattern is well-suited for the design of changeable and maintainable software artifacts. However, the nature of large-scale IoT applications does not only enforces changeable, but also interoperable design of software components. For this, W3C working groups propose to use the Web as an IoT convergence platform. To unleash its full potential and to help to tackle pressing cross-domain interoperability issues, this emerging Web of Things is expected to evolve into a Semantic Web of Things which will heavily rely on Linked Data principles. While the generation of Linked Data from data storage layers has undergone thorough research, the Linked Data compliant exposure of dynamic run-time environments is to this day incomplete. Towards this end, we formalize the ECA design pattern and present an generic and auto-generatable mapping from ECA runtimes to a structure compliant with the W3C Linked Data Platform. This structural mapping may be declaratively augmented by domainspeci c semantics, and lifts a software design pattern highly suitable for large-scale IoT applications to Semantic Web of Things.</p>
      </abstract>
      <kwd-group>
        <kwd>Entity-Component-Attribute model</kwd>
        <kwd>Linked Data</kwd>
        <kwd>Resource Description Framework (RDF)</kwd>
        <kwd>Interoperability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The continual change that software undergoes during its lifetime is generally
called evolution, and the degree to which it is easy or hard to change existing
software is often called changeability [
        <xref ref-type="bibr" rid="ref14 ref17">17, 14</xref>
        ]. Especially in perdurable and large
scale Internet of Things (IoT) platforms, software design with the intention to
optimize changeability is imperative [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Towards this end, the architectural
pattern of Entity-Component-Attribute (ECA) based software design is particularly
well-suited [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Focusing on the principle of \composition over inheritance", the
role of an entity is no longer determined by class inheritance or attribution
hierarchy, but dynamically determined by the set of attached components. This
signi cantly improves changeability of entities and reuse of components.
ECA patterns have been successfully applied in the design of changeable IoT
platforms and applications [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], however, the enablement of seamless
crossdomain interoperability between independently developed IoT applications and
platforms, one of the central challenges facing IoT [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], is not directly addressed
by this design paradigm.
      </p>
      <p>
        In this respect, the W3C Web of Things Working Group3 proposes to use the
Web as an IoT convergence platform. The group develops initial standards for
this Web of Things (WoT) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] by de ning a Web-based abstraction layer for IoT
platforms, protocols, data models and communication patterns. To unleash its
full potential, the emerging WoT is expected to evolve into a Semantic Web of
Things.
      </p>
      <p>
        The Semantic Web of Things (SWoT) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] will heavily rely on Linked Data
principles [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] to semantically describe IoT entities in terms of their actions,
properties, events and metadata [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] independent of the underlying IoT
technology stacks. For large-scale scenarios and environments, the development of
IoT platforms and applications on the SWoT will require software tooling that
enables
1. (semi-) automated mappings from IoT application data layouts to RDF
2. declarative augmentation of Linked Data with application-speci c semantics
3. exposition of dynamic IoT runtime data as Linked Data
      </p>
      <p>
        While there are numerous works investigating (semi-) automated mappings
from heterogeneous data structures and serializations to the RDF data model [
        <xref ref-type="bibr" rid="ref15 ref16 ref3 ref6 ref8">6,
3, 16, 8, 15</xref>
        ], little research has been conducted on the dynamic mapping of
runtime environments [
        <xref ref-type="bibr" rid="ref12 ref20">20, 12</xref>
        ] to RDF. In particular, we are not aware of any works
on how to leverage ECA-driven software applications on the Semantic WoT.
Contributions. This paper makes the following contributions. We formalize the
notation of an ECA system, and detail on the automated structural mapping
between ECA runtimes and the W3C Linked Data Platform4. Next, we explain
how domain experts can declaratively augment these generated structural
mappings with domain-speci c semantics. Finally, we outline how a Linked Data
client may materialize these application-speci c RDF triples either locally or by
delegation to a suitable Linked Data Service.
      </p>
      <p>Structure. In the remainder of the paper, we rst discuss current research in
mapping approaches from non-RDF sources to RDF data. We then present a</p>
    </sec>
    <sec id="sec-2">
      <title>3 https://www.w3.org/WoT/WG/</title>
      <p>4 https://www.w3.org/TR/ldp/
formalization of the Entity-Component-Attribute model as basis for changeable
software in Section 3. In Section 4, we brie y outline the W3C Linked Data
Platform standard, and present our automated mapping for structural
interoperability between ECA data and the Linked Data Platform in Section 5. Section
6 outlines a declarative augmentation of the automated structural mapping with
semantics from domain-speci c vocabularies. We conclude with summary in
Section 7.
2</p>
      <sec id="sec-2-1">
        <title>Related Work</title>
        <p>
          The available literature investigating (semi-) automated data mappings from
various data structures and serializations into the RDF data model is vast. However,
little research has been conducted on the dynamic mapping of runtime
environments [
          <xref ref-type="bibr" rid="ref12 ref20">20, 12</xref>
          ] to RDF. In what follows, we brie y survey the related literature.
RDBMS. Numerous work investigates how to translate between RDF datagraphs
and relational databases. The W3C speci es a Direct Mapping 5 (DM) from
relational database structures directly to RDF. R2RML6 is a similar approach
that enables customization of the mapping. Automatic procedures have been
proposed to create the R2RML mapping, which yields RDF graphs similar to
the results of Direct Mapping [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Bizer et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] present D2RQ, an approach
that translates semantic queries into native queries against non-RDF databases
and maps the result to RDF.
        </p>
        <p>
          OOP. Focusing on business logic rather than data storage layers, other work
also investigated mappings between RDF data sources, and object-oriented
programming (OOP) languages. Bartolos et al. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] discuss mappings between
objectoriented classes, and present a possibility to automatically create a class model
from ontologies. The resulting class model then operates as access to the
underlying RDF data. ActiveRDF by Oren et al. [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] provides an object-oriented API
for scripting languages to operate on RDF datasets. However, they found that
concepts of object-oriented programming are at times to strict to allow for an
automated mapping. Limiting concepts are for example class inheritance rules,
encapsulation, or class attribution. Hillairet et al. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] show how to match the
at this time widely used Eclipse Modeling Framework (EMF) with RDF data
sources. Approaches that operate directly on OOP concepts struggle with OOP
concepts like class inheritance, encapsulation.
        </p>
        <p>
          Semi-structured Data. A third class of RDF mapping approaches uses as source
semi-structured data, such as XML les, or comma separated values (CSV).
Apache Any237, o ered as library, Web service, or command line tool, translates
a variety of source formats, such as CSV and YAML, to RDF representations
5 https://www.w3.org/TR/rdb-direct-mapping/
6 https://www.w3.org/TR/r2rml/
7 https://any23.apache.org/
in Turtle, Notation 3, and others. Dimou et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] present RML, an extension
to the R2RML W3C standard, to map between heterogeneous semi-structured
data and RDF. Gupta et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] provide Karma, a semi-automatic RDF
extraction framework not only from relational database, but also from sources given
as CSV, XML, or JSON.
        </p>
        <p>Despite its wide application in di erent domains, and work that investigates how
application design pro ts from semantic information inherent to ECA-based
software, there exists to our knowledge no particular analysis about how to leverage
Entity-Component-Attribute driven applications to Linked Data.
3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Changeability by Entity-Component-Attribute designs</title>
        <p>In the following, we will give an outline of requirements we see for the design
of changeable large-scale software projects. We give a formal de nition of the
established Entity-Component-Attribute model and discuss how it is suitable to
ful ll the requirements towards changeable software.
3.1</p>
        <sec id="sec-2-2-1">
          <title>Changeable software requirements</title>
          <p>
            We derive requirements towards changeable software from the notion of
aspectoriented software design as presented by Kiczales et. al [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]. For this, it is
necessary to avoid cross-cutting concerns in the code. As main pitfalls that break
changeability of software, aspect-oriented design distinguishes:
Code scattering: Code that implements a concept or logic is distributed over
several modules or classes. As a result, adding, changing, or removing logic from
an application requires to change several modules at once. Code scattering is
avoided by modeling software and its data in distinct modules for every task.
Code tangling: While code that implements a certain feature may be
entirely contained in its own module, dependencies between modules can still break
changeability of software. This happens for example if code of one module refers
to, or makes calls to, code in another module. If one module changes its interface
to which other modules make calls, all other modules need to be changed as well.
A way to avoid code tangling is a data-centralistic approach by which separate
software modules operate on a shared data layer, without direct calls between
the modules.
3.2
          </p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Entity-Attribute Models</title>
          <p>Above requirements are met by Entity-Attribute based software design. The
understanding of Entity-Attribute models varies in literature. In the following,
we summarise available variants and formalize the notation of Entity-Attribute
models.</p>
          <p>
            Common for all variations is the notion of an entity as an empty data
container which is closer speci ed by a set of typed attributes that carry the actual
values. The IoT Context Broker by Moltchanov et. al [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ] keeps to the levels of
entities and attributes.
          </p>
          <p>
            The systems RealXtend [
            <xref ref-type="bibr" rid="ref1 ref7">1, 7</xref>
            ] and FiVES [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ] include the notion of
components (Entity-Component-Attribute pattern, ECA; see also Fig. 1). Components
can be considered as prototypes of attribute sets that belong to the same
concept. When a component is attached to an entity instance, a new instance of
the component and the respective attribute set is created from this prototype.
RealXtend and FiVES share this design with game engines like Unity3D8 and
Unreal Engine9.
          </p>
          <p>RealXtend equips components with application logic that is directly
contained as code in the component implementation. Same holds for game engines.</p>
          <p>
            The work by Wiebusch et al. [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ] as well as the FiVES server system
consider the Entity-Component-Attribute model as data model only. Logic is
implemented in independent systems (referred to as plugins in FiVES), with a careful
design of how external logic accesses the data.
          </p>
          <p>We adapt the understanding of components as by Wiebusch, and FiVES,
with logic implemented separately to avoid the tight coupling between
components and their speci c implementation as in RealXtend or game engines. We
derive from this the following formal de nition of the ECA architectural pattern.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>8 http://www.unity3d.com</title>
      <p>9 http://www.unrealengine.com
Let e denote an entity instance, and PC denote the set of all component
prototypes. Then we de ne the following sets:
E is the set of all entity instances. An entity instance is de ned as e = (ne; Ce),
with ne 2 + being the unique identi er for e over alphabet , and Ce being
the set of component instances attached to e.</p>
      <p>Ce is the set of all component instances attached to an entity instance e. A
component instance is de ned as c = (nc; pc; Ac;e), with nc 2 + being the
unique identi er for c, pc 2 PC being the prototype that c is an instance of,
and Ac;e being the set of all attribute instances attached to c.</p>
      <p>Ac;e the set of all attribute instances attached to a component instance c. An
attribute instance is de ned as a = (na; v; t), with na 2 + being the
unique identi er for a, v denoting the attribute instance's current value, and
t denoting the ECA runtime type of a.</p>
      <p>The role of an entity within the application is by this entirely determined
by the set of attached components. Components are implemented and
operate independent of each other. This avoids the issue of code scattering. The
composition-over-inheritance principle of the model also avoids code-tangling,
as it eliminates class inheritance and attribution hierarchies.
4</p>
      <sec id="sec-3-1">
        <title>The Linked Data Platform</title>
        <p>The W3C Linked Data Platform recommendation provides best practices for
read-write Linked Data applications on the Web. It describes how to model
applications in terms of a minimal set of RDF resources (cf. Figure 2). Moreover
access patterns to these di erent resources are speci ed for Linked Data clients.
10 Image taken from https://www.w3.org/TR/ldp/# g-ldpc-types
The basic element of LDP is a ldp:Resource. Every ldp:Resource must be
an HTTP endpoint with at least HTTP/1.1 protocol compatibility, and accept
at least HTTP GET requests, and others depending on the type of resource.
From the ldp:Resource are derived a number of resource types with the
following roles:
ldp:RDFSource exposes general RDF data. Upon a HTTP GET request, it MUST
return a full RDF graph in text/turtle format (or application/ld+json, if
requested). HTTP PUT or HTTP PATCH can be used to update triples in the graph
that is provided by the resource.
ldp:Container is a ldp:RDFSource that manages a set of LDP Resources and
provides information about access, modi cation, and ltering of the contained
elements.
ldp:BasicContainer is a ldp:Container that speci es linked documents in
the form of Containment Triples of the form (container-uri, ldp:contains,
document-uri ). The ldp:BasicContainer does not require to speci cally state
the semantic relationship between the container resource itself, and its
containing elements.</p>
        <p>The W3C LDP recommendation speci es more concepts. In the scope of this
paper, however, we will only make use of above concepts.
5</p>
      </sec>
      <sec id="sec-3-2">
        <title>Structural Interoperability with ECA-based Systems</title>
        <p>
          In the following, we detail on the automated structural mapping between ECA
runtime environments and W3C LDP compliant Linked Data servers. By
repeated application of a set of mapping rules (cf. À to Ã), structural
interoperability [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] between ECA runtimes and LDP servers is established.
We assume the existence of functions : + ! IRI and : PC ! IRI for
minting fresh IRIs from identi ers and component prototypes. Although several
guidelines exist for minting IRIs11, we do not make assumptions on or .
À
(ne; Ce) 2 E
        </p>
        <p>8(nc; pc; Ac;e) 2 Ce
(ne) rdf:type ldp:BasicContainer :
(ne) dct:identifier \ne"^^xsd:String :
(ne) ldp:hasMemberRelation dct:hasPart :
(ne) dct:hasPart (nc) :
À Each entity instance e = (ne; Ce) is mapped to a ldp:BasicContainer
with IRI (ne). This entity container maintains a membership triple ( (ne);
11 https://www.w3.org/TR/cooluris/
dct:hasPart; (nc)) for each component instance (nc; pc; Ac;e) attached to e.
Á</p>
        <p>(nc; pc; Ac;e) 2 Ce 8(na; v; t) 2 Ac;e
(nc) rdf:type ldp:BasicContainer :
(nc) dct:identifier \nc"^^xsd:String :
(nc) dct:isPartOf (ne) :
(nc) ldp:hasMemberRelation dct:hasPart :
(nc) dct:hasPart (na) :
(nc) rdfs:isDefinedBy (pc) :
Á Each component instance c = (nc; pc; Ac;e) is mapped to a ldp:BasicContainer
with IRI (nc). This component container uses dct:isPartOf to indicate its
containing entity container (ne) and maintains a membership triple ( (nc);
dct:hasPart; (na)) for each attribute instance (na; v; t) attached to c. In
addition, we use rdfs:isDefinedBy to indicate an authoritative resource (pc)
semantically de ning the component container (nc). We detail on (pc) in the
next section.</p>
        <p>Â</p>
        <p>(na; v; t) 2 Ac;e
(na) rdf:type ldp:RDFResource :
(na) dct:identifier \na"^^xsd:String :
(na) dct:isPartOf (nc) :
(na) rdf:value \ (v)"^^ (t) :
Â Each attribute instance (na; v; t) 2 Ac;e is represented by a ldp:RDFResource
with IRI (na). This attribute resource uses dct:isPartOf to indicate its
containing component container (nc). The triple ( (na); rdf:value; \ (v)"^^ (t))
encodes the attribute's current value v and type t as a typed literal \v"^^ (t)
(cf. Ã).
Ã Since the RDF datatype abstraction is compatible with XML Schema, we
rely on the data type support between an ECA runtime enviroment and XML
Schema Types for datatype conversion. Given an attribute (na; v; t) 2 Ac;e, we
denote by (t) the datatype IRI of the RDF-compatible XSD type
corresponding to t. The lexical form (v) may be any lexical form, ie. a Unicode string
in Normal Form C, from (t)'s lexical space that represents the same value as
v. Extensions that handle domain-speci c or user-de ned datatypes beyond the
RDF-compatible XSD types are expected to behave as outlined here.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Augmenting Domain-speci c Semantics</title>
        <p>The ECA model induces an implicit semantic understanding of the underlying
data. The prototype of a component assigns to a component a speci c concept
that is modeled by that component. For example, Figure 1 de nes a component
prototype that describes a location in geo-coordinates.</p>
        <p>Rules À to Ã provide a structural mapping from ECA runtime objects to
Web resources described using the LDP vocabulary. Our structural mapping is
generic and auto-generatable, but so far it does not express said
applicationspeci c semantics that are contained in the ECA model.</p>
        <p>A domain expert tasked with semantic augmentation thus requires support
for specifying expressive RDF mappings that enable ne-grained term
correspondences, literal transformations and structural graph transformations at
datasetlevel. Ideally, these RDF mappings should be dereferencable and executable,
self-contained and interoperably represented as RDF triples. Natural candidates
for expressing and executing such RDF mappings are SPIN SPARQL12, RIF in
RDF13, the LDIF framework14 or the R2R framework15.</p>
        <p>
          In the scope of this paper and without loss of generality, we describe and
publish such RDF mappings using the R2R Mapping Language [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Similar
to SPARQL CONSTRUCT queries, a r2r:Mapping (cf. Figure 3(b)) has a
r2r:sourcePattern, r2r:transformation and a r2r:targetPattern.
12 https://www.w3.org/Submission/2011/SUBM-spin-sparql-20110222/
13 https://www.w3.org/TR/rif-in-rdf/
14 http://ldif.wbsg.de/
15 http://wifo5-03.informatik.uni-mannheim.de/bizer/r2r/
        </p>
        <p>The source pattern is matched against data generated from rules À to Ã (cf.
Figure 3(a)) and produces a set of variable bindings. Transformations de ne how
variable bindings are transformed before being inserted into the target pattern.
The target pattern is used to produce the triples resulting from the r2r:Mapping
(cf. Figure 3(c)).</p>
        <p>Rule Á uses rdfs:isDefinedBy to indicate an authoritative resource (pc) de
ning all instances of a component prototype pc 2 PC. Hence, a domain expert
can publish her RDF mapping under (pc) and make it discoverable for Linked
Data clients.</p>
        <p>
          By retrieving a representation of (pc), a Linked Data client will be instructed
on how to locally render additional application-speci c RDF triples. Note that
execution of a RDF mapping may also be delegated to a suitable Linked Data
Service (LIDS) [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. We suggest owl:sameAs (cf. Figure 3(a)) to indicate the
respective LIDS invocation IRI.
7
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Conclusion</title>
        <p>This paper presents a generic and auto-generatable structural mapping between
Entity-Component-Attribute (ECA) runtimes and the W3C Linked Data
Platform. First, we discuss the Entity-Component-Attribute model as suitable choice
for changeable software, followed by a formal de nition of the ECA design
pattern. From this, a generic and auto-generatable structural mapping between ECA
runtimes and the W3C Linked Data Platform is provided. Building upon this
basic level of structural interoperability, we explain how domain experts may
declaratively specify and publish expressive RDF mappings in order to
convey the application-speci c semantics of the respective ECA runtime objects.
By executing the published RDF mappings, a Linked Data client is instructed
on how to semantically interpret the dynamically exposed ECA runtime
objects. A prototype implementation of the presented approach is available at
https://github.com/tospie/eca2ld.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Acknowledgment</title>
        <p>The work presented in this paper received funding from the European Union's
project FI-NEXT under grant agreement no. 732851, and by the Federal Ministry
of Education and Research of Germany in the project Hybr-iT under support
code 01IS16026A.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Toni</given-names>
            <surname>Alatalo</surname>
          </string-name>
          .
          <article-title>An entity-component model for extensible virtual worlds</article-title>
          .
          <source>IEEE Internet Computing</source>
          ,
          <volume>15</volume>
          (
          <issue>5</issue>
          ):
          <volume>30</volume>
          {
          <fpage>37</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <article-title>Dominique ard and Vlad Trifa. Towards the web of things: Web mashups for embedded devices</article-title>
          . In Workshop on Mashups,
          <source>Enterprise Mashups and Lightweight Composition on the Web (MEM</source>
          <year>2009</year>
          ),
          <source>in proceedings of WWW (International World Wide Web Conferences)</source>
          , Madrid, Spain, volume
          <volume>15</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Soren Auer, Sebastian Dietzold, Jens Lehmann,
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Hellmann</surname>
          </string-name>
          , and David Aumueller.
          <article-title>Triplify: light-weight linked data publication from relational databases</article-title>
          .
          <source>In Proceedings of the 18th international conference on World wide web</source>
          , pages
          <volume>621</volume>
          {
          <fpage>630</fpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Peter</given-names>
            <surname>Bartalos</surname>
          </string-name>
          and
          <string-name>
            <given-names>Maria</given-names>
            <surname>Bielikova</surname>
          </string-name>
          .
          <article-title>An approach to object-ontology mapping</article-title>
          .
          <source>In IIT. SRC{Student Research Conference</source>
          , pages
          <volume>9</volume>
          {
          <fpage>16</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Schultz</surname>
          </string-name>
          .
          <article-title>The R2R framework: Publishing and discovering mappings on the Web</article-title>
          .
          <source>COLD</source>
          ,
          <volume>665</volume>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andy</given-names>
            <surname>Seaborne</surname>
          </string-name>
          .
          <article-title>D2RQ-treating non-RDF databases as virtual RDF graphs</article-title>
          .
          <source>In Proceedings of the 3rd international semantic web conference (ISWC2004)</source>
          , volume
          <year>2004</year>
          .
          <source>Proceedings of ISWC2004</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Toni</given-names>
            <surname>Dahl</surname>
          </string-name>
          , Timo Koskela, Seamus Hickey, and
          <string-name>
            <surname>Jarkko</surname>
          </string-name>
          Vatjus-Anttila.
          <article-title>A Virtual World Web Client utilizing an Entity-Component model</article-title>
          .
          <source>In NGMAST</source>
          , pages
          <volume>7</volume>
          {
          <fpage>12</fpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Luciano Frontino de Medeiros, Freddy Priyatna, and
          <string-name>
            <given-names>Oscar</given-names>
            <surname>Corcho</surname>
          </string-name>
          .
          <article-title>Mirror: Automatic R2RML mapping generation from relational databases</article-title>
          .
          <source>In International Conference on Web Engineering</source>
          , pages
          <volume>326</volume>
          {
          <fpage>343</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Anastasia</given-names>
            <surname>Dimou</surname>
          </string-name>
          , Miel Vander Sande, Pieter Colpaert, Ruben Verborgh, Erik Mannens, and Rik Van de Walle.
          <article-title>Rml: A generic language for integrated rdf mappings of heterogeneous data</article-title>
          .
          <source>In LDOW</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Shubham</surname>
            <given-names>Gupta</given-names>
          </string-name>
          , Pedro Szekely, Craig A Knoblock, Aman Goel, Mohsen Taheriyan, and
          <string-name>
            <given-names>Maria</given-names>
            <surname>Muslea</surname>
          </string-name>
          .
          <article-title>Karma: A system for mapping structured sources into the semantic web</article-title>
          .
          <source>In Extended Semantic Web Conference</source>
          , pages
          <volume>430</volume>
          {
          <fpage>434</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Tom Heath and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Bizer</surname>
          </string-name>
          .
          <article-title>Linked data: Evolving the web into a global data space</article-title>
          .
          <source>Synthesis lectures on the semantic web: theory and technology</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>136</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Guillaume</surname>
            <given-names>Hillairet</given-names>
          </string-name>
          , Frederic Bertrand, Jean Yves Lafaye, et al.
          <article-title>Bridging EMF applications and RDF data sources</article-title>
          .
          <source>In Proceedings of the 4th International Workshop on Semantic Web Enabled Software Engineering, SWESE</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gregor</surname>
            <given-names>Kiczales</given-names>
          </string-name>
          , John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes,
          <string-name>
            <surname>Jean-Marc Loingtier</surname>
            ,
            <given-names>and John</given-names>
          </string-name>
          <string-name>
            <surname>Irwin</surname>
          </string-name>
          .
          <article-title>Aspect-oriented programming</article-title>
          .
          <source>In Proceedings of the European Conference on Object-Oriented Programming (ECOOP)</source>
          , Finland, June 1997. Springer-Verlag, Berlin, Germany.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Herwig</surname>
            <given-names>Mannaert</given-names>
          </string-name>
          , Jan Verelst, and
          <string-name>
            <given-names>Kris</given-names>
            <surname>Ven</surname>
          </string-name>
          .
          <article-title>Towards evolvable software architectures based on systems theoretic stability</article-title>
          .
          <source>Software: Practice and Experience</source>
          ,
          <volume>42</volume>
          (
          <issue>1</issue>
          ):
          <volume>89</volume>
          {
          <fpage>116</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Franck</surname>
            <given-names>Michel</given-names>
          </string-name>
          , Loc Djimenou,
          <string-name>
            <surname>Catherine</surname>
            Faron-Zucker, and
            <given-names>Johan</given-names>
          </string-name>
          <string-name>
            <surname>Montagnat</surname>
          </string-name>
          .
          <article-title>Translation of relational and non-relational databases into RDF with xR2RML</article-title>
          .
          <source>In 11th International Confenrence on Web Information Systems and Technologies (WEBIST'15)</source>
          , pages
          <fpage>443</fpage>
          {
          <fpage>454</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Franck</surname>
            <given-names>Michel</given-names>
          </string-name>
          , Johan Montagnat, and
          <string-name>
            <surname>Catherine</surname>
          </string-name>
          Faron-Zucker.
          <article-title>A survey of RDB to RDF translation approaches and tools</article-title>
          .
          <source>PhD thesis</source>
          , I3S,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Parastoo</given-names>
            <surname>Mohagheghi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Reidar</given-names>
            <surname>Conradi</surname>
          </string-name>
          .
          <article-title>An empirical study of software change: origin, acceptance rate, and functionality vs. quality attributes</article-title>
          .
          <source>In Empirical Software Engineering</source>
          ,
          <year>2004</year>
          . ISESE'
          <fpage>04</fpage>
          .
          <string-name>
            <surname>Proceedings</surname>
          </string-name>
          . 2004 International Symposium on, pages
          <volume>7</volume>
          {
          <fpage>16</fpage>
          . IEEE,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Saraju P Mohanty</surname>
            , Uma Choppali, and
            <given-names>Elias</given-names>
          </string-name>
          <string-name>
            <surname>Kougianos</surname>
          </string-name>
          .
          <article-title>Everything you wanted to know about smart cities: The internet of things is the backbone</article-title>
          .
          <source>IEEE Consumer Electronics Magazine</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):
          <volume>60</volume>
          {
          <fpage>70</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <article-title>Boris Moltchanov and Oscar Rodriguez Rocha. A context broker to enable future IoT applications and services</article-title>
          .
          <source>In Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT)</source>
          ,
          <year>2014</year>
          6th International Congress on, pages
          <volume>263</volume>
          {
          <fpage>268</fpage>
          . IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Eyal</surname>
            <given-names>Oren</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Heitmann</surname>
          </string-name>
          , and Stefan Decker.
          <article-title>ActiveRDF: Embedding Semantic Web data into object-oriented languages</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ):
          <volume>191</volume>
          {
          <fpage>202</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. D. P sterer, K. Romer,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bimschas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kleine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mietz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Truong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hasemann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Krller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pagel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hauswirth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Karnstedt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leggieri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passant</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Richardson</surname>
          </string-name>
          .
          <article-title>Spit re: toward a semantic web of things</article-title>
          .
          <source>IEEE Communications Magazine</source>
          ,
          <volume>49</volume>
          (
          <issue>11</issue>
          ):
          <volume>40</volume>
          {
          <fpage>48</fpage>
          ,
          <string-name>
            <surname>November</surname>
          </string-name>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Rene</surname>
            <given-names>Schubotz</given-names>
          </string-name>
          , Christian Vogelgesang, Andre Antakli, Dmitri Rubinstein, and
          <string-name>
            <given-names>Torsten</given-names>
            <surname>Spieldenner</surname>
          </string-name>
          .
          <article-title>Requirements and speci cations for Robots, Linked Data and all the REST</article-title>
          .
          <source>In Proceedings of 2nd Workshop on Linked Data in Robotics and Industry 4</source>
          .
          <fpage>0</fpage>
          . (LIDARI-
          <year>2017</year>
          ),
          <source>located at Semantics</source>
          <year>2017</year>
          , Amsterdam, Netherlands. CEUR,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Amit P Sheth.</surname>
          </string-name>
          <article-title>Changing focus on interoperability in information systems: from system, syntax, structure to semantics</article-title>
          .
          <source>In Interoperating geographic information systems</source>
          , pages
          <fpage>5</fpage>
          <lpage>{</lpage>
          29. Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Speiser</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Harth</surname>
          </string-name>
          .
          <article-title>Integrating linked data and services with linked data services</article-title>
          .
          <source>In Proceedings of the 8th Extended Semantic Web Conference on The Semantic Web: Research</source>
          and Applications - Volume
          <string-name>
            <surname>Part</surname>
            <given-names>I</given-names>
          </string-name>
          , ESWC'
          <volume>11</volume>
          , pages
          <fpage>170</fpage>
          {
          <fpage>184</fpage>
          , Berlin, Heidelberg,
          <year>2011</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Torsten</surname>
            <given-names>Spieldenner</given-names>
          </string-name>
          , Michael Guldner, Sergiy Byelozyorov, and Philipp Slusallek.
          <article-title>FiVES: An aspect-oriented Virtual Environment Server</article-title>
          .
          <source>In Proceedings of the 2017 International Conference on Cyberworlds. International Conference on Cyberworlds (CyberWorlds-2017), September 20-22</source>
          , Chester, United Kingdom.
          <source>IEEE Xplore</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>Dennis</given-names>
            <surname>Wiebusch</surname>
          </string-name>
          and
          <article-title>Marc Erich Latoschik. Decoupling the entity-componentsystem pattern using semantic traits for reusable realtime interactive systems</article-title>
          .
          <source>In Software Engineering and Architectures for Realtime Interactive Systems (SEARIS)</source>
          ,
          <source>2015 IEEE 8th Workshop on</source>
          , pages
          <volume>25</volume>
          {
          <fpage>32</fpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Andrea</surname>
            <given-names>Zanella</given-names>
          </string-name>
          , Nicola Bui, Angelo Castellani, Lorenzo Vangelista, and
          <string-name>
            <given-names>Michele</given-names>
            <surname>Zorzi</surname>
          </string-name>
          .
          <article-title>Internet of things for smart cities</article-title>
          .
          <source>IEEE Internet of Things journal</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <volume>22</volume>
          {
          <fpage>32</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>