<!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>Managing Distributed Context Models Requires Adaptivity too</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Piechnick</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maria Piechnick</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Gotz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Georg Puschel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Uwe A mann</string-name>
          <email>uwe.assmanng@tu-dresden.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Software Engineering Group, Technische Universitat Dresden Dresden</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Mobile devices changed the way how software is developed fundamentally, because the changing context in which those devices are used, in uences the requirements of apps running on those devices. Hence, mobile apps must provide means for self-adaptation. With upcoming technologies like wearables, people will carry a whole range of heterogeneous devices, sensing di erent aspects of their owner's context. Thus, self-adaptive systems have to collaborate, to combine their individual capabilities. To do so, they must incorporate strategies for the exchange of context information. The realization of such a distributed infrastructure requires to decide when, how and which parts of context models shall be exchanged, where they should be managed and who initiates the exchange. In this paper we show that for each aspect, di erent implementation strategies exist. Furthermore, we show that the properties of those strategies depended on (a) static and (b) dynamic requirements. Therefore, the management of distributed context models must be prepared for variability and adaptation. We present a prototypical implementation following the Smart Application Grids approach in the domain of Blended Interactive Spaces and highlight research questions w.r.t. selfadaptive distributed context models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Today, mobile devices are omnipresent and indispensable for both, personal and
professional use. In the last years, the sales of stationary PCs constantly
decreased, while the sales of mobile devices (e.g., smartphones, tablets) increased
tremendously. As a consequence, mobile devices are present in almost every
aspect of our daily life. Because those devices and the corresponding apps
accompany people during their daily routines, they must be highly customizable.
Further, people expect those apps to adapt their behavior to changing
situations. Such a system is called a self-adaptive system (SAS). Typically, an SAS
implements a variant of the MAPE-K feedback loop [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to support adaptation
in a structured way. In this process, one of the key models is the context model,
capturing all potentially relevant information characterizing the situation of the
application [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Especially in the application area of mobile apps, the knowledge
of a single application is usually not su cient to support more sophisticated
decision making. The rst reason is that mobile applications are rather small,
specialized applications with a limited set of o ered functionality. Thus, a single
app has a limited scope w.r.t. the execution context. To expand this scope,
multiple apps have to work together to combine their individual knowledge. Those
apps, however, potentially were implemented by di erent developers and run
in isolation. Consequently, generic approaches for the exchange of context
information are required. Furthermore, even today, people carry a whole range
of heterogeneous devices (e.g., smart watch, tness trackers), sensing di erent
aspects of their owner's context. In addition, hardware constantly gets cheaper
and communicates on standard and open protocols. This paves the way for smart
environments (smart home, smart o ce, etc.) consisting of di erent sensors and
actuators, that can dynamically be integrated in the feedback loop of personal
devices. Those developments are the enablers for ideas like Blended Interaction
Spaces (BI Spaces), which are ubiquitous computing environments for computer
supported collaboration [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Within those environments, heterogeneous devices
work together seamlessly, to support collaborative work ows in physical spaces
(e.g., rooms). BI Spaces must be highly adaptive w.r.t. the di erent users, tasks,
requirements, devices, modalities, and interaction styles. Thus, applications in
a BI Space must exchange contextual information. While the management of
local context models is well investigated, one of the major challenges of todays
self-adaptive systems is the management of distributed context models.
      </p>
      <p>
        In the last decade, numerous solutions for the exchange of context
information were realized, based on application-speci c requirements. Investigating those
solutions, we have identi ed 5 di erent aspects: (1) What information is
accessible, (2) When context information should be exchanged, (3) Who initiates
the exchange, (4) Where the information should be managed and (5) How
retrieved information should be managed. We show that for answering those
questions, di erent strategies exist having di erent bene ts and drawbacks. We
highlight that the corresponding requirements can change during runtime. For
this reason, the context management itself should be self-adaptive. By now, to
the best of our knowledge, no holistic approach for distributed context model
management exists, which provides the required exibility to self-adapt
according to the ve above questions. The intention of this work is to provide an initial
categorization of di erent interaction strategies for the adaptive exchange of
context information. In this paper, we show how an infrastructure for adaptive
exchange of context information can be implemented with Smart Application
Grids (SMAGs), an approach for the development and execution of self-adaptive
systems, supporting Meta-Adaptation, from our previous work [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>This paper is structured as follows, in Section 2 we present ve di erent
aspects w.r.t. the exchange of contextual information and the corresponding
implementation strategies. In Section 3 we present a prototypical implementation
of self-adaptive exchange infrastructure based on the SMAGs technology. Finally,
in Section 4 we summarize our work and highlight important research topics.</p>
    </sec>
    <sec id="sec-2">
      <title>Distributed Context Model Management</title>
      <p>In scenarios where distributed SAS must work together to extend the individual
knowledge bases (e.g., using a smart watch to improve the activity tracking of
a smartphone), the system developers must provide means for the exchange of
context information. Usually, a central feedback loop managing all self-adaptive
applications is not feasible. Thus, the overall architecture consist of multiple
collaborating feedback loops, executed on distributed, heterogeneous devices. One
possible interaction is the exchange of monitored and potentially analyzed
context information. In recent years, researchers have implemented di erent
strategies to support context information exchange, based on their application-speci c
requirements. We have investigated 16 publications that support the ability to
exchange context information [1{3, 5{9, 11, 13, 14, 17{21]. While analyzing the
literature, we have identi ed the following application-speci c requirements:
architectural exibility, limited number of required connections, low data tra c,
high expressiveness, small size of the individual models, high reasoning
performance, fault-tolerance and the ability to handle privacy constraints. The decision,
which strategy should be used, depends on the individual static or dynamic
requirements. To the best of our knowledge, the possible variation points as well
as the corresponding implementation strategies for distributed context
management have not been documented, yet. We have identi ed 5 aspects, the designer
of a distributed context model management infrastructure has to cope with,
regarding the exchange of contextual information. In some cases, the decision,
which strategy should be used, can only be made at runtime. Thus, the context
model management infrastructure must provide means for dynamic recon
guration and must be subject to the system's feedback-loop, as well. If the same
mechanisms are applied as for the adaptation of the business functionality, such
an ability is called Meta-Adaptation. In this work, we assume that the distributed
self-adaptive systems are able to nd each other, can communicate and use a
homogenous context model formalism and type system. We will use the term
Source for the SAS sending context information to a Sink.
2.1</p>
      <sec id="sec-2-1">
        <title>What Context Information Should be Exchanged?</title>
        <p>This question focuses on the accessible content (see Figure 2.1). When all
participating applications are developed by the same authorities, the access to the
entire context model might be feasible. In more open scenarios, the access to
private information must be restricted.</p>
        <p>Source</p>
        <p>Sink</p>
        <p>Source</p>
        <p>Sink</p>
        <p>Source</p>
        <p>Sink
(1.a) Complete
(1.b) Partial
(1.c) View-Based</p>
        <p>
          Fig. 1. What context information should be exchanged
Complete: The most common solution is to give any other application full
access to the entire context model [1, 5{7, 9, 11, 21]. In this case, the
context sink can decide which information may be relevant for its own decision
making. On the other hand, however, for many applications this is not
applicable, because of privacy issues. Furthermore, depending on the amount
of context information and the update frequency, this approach leads to an
increased data tra c. With an increasing number of collaboration partners,
the amount of data might exceed the limit of the processing capabilities.
Partial In many cases, not all context information (a) should be accessible
by [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] and (b) is relevant for a context-sink [
          <xref ref-type="bibr" rid="ref13 ref14 ref17 ref18 ref20 ref5 ref8">5, 8, 13, 14, 17, 18, 20</xref>
          ].
Therefore, the context-source might restrict access to certain information and/or
the context-sink has the ability to exclude irrelevant information. This may
improve privacy properties and reduces tra c as well as the overall amount
of exchanged context information.
        </p>
        <p>
          View-based Another possibility is to build views on a context model [
          <xref ref-type="bibr" rid="ref17 ref19 ref2 ref3 ref5">2,3,5,17,
19</xref>
          ]. This approach enables explicit privacy handling. Furthermore, the data
tra c may be reduced, because views can describe abstractions of context
information. The views can either be de ned by the source or by the sink
(e.g., queries with projection).
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>When Context Information Should be Exchanged?</title>
        <p>This aspect focuses on the point of time and the circumstances, under which
context information should be exchanged (see Figure 2.2). This is important to
limit the amount of transferred data over time.</p>
        <p>every n
Source seconds Sink
(2.a) Periodically</p>
        <p>Source</p>
        <p>Event</p>
        <p>Processing
(2.b) Event-based</p>
        <p>Sink</p>
        <p>Source</p>
        <p>Sink
M A
E</p>
        <p>
          P
(2.c) Context-based
Periodically In this strategy the information is either pulled by or pushed to
the sink in certain time intervals [
          <xref ref-type="bibr" rid="ref11 ref6 ref7">6, 7, 11</xref>
          ]. The update frequency might be
de ned statically, depending on the category of information, or dynamically
based on dynamic requirements. Especially for applications with highly
frequent context updates, it is important to adjust the frequency accordingly,
to prevent subsampling.
        </p>
        <p>Event-based In contrast to periodic updates, this strategy triggers the
exchange of contextual information based on events (e.g., explicit exchange
request etc.), either red by the source or the sink [3, 9, 11, 13, 14, 18{20]. In
this approach the source and the sink have more in uence on the exchange
logic.</p>
        <p>
          Context-based The exchange of context information can also be speci ed
context-dependent [
          <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
          ]. In this strategy, a feedback loop decides based on
the available context information (e.g., two devices are very close), when the
exchange of contextual information should be initiated.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Who Initiates the Exchange of Context Information?</title>
        <p>This aspect focuses on the participant, initiating the exchange (see Figure 2.3).
For some applications, the source has the knowledge when the exchange should
be initiated, in other scenarios the sink.</p>
        <p>2
1
Source</p>
        <p>Sink</p>
        <p>Source</p>
        <p>
          Sink
Source In this strategy the source proactively distributes context information
to sinks [
          <xref ref-type="bibr" rid="ref1 ref14 ref18 ref3 ref5 ref9">1, 3, 5, 9, 14, 18</xref>
          ]. In contrast to sink-side initiation, the sink may
not be able to specify which information is interesting in a certain situation.
On the other hand, the source has full control over it's data and how it is
distributed.
        </p>
        <p>Sink Another variant is that sink pulls context-information from a source [5{7,
11,17,19, 20]. For this approach, the source application has to o er a context
query interface which enables the sink to retrieve information. Usually, this
is combined with a periodic update mechanism.</p>
        <p>
          Negotiation The sink- and source-based initiation can be combined in a
blackboardbased architecture [
          <xref ref-type="bibr" rid="ref13 ref17 ref2">2, 13, 17</xref>
          ]. Sinks can access the context-model of a source
via a query interface and retrieve data. The server might grant or deny access
and might o er customized views. Sinks may be able to register for certain
events (e.g., the temperature changed) and the source will notify the sinks
when those events occur. This strategy is more complex and more expensive
to implement. On the other hand, it o ers more exibility w.r.t. data tra c
and privacy issues.
2.4
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Where Should Context Information be Managed?</title>
        <p>This question focuses on the location, where the context model data should be
stored (see Figure 2.4. Especially for resource-limited devices it is necessary to
outsource the context management and processing to more capable devices.</p>
        <p>Sink
(4.a) Centralized</p>
        <p>S/S
(4.b) Decentralized
S/S</p>
        <p>
          S/S
Centralized In this approach, a central system manages the context
information of the participating self-adaptive systems [
          <xref ref-type="bibr" rid="ref1 ref11 ref3 ref7">1, 3, 7, 11</xref>
          ]. This decreases the
number of required connections and data tra c. For devices with limited
resources (e.g., CPU, main memory) this approach might be bene cial, because
potentially large data sets and the corresponding reasoning mechanism can
be outsourced. On the other hand, this approach introduces a single point
of failure and makes privacy handling rather di cult.
        </p>
        <p>Decentralized In contrast to the centralized approach, context models can be
managed completely decentralized. Thereby, every application manages its
own context model and can exchange context information with other
applications [2, 5, 6, 9, 13, 14, 17, 19{21]. This approach makes privacy handling
easier, since every application can decide whether or not certain
information should be shared with a collaboration partner. Furthermore, this will
decrease the size of the context models and increases the performance of
the speci c reasoning processes. On the other hand, this approach leads to
a higher number of connections (i.e., combinatorial in the worst case) and
increased data tra c.</p>
        <p>
          Hybrid In situations where neither a fully centralized, nor a fully decentralized
approach is feasible, the bene ts of both architectures can be combined in
a hybrid approach, with multiple central context managing applications [
          <xref ref-type="bibr" rid="ref18 ref8">8,
18</xref>
          ]. The individual source applications transfer their context information
to a sink. The sink however might exchange information in a decentralized
way. The concrete architecture can either be modeled statically, when all
participating applications or application types are known, or dynamically
when the appropriate architecture depends on dynamic information (e.g.,
the context). This may limit the number of connections and decreases data
tra c, while still being able to handle privacy issues.
2.5
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>How Should the Distributed Context Information be Managed?</title>
        <p>This question focuses on the strategies, how the context information should be
stored (see Figure 2.5). Commonly, the received context information might be
copied to the context model of the client. Sometimes, it is better to just store a
reference to the actual data stored in the context model of the source.
Copy The most common strategy, to include the received contextual
information in the client's context model, is by copying the received elements in
the knowledge base [1, 5{7, 11, 13, 14, 18, 20, 21]. This strategy is easy to</p>
        <p>Source</p>
        <p>Client
implement and is suitable for situations, where the number of reads of the
copied elements (i.e., during reasoning) is similar to the number writes (i.e.,
reception of updated information).</p>
        <p>
          Proxy When the number of writes of received context information exceeds the
number of reads, it might be bene cial to only store a reference to the original
information [
          <xref ref-type="bibr" rid="ref2 ref8">2, 8</xref>
          ]. This decreases the size of the stored model as well as the
data tra c. On the other hand, the reasoning performance is decreased when
the remotely managed information must be transferred on-demand.
Hybrid In situations where neither the concrete elements within the context
model nor their characteristics (e.g., value range, update frequency,
number of reads, degree of distribution) is known during design time, a hybrid
approach can be applied [
          <xref ref-type="bibr" rid="ref17 ref19 ref3">3, 17, 19</xref>
          ]. The sink could start copying the
values. When the number of updates exceeds the number of reads, the sink
can switch to a proxy-based approach. This strategy introduces additional
complexity, since additional monitoring and decision making algorithms are
needed, on the other hand, this might decrease data tra c and the size of
the managed model.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>An Examplary Self-Adaptive Context Exchange</title>
    </sec>
    <sec id="sec-4">
      <title>Solution with SMAGs</title>
      <p>
        To show the feasibility of runtime adaptation of distributed context model
management we have implemented a small exemplary application with one
adaptation, dynamically switching from a copy- to a proxy-based information
management strategy (see Subsection 2.5). As one of multiple options, we have used
the Smart Application Grids (SMAGs) approach to implement our solution,
because it was developed within our group and supports Meta-Adapation natively.
We expect meta-adaptation to be a feature of any middleware for self-adaptive
systems. In SMAGs, self-adaptive systems are modeled and implemented as
component-based systems and uses role-based programming for adaptation [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
In contrast to many other platforms for self-adaptive systems, the adaptation
mechanisms are developed in the same technological space as the self-adaptive
systems itself. This enables Meta-Adaptation, by adapting the feedback loop
itself at runtime [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Our example application originates from the domain of
Blended Interactive Spaces, implementing the "Bump-to-Give Gesture". In the
scenario, a sender application running on Device A sends a le (e.g., an image)
to a receiver application running on Device B, when those devices are bumped
together. To implement such a scenario one must detect (1) when two devices
are physically near (e.g., using the RSSI value of the Bluetooth sensor) and (2)
that those devices were bumped together (e.g., using the accelerometer of the
respective devices). To avoid misinterpretations, a plausibility check is performed
by analyzing the proxemics as well as the motion interpretation of both devices.
      </p>
      <p>In our rst implementation, the adaptation logic was completely implemented
on Device A, while Device B pushed all the context information to the rst
device. This solution was easy to implement, since all synchronization and
interpretation artefacts could reside in one application. For testing, we used two
Samsung Galaxy S5 devices running Android 5.0. The accelerometer has an
average sampling rate of about 90Hz, while the RSSI update frequency using
Bluetooth Low Energy in "Low Latency" mode, has a sampling rate of 10Hz.
Overall, this approach leads to an average bandwidth of about 20 kB/s, per
collaborating device. Furthermore, about 100 nodes are added to the context
model of Device A per second, per collaborating device. In more realistic
scenarios, usually more than 2 devices are involved, leading to high data rates and
model sizes. The average latency for data evaluation in case of an actual
bumpto-give gesture was about 49ms on local Wi-Fi. For improving the situation we
have implemented a role for monitoring the reads/writes of remotely obtained
context values. When the number of writes exceeds the number of reads to a
ratio of 2:1, instead of updating the actual values, a proxy is created, which
redirects the read to a remote call to the actual data. Thus, updates must not
be pushed or pulled constantly. This approach decreases the data rate to almost
0 kB/s, since the accelerometer data of Device B is only evaluated, when a
bump-gesture was detected on Device A. On the other hand, however, when a
bump occurs, the reasoning performance is decreased to 337 ms. Especially, for
such visual reactions, the latency is perceivable.</p>
      <p>This example is just an indication how self-adaptive distributed context
management can be realized, not a full evaluation. In future, the possible realizations
of the individual strategies must investigated exhaustively.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>In a world where people carry multiple devices and enter interactive intelligent
spaces with a wide range of heterogeneous sensors and actuators, the distributed
self-adaptive systems running on those devices must be able to dynamically
exchange context information. In recent years many application-speci c solutions
were developed, meeting the requirements of the individual use-cases. In this
work we have presented 5 di erent aspects that have to be considered w.r.t.
exchange of contextual information. Furthermore, we have documented the
different implementation strategies that were used in solutions or projects that
support the management of distributed context information. This categorization
should help developers to nd a proper implementation strategy when
designing and implementing solutions for distributed context models. Furthermore,
it is also possible to change the concrete strategies at runtime. This requires
to adapt the feedback loop and the context model management at runtime.
Such an approach is called Meta-Adaptation. In addition, we have described a
rst prototypical implementation of a self-adaptive distributed context model
management infrastructure using the Smart Application Grids approach in a
Blended Interaction scenario. We have shown that the choice of a certain
strategy might depend on dynamic context information, and thus, must be subject
to adaptation as well. We think that this work is a starting point to an extensive
investigation of variability in distributed context model management. We have
only used a rather limited number of publications to develop a categorization.
The presented categorization must either be con rmed or extended in a more
extensive study. An exhaustive investigation w.r.t. realization possibilities must
done. Furthermore, the non-functional properties of the di erent implementation
strategies must be examined extensively. In addition, it should be investigated
how the additional complexity in uences the performance and the
maintainability of the self-adaptive systems. Currently, there is no generic solution for coping
with distributed context models that rely on di erent modeling formalisms and
heterogeneous type systems. With the ability to adapt and extend the context
model management of an application's feedback loop opens up the possibility
to provide adapters for bridging technological spaces. This situation, however,
is very likely to occur in open scenarios with heterogeneous devices and apps of
di erent vendors and developers.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgment</title>
      <p>This work is supported by the German Federal Ministry of Education and
Research (BMBF) within the project \SysPlace" (FKZ: 01|S14018E).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Broekstra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kampman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.v.</given-names>
          </string-name>
          :
          <article-title>Sesame: A generic architecture for storing and querying rdf and rdf schema</article-title>
          .
          <source>In: Proceedings of the First International Semantic Web Conference on The Semantic Web</source>
          . pp.
          <volume>54</volume>
          {
          <fpage>68</fpage>
          . ISWC '02,
          <string-name>
            <surname>SpringerVerlag</surname>
          </string-name>
          , London, UK, UK (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bures</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerostathopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hnetynka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keznikl</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plasil</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Deeco: An ensemble-based component system</article-title>
          .
          <source>In: Proceedings of the 16th International ACM Sigsoft Symposium on Component-based Software Engineering</source>
          . pp.
          <volume>81</volume>
          {
          <fpage>90</fpage>
          . CBSE '13,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Cheng, S.W.,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>A.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garlan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmerl</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steenkiste</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>An architecture for coordinating multiple self-management systems</article-title>
          .
          <source>In: Proceedings of the 4th Working IEEE/IFIP Conference on Software Architectures (WICSA4)</source>
          . Oslo, Norway (
          <volume>11</volume>
          -
          <fpage>14</fpage>
          June 2004)
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dey</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          :
          <article-title>Understanding and using context</article-title>
          .
          <source>Personal Ubiquitous Comput</source>
          .
          <volume>5</volume>
          (
          <issue>1</issue>
          ), 4{7 (Jan
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dey</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abowd</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salber</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications</article-title>
          .
          <source>Hum.-Comput. Interact</source>
          .
          <volume>16</volume>
          (
          <issue>2</issue>
          ),
          <volume>97</volume>
          {166 (Dec
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Dobrican</surname>
            ,
            <given-names>R.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zampunierisl</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Moving towards a distributed network of proactive, self-adaptive and context-aware systems</article-title>
          .
          <source>In: In Proceedings of the Sixth International Conference on Adaptive and Self-Adaptive Systems and Applications</source>
          <year>2014</year>
          (ADPATIVE
          <year>2014</year>
          ). pp.
          <volume>22</volume>
          {
          <fpage>26</fpage>
          . ThinkMind, Venice, Italy (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Gotz,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Wilke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Cech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Waltsgott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Fritzsche</surname>
          </string-name>
          , R.:
          <article-title>Theatre resource manager interface speci cation v. 1.0</article-title>
          .
          <source>Tech. Rep. TUD-FI10-08, ISSN 1430-211X, Technische Universitt Dresden (December</source>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Romn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Campbell</surname>
          </string-name>
          , R.:
          <article-title>Building applications for ubiquitous computing environments</article-title>
          .
          <source>In: Pervasive Computing, Lecture Notes in Computer Science</source>
          , vol.
          <volume>2414</volume>
          . Springer Berlin (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>de la Iglesia</surname>
          </string-name>
          , D.G.:
          <article-title>A Formal Approach for Designing Distributed Self-Adaptive Systems</article-title>
          . dissertation, Linaeus University (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jetter</surname>
            ,
            <given-names>H.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiterer</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geyer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Blended interaction: Understanding natural human-computer interaction in post-wimp interactive spaces</article-title>
          .
          <source>Personal and Ubiquitous Computing (DOI 10.1007/s00779-013-0725-4) (Oct</source>
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kaila</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mikkonen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vainio</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanhala</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The ehomea practical smart home implementation</article-title>
          .
          <source>In: Proceedings of Pervasive'08</source>
          .
          <string-name>
            <surname>Sydney</surname>
            ,
            <given-names>AU</given-names>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kephart</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>D.M.:</given-names>
          </string-name>
          <article-title>The vision of autonomic computing</article-title>
          .
          <source>Computer</source>
          <volume>36</volume>
          (
          <issue>1</issue>
          ),
          <volume>41</volume>
          {50 (Jan
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Koster</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dignum</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sonenberg</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Augmenting bdi with relevance: Supporting agent-based, pervasive applications</article-title>
          .
          <source>In: Pervasive Mobile Interaction Devices (PERMID</source>
          <year>2008</year>
          ), Workshop at Pervasive 2008. Sydney,
          <string-name>
            <surname>Australia</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Patel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaudhary</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A model-driven development framework for developing sense-compute-control applications</article-title>
          .
          <source>In: Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation</source>
          . pp.
          <volume>52</volume>
          {
          <fpage>61</fpage>
          .
          <source>MoSEMInA</source>
          <year>2014</year>
          , ACM, New York, NY, USA (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Piechnick</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Gotz,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Wilke</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          , A mann, U.:
          <article-title>Using Role-Based Composition to Support Unanticipated, Dynamic Adaptation { Smart Application Grids</article-title>
          .
          <source>In: Proceedings of ADAPTIVE</source>
          <year>2012</year>
          ,
          <source>The Fourth International Conference on Adaptive and Self-adaptive Systems and Applications</source>
          . pp.
          <volume>93</volume>
          {
          <issue>102</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Piechnick</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Kuhn, T., Gotz,
          <string-name>
            <given-names>S.</given-names>
            , Puschel, G.,
            <surname>Assmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>U.</surname>
          </string-name>
          :
          <article-title>Contextpoint: An architecture for extrinsic meta-adaptation in intelligent environments</article-title>
          .
          <source>In: Proceedings of The Sixth International Conference on Adaptive and Self-Adaptive Systems and Applications</source>
          . pp.
          <volume>121</volume>
          {
          <fpage>128</fpage>
          . XPS Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Quigley</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mcgrath</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nixon</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dishongh</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Home deployments for independent living</article-title>
          .
          <source>In: Proceedings of the Workshop on Pervasive Computing @ Home. Sydney</source>
          ,
          <string-name>
            <surname>AU</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Quix</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barnickel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geisler</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hassani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lorenz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quadieg</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gries</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jarke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leonhardt</surname>
          </string-name>
          , S., Meyer, U.,
          <string-name>
            <surname>Seidl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Healthnet: A system for mobile and wearable health information management</article-title>
          .
          <source>In: Proc. of the 3rd International Workshop on Information Management in Mobile Applications (IMMoA</source>
          <year>2013</year>
          ). pp.
          <volume>36</volume>
          {
          <fpage>43</fpage>
          . CEUR-WS.org,
          <source>Riva del Garda</source>
          , Trento, Italy (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Reichle</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geihs</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lorenzo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valla</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fra</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paspallis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papadopoulos</surname>
          </string-name>
          , G.:
          <article-title>A comprehensive context modeling framework for pervasive computing systems</article-title>
          .
          <source>In: Distributed Applications and Interoperable Systems, Lecture Notes in Computer Science</source>
          , vol.
          <volume>5053</volume>
          . Springer Berlin (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Weiss</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Becker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kamphausen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Radermacher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerard</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Model-driven development of self-describing components for self-adaptive distributed embedded systems</article-title>
          .
          <source>In: Proceedings SEAA</source>
          . pp.
          <volume>477</volume>
          {
          <issue>484</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>Parashar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Dynamic context-aware access control for grid applications</article-title>
          . In: Stockinger, H. (ed.)
          <source>GRID</source>
          . pp.
          <volume>101</volume>
          {
          <fpage>108</fpage>
          . IEEE Computer Society (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>