Conference PaperPDF Available

CATLES: A Crowdsensing-supported Interactive World-scale Environment Simulator for Context-aware Systems

  • Technische Universität Berlin, Telekom Innovation Laboratories

Abstract and Figures

With the rise of smart mobile devices, context-aware mobile applications became an integral part of our everydaylife. However, testing, evaluating or demonstrating context-aware mobile applications for outdoor environments remains a resource-intensive and cumbersome task. The investigations need to be conducted in real-world experiments in order to gain proper insights into how well an application will perform in a particular environment with its distinct contextual properties. Although steps were undertaken to simulate outdoor environments within the lab, these approaches are either based on radio propagation models for the simulation of wireless networks or are limited to a particular virtual space. To overcome these shortcomings, the outdoor environment simulator CATLES is introduced. It allows to transparently simulate the position of a mobile device by interactively controlling an avatar within a virtual 3D representation of the world. At the same time, it makes use of crowdsensed publicly available WiFi and cell measurements to properly simulate the environment the context-aware mobile application residing on the respective mobile device is supposed to sense at the simulated position.
Content may be subject to copyright.
CATLES: A Crowdsensing-supported Interactive
World-scale Environment Simulator
for Context-aware Systems
Sandro Rodriguez Garzon
Service-centric Networking
Telekom Innovation Laboratories, TU Berlin
Berlin, Germany
Bersant Deva
Service-centric Networking
Telekom Innovation Laboratories, TU Berlin
Berlin, Germany
Benoît Hanotte
Service-centric Networking
Telekom Innovation Laboratories, TU Berlin
Berlin, Germany
Axel Küpper
Service-centric Networking
Telekom Innovation Laboratories, TU Berlin
Berlin, Germany
With the rise of smart mobile devices, context-aware mo-
bile applications became an integral part of our everyday
life. However, testing, evaluating or demonstrating context-
aware mobile applications for outdoor environments remains
a resource-intensive and cumbersome task. The investiga-
tions need to be conducted in real-world experiments in or-
der to gain proper insights into how well an application will
perform in a particular environment with its distinct contex-
tual properties. Although steps were undertaken to simulate
outdoor environments within the lab, these approaches are
either based on radio propagation models for the simulation
of wireless networks or are limited to a particular virtual
space. To overcome these shortcomings, the outdoor en-
vironment simulator CATLES is introduced. It allows to
transparently simulate the position of a mobile device by
interactively controlling an avatar within a virtual 3D rep-
resentation of the world. At the same time, it makes use of
crowdsensed publicly available WiFi and cell measurements
to properly simulate the environment the context-aware mo-
bile application residing on the respective mobile device is
supposed to sense at the simulated position.
CCS Concepts
Computing methodologies Interactive simulation;
Simulation tools; Human-centered computing
Ubiquitous and mobile computing systems and tools; Ubiqui-
tous and mobile computing design and evaluation methods;
Smartphones; Mobile devices; Tablet computers;
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full cita-
tion on the first page. Copyrights for components of this work owned by others than
ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re-
publish, to post on servers or to redistribute to lists, requires prior specific permission
and/or a fee. Request permissions from
MobileSoft’16, May 16-17, 2016, Austin, TX, USA
2016 ACM. ISBN 978-1-4503-4178-3/16/05. . . $15.00
Context-aware Computing; Location-based Services; Con-
text Modeling; Context Simulation; Interactive Simulation
Over the last years, context-aware mobile applications be-
came a key enabler for the success of smart mobile devices.
As context-aware systems, they can adjust themselves dy-
namically to the situational needs of the users, whereby the
situation is continuously sensed by multiple build-in sensors
[2]. Unfortunately, testing and evaluating context-aware ap-
plications is time-consuming and cost-intensive because dif-
ferent types of mobile devices, different platforms, different
types of carrier networks and different environments need to
be considered [28], with each dimension acting as a multi-
plier in terms of relevant test cases. The biggest challenge
arises from the high diversity of environments, extending the
testing area potentially to the whole world in case context-
aware applications for mobile devices are investigated.
Today, mobile device simulators are used as a means to
execute test runs of context-aware mobile applications eco-
nomically within the lab. But since they are lacking the
possibility to simulate various commonly-integrated sensors
in a realistic manner [9], it is difficult and sometimes im-
possible to prove within the lab that a context-aware mobile
application is working properly within a given real-world
scenario. This is especially true for location-based services
(LBS), which are using multiple sensors to accomplish their
location-specific tasks. To expose location-depending be-
havior, an LBS needs to sense the position of a user’s mo-
bile device either on demand (reactive LBS) or constantly
in the background (proactive LBS) [13]. Depending on the
required accuracy, defined energy constraints and technical
abilities of a mobile device, the position is determined us-
ing one or a combination of outdoor-compatible positioning
techniques like lateration in GPS, (enhanced) cell proximity
[14, 16, 18, 7] or location fingerprinting [18, 7, 15, 12, 11,
23] based on GSM, Wifi and/or Bluetooth signals. Beyond
using radio signals for positioning purposes, latest LBS infer
logical locations from, among others, WiFi signals [1] to en-
hance a location-based social network [10] or to exploit the
location semantics for proactive LBS [30].
Although the position of a mobile device can be simu-
lated transparently within the lab using the available mobile
device simulators, neither the particularities of the GPS-
accuracy in a given neighborhood or even a street nor the
visibility and received signal strength (RSS) of particular
cellular, WiFi or Bluetooth signals at certain spots in a city
or rural area are considered. Hence, the context informa-
tion that is required by the aforementioned positioning tech-
niques and context-aware mobile applications to infer a po-
sition or to execute context-dependent behavior in general
is incomplete or missing within the available device simu-
lation environments. This has not only implications on the
required development effort but also complicates the demon-
stration of context-aware mobile applications within the lab.
For example, in case of an LBS that is supposed to be used
by citizens of a particular district, the audience of a demon-
stration is required to participate in a real-world showcase
with all its accompanying costs and inconveniences.
To bypass the shortcomings of current mobile device sim-
ulators, the interactive world-scale context simulator for mo-
bile devices CATLES1is introduced. CATLES enables the
in-lab test, evaluation and demonstration of context-aware
systems under realistic conditions by simulating the real-
world context in real-time. The position is simulated by an
avatar which can be interactively moved through a virtual
3D representation of the world, in first-person perspective.
Given the position, CATLES determines the context the mo-
bile device is supposed to sense by taking publicly available
crowdsensed radio signal fingerprints into consideration.
The paper starts with a discussion about available context
simulators in Section 2, focusing on interactive approaches.
Thereafter, the requirements for an interactive context sim-
ulator especially with respect to LBS are defined in Section
3 while the idea is being sketched together with the imple-
mentation details and usage scenarios of CATLES in Section
4. CATLES is being evaluated against real-world context
measurements in Section 5. This work closes with a short
summary of our contributions in Section 6 and an overview
about potential extensions of CATLES in Section 7.
As indicated above, testing and evaluating context-aware
systems is a challenging task since a variety of environmen-
tal factors influence the way a context-aware mobile appli-
cation behaves. Since real-world tests are time- and cost-
intensive, context-aware mobile applications are usually sim-
ulated within a lab environment. In [5], simulation tools are
distinguished whether they are non-interactively simulating
a set of context values, e.g. given by a sample trace from
the real-world within a test suite, or that are used in an
interactive way to simulate the context in real time. The
work presented in this paper belongs to the latter category
of tools which are at the same time used for demonstration
purposes due to their interactive character.
QuakeSim [4] can be seen as one of the earliest systems
for the interactive test, evaluation and demonstration of
context-aware mobile applications within a lab environment.
It makes use of the Quake III Arena game engine to render a
1Crowdsensing-based Interactive World-scale Context
virtual 3D environment which can be interactively navigated
through out of the first-person perspective. A location-
aware system under investigation can then be tested in the
lab by utilizing the simulated position within the virtual en-
vironment as input instead of accessing e.g. the GPS sensor.
The UBIWISE simulator [3] was based upon the same idea
and game engine but it provided an additional 2D view for
showing virtual devices. The 2D view served primarily as
a user interface to the virtual devices in order to allow the
user to interact with the virtual environment rather than
just moving through it. The virtual 3D environment simu-
lator 3DSim [20] took it even a step further by simulating
the light intensity or virtual device states as additional en-
vironmental features. Although 3DSim was not intended to
be used out of the first-person perspective, it allowed avatars
and devices to be repositioned by interacting with the 3D
view. Since the UPnP standard was chosen as the common
interface standard to integrate new sensors or actuators into
the virtual environment, an application build upon 3DSim
could quickly be deployed in the real-world. The ubiquitous
computing simulator TATUS [24] combined the ability of
QuakeSim to be able to navigate around a virtual 3D en-
vironment in the first-person manner with the capability of
3DSim to be susceptible for instructions to actuators within
the virtual environment. Additionally, it integrated a wire-
less network simulator in order to properly simulate signal
quality and throughput values by taking the position of the
access points, obstacles (e.g. walls), the own position as well
as the position of other avatars (maybe interfering on the
same communication channels) into consideration. SimCon
[19] follows the same game-like virtual environment simula-
tion concept, but it makes use of sensor models described
in sensorML (Sensor Model Language) for a more accurate
simulation. The simulation framework introduced in [31]
is based upon OpenSim2, a free version of the Second Life
Simulator. An avatar within the virtual environment can
be interactively instructed to move to a particular position
and also to interact with virtual objects similar to 3DSim.
It is mainly used to simultaneously test multiple adaptive
off-the-shelf home care products prior to their release.
So far, these approaches are intended to simulate spa-
tially limited virtual indoor environments comprising mul-
tiple rooms and floors or artificial virtual outdoor environ-
ments. The first world-scale virtual 3D environment sim-
ulator to test context-aware mobile applications for out-
door scenarios was recently introduced in [25]. It is based
upon Google Earth3which provides a 3D environment of
the whole earth including buildings, trees and mountains.
Since the simulator is used to simulate the location for an
intelligent in-car-infotainment system, it is controlled via
a steering wheel and pedals similar to a driving simula-
tor. Unfortunately, all aforementioned systems do simulate
context, including the position, either unrealistically precise
(e.g. like the simulated position within the driving simulator
or QuakeSim) or semi-realistic based on radio propagation
models (e.g. wireless networks in TATUS). Hence, there is
a lack of tools that are able to simulate the position-specific
context for mobile devices in a way that these mobile device
would experience it during the use at the position under
investigation within the real-world.
Nowadays, LBS are mainly used in outdoor environments,
e.g., as electronic tourist guides or as location-based re-
minders. A suitable interactive context simulator for the
test, evaluation and demonstration of LBS must in the first
place simulate an outdoor environment, preferably in a world-
scale manner. Since the position of a mobile device is the
central contextual feature all proactive and reactive LBS are
relying on, it needs to be simulated in a realistic manner. In
contrast to their reactive counterparts, proactive LBS are
prone to inaccurate positioning. A position sensed by a GPS
sensor can differ to the real-world position with a magnitude
of 100m or more in case the mobile device is located close to
highrise buildings or within a canyon. While an imprecise
position would yield to a non-optimal sorted list of restau-
rants in a point-of-interest search application, it might lead
a proactive LBS to burden the user with non-relevant proac-
tive notifications, due to the misinterpretation of the user’s
position. Therefore, the impreciseness of current position-
ing systems should be taken into consideration during the
simulation. Since the position in modern devices is not only
determined by GPS sensors, but also by observing the sig-
nal quality of wireless networks [18, 7, 15, 12, 11, 23], these
environmental features should be simulated as well. More-
over, LBS might use the visibility of wireless networks to
infer logical/semantical locations [14, 11, 1] via semantical
fingerprinting [10, 30] or to calculate the geographical posi-
tion [14, 16, 18, 7]. For a holistic simulation of radio signals,
it is hence mandatory to simulate WiFi access points and
cells as well. Recently, proactive LBS even started to sense
the activity of a mobile device user in order to optimize the
energy consumption by pausing the positioning in case the
user is not moving [27]. Hence, a comprehensive outdoor
context simulator for LBS needs to simulate not only a po-
sition with a realistic accuracy and the visible WiFi access
points and cells including the RSS but also the users cur-
rent activity. Although these requirements are defined with
respect to LBS, they are as well applicable to context simu-
lators for context-aware systems in general.
Today, there exists no world-scale environment simulator
for the interactive test, evaluation and demonstration of LBS
that fulfills all the aforementioned requirements. This can
be traced back to several reasons. First, creating a world-
scale 3D environment is obviously very cost-intensive. In
addition, it is difficult to determine during a simulation how
accurate a simulated position provided by a virtual GPS
sensor should be at an arbitrary position on earth. Different
environmental factors like buildings, trees, mountains, the
dilution of precision and even the local width of the Iono-
sphere are highly influencing the accuracy of a position fix
[17]. Another difficulty concerns the simulation of the list
of visible WiFi access points, cells and Bluetooth networks.
Most WiFi access points and Bluetooth networks and all cel-
lular networks are privately owned, subject to change and
usually unknown in advance. Moreover, the overall distri-
bution of mobile stations within cellular networks and their
coverage is often a best kept secret of mobile operators since
this reveals the quality of the infrastructure in general. But
even if all WiFi access points, Bluetooth networks and cell
stations including their emitting signal power are known in
advance in form of cell plans, it is still difficult to reliably
determine during a simulation - based on signal propagation
models like used in [24] and environmental factors like trees,
buildings and other obstacles - if a signal is perceptible at a
particular position and how good the signal quality will be.
The composition of variables is just too complex and their
influences almost unpredictable.
For the simulation of position-specific context, CATLES
is thus not able to rely on any cell plan of WiFi access
points, Bluetooth networks, mobile stations of cellular net-
works or mobile operator generated measurements known as
best server estimates and does not initially know anything
about the expected accuracy of GPS at a particular place.
Instead, it makes use of extensive sets of publicly available
real-world location-annotated WiFi and cell measurements,
collected in a crowdsourced manner, to determine the con-
text a mobile device is supposed to sense at a particular
position within the world-scale virtual environment. During
a simulation, it reflects the experiences other mobile devices
had while passing the same position on earth rather than
relying on approximations calculated based on cell plans in
conjunction with radio propagation models.
However, it is computationally expensive during an in-
teractive simulation to continuously determine the location-
specific context comprising all the above mentioned envi-
ronmental features given a large set of measurements which
can easily rise up to more than a million crowdsensed radio
signal fingerprints. It becomes even a show-stopper in case
the simulated sampling rate exceeds the maximum rate of
requests CATLES can cope with. The sampling rate rep-
resents thereby the amount of times a context needs to be
simulated per position within a particular time unit. The
sampling rate of a mobile device is usually not higher than
one time per second due to energy constraints of mobile de-
vices but in case multiple contexts need to be simulated for
more than one mobile device at a time, the common sam-
pling rate can increase significantly. This happens especially
in case such a service is deployed on a single server which is
used by a whole development team. Hence, the huge amount
of location-annotated radio signal fingerprints needs to be
aggregated in such a way that they can be efficiently ac-
cessed during runtime. In CATLES, the aggregation process
happens prior to any simulation and results in a fine-grained
aggregated model of world-wide radio signal fingerprints.
4.1 Preliminary Modeling
For the aggregated model, the world is being rasterized
into almost equally-sized zones with a particular level of
grid granularity, similar to the world model introduced in
[23]. Within a zone, mobile devices are assumed to sense a
similar context regardless of their position within the zone.
Hence, all measurements of the same type of context within
a particular zone are aggregated by calculating the individ-
ual distribution function of each numerical context feature,
assuming it to be normally distributed, or by enumerating
all possible outcomes of a symbolical context feature. The
resulting model consists of a finite amount of zones with its
corresponding statistics of the measured context.
Within CATLES, the world is rasterized using geohashes
[21]. By using the geohash system, the world can be raster-
ized into almost equally-sized rectangular zones, at different
levels of grid granularity, with each zone bearing a unique
name in form of a single string. At the lowest level of grid
Figure 1: Visualization of the accuracy distribution
within downtown Berlin, rasterized with geohashes
(approx. 38,9m×19m). Accuracy of 0-15m: light
blue, 15-30m: dark blue, 30-45m: orange, >45m:
red. If statistics are not shown for a geohash zone
(not covered by a colored rectangle), it is lacking
crowdsensed measurements.
granularity (level 1), the world is segmented into 32 equally-
sized rectangular zones, each zone bearing a unique name
consisting of only one symbol, e.g. geohash ”U” covering
parts of the center and east of Europe. Segmenting each
zone into 32 equally-sized rectangular subzones in a recur-
sive manner increases the level of grid granularity by one and
creates subzones with unique names consisting of two sym-
bols, e.g. geohash ”U3” covering parts of eastern Germany
and western Poland. The segmentation can be continued
until the preferred level of grid granularity is reached, e.g.
geohash ”U336XPEW” with grid granularity level 8 covering
parts of a square in the center of Berlin. The longer the iden-
tifier of the geohash, the smaller the size of the rectangular
geohash zone and the higher the level of grid granularity.
The accuracy of a position fix is generally of high interest
for proactive LBS in order to properly decide with a cer-
tain likelihood whether a mobile device can be declared to
be inside or outside of a region which is associated with a
geo-notification for the user. For such a purpose, positioning
techniques do not only provide a latitude and longitude as
the position fix, e.g. according to the World Geodetic System
1984 (WGS84), but also an accompanying accuracy value.
The accuracy is given as a radius spanning a circular region
with the position as its center. It usually defines the zone in
which a mobile device is expected to be located in the real-
world with a certain probability, e.g. 68% for mobile devices
with the Android operating system (as described in the An-
droid documentation). Fortunately, mobile applications and
their corresponding services that are crowdsensing WiFi and
cell information are persisting the position of a measurement
and the associated accuracy. This valuable location-specific
knowledge is used against its original purpose to feed a fine-
grained world-scale model of GPS-positioning accuracy, with
a targeted grid granularity of geohash zones. For this pur-
pose, the accuracy distribution including the average and
standard deviation is calculated per geohash zone based on
the measurements of that zone. A sample distribution of
the expected GPS-accuracy within the downtown of Berlin,
visualized as geohash zones (grid granularity level 8) whose
identifier starts with the prefix ”U336X”, is shown in Figure
Figure 2: Visualization of the WiFi (red) and cell
(blue) coverage within downtown Berlin, rasterized
with geohashes (WiFi: approx. 38,2m×19m; Cell:
approx. 152,9m×152,4m). Zones which are not col-
ored are lacking crowdsensed measurements.
1. The low GPS-accuracy cluster in the center of the map
is located right next to one of the highest skyscrapers of
Berlin. The building is thereby most probably causing the
degradation of a GPS-receivers’ accuracy since it partly ob-
scures the sky. This is a typical example of a variable that is
permanently influencing the accuracy of the GPS-receivers
at this location and which should be considered even in an
indirect manner during the simulation.
The world-scale coverage model of WiFi access points and
cells is thereby constructed in a similar manner. For each
geohash zone, all identifiers like BSSID’s (MAC addresses)
and SSID’s for WiFi’s and cell identifiers (CI) and location
area identifiers (LAI) for cells are extracted from the crowd-
sensed measurements and stored per geohash zone (dupli-
cates removed). The expected RSS of a particular WiFi
access point or cell within a geohash zone is calculated by
averaging all measurements of that WiFi access point or cell
within the zone, yielding to an average RSS with a standard
deviation for each WiFi access point and cell. A visualiza-
tion of all geohash zones in the downtown of Berlin which are
annotated with at least the aggregated statistics of a WiFi
access point or a cell is shown in Figure 2 (grid granularity
level 8 for WiFi access points and 7 for cells).
Although the crowdsensed location-annotated measure-
ments are considered to be the ground truth for the simula-
tion, they are also affected by positioning errors themselves.
One might argue that this will invalidate the model con-
structed above since measurements might be wrongly sur-
veyed. Fortunately, the distribution of positions calculated
by a fixed GPS receiver over a period of time can be ap-
proximated with a normal distribution [32]. Hence, the po-
sitioning errors during the measurements can be neglected
in case a sufficient amount of measurements is collected for
a given geohash zone.
4.2 Architecture
CATLES comprises three main components: a user in-
terface for controlling a single avatar within a virtual 3D
representation of the world (CATLES Simulator UI ), the
core service which manages potentially multiple user inter-
face sessions and all the registered mobile devices (CATLES
Simulator Service) and the mobile devices in conjunction
Simulator UI Simulator Service Mobile Device
Virtual 3D
Web Browsers
Radio Signal
Context Traces
Position Traces
Figure 3: Architectural overview of CATLES includ-
ing the information flows.
with the CATLES Simulator Library (see Figure 3). It fol-
lows an architectural design similar to the context simulator
system introduced in [6] where the environmental features a
mobile application under investigation is sensing are trans-
parently simulated by an external service, which is interac-
tively controlled by a tester, evaluator or demonstrator. In
case of CATLES, the external service is a combination of
the CATLES Simulator UI and the CATLES Simulator Ser-
vice, with both components contributing to the context that
is finally provided to the context-aware mobile applications
under investigation via the CATLES Simulator Library.
The CATLES Simulator UI allows a user (developer, eval-
uator or demonstrator) to interactively move an avatar out
of the first-person perspective through the entire virtual
world. The activity of an avatar, e.g. running or driving,
can thereby be set up and dynamically changed through-
out the simulation. The maximum velocity an avatar can
move within the virtual world depends on the selected ac-
tivity. Moreover, the mobile operator network the avatar is
supposed to use in the virtual world is configurable as well.
During the simulation, the CATLES Simulator Service aug-
ments the primary context given by the CATLES Simula-
tor UI (position, activity and selected mobile operator net-
work) with secondary context, by constantly querying the
world-scale model build beforehand. The secondary context
comprises the expected GPS-accuracy, all potentially visible
WiFi access points and cells and the RSS of the correspond-
ing radio signals.
However, in the real-world, a mobile device might miss a
probe response, e.g. because of bad signal quality. Hence,
the list of visible WiFi access points and cells might be in-
complete in reality. To cope with this issue, the CATLES
Simulation Service can be optionally configured to randomly
delete some of the potentially visible WiFi access points and
cells according to an error rate before proceeding. The re-
quired error rate is determinable by comparing multiple real-
world measurements with each other (see Jaccard similarity
coefficient in Section 5 for details). Moreover, the CATLES
Simulator Service does not only append secondary context
to the primary context and optionally modifies it but also
uses the secondary context to modify the primary one in or-
der to be more realistic. The position, as a primary context,
is thereby artificially shifted by a randomly generated bias
Figure 4: Sample screenshot of the CATLES Simula-
tor UI comprising the visualization of the virtual 3D
environment in the background and the simulation
controls (e.g. activity controls) to the left.
based on the average accuracy and its variance given as addi-
tional information in the secondary context. After the con-
text is processed at the CATLES Simulator Service, it will
be forwarded to the registered mobile devices. Given the
CATLES Simulator Library for mobile devices, a context-
aware mobile application is able to subscribe to the simula-
tion service in order to receive the simulated context.
4.3 Implementation
The CATLES Simulator UI is basically an HTML website
with an embedded Cesium4view for the visualization of the
world-scale virtual 3D environment. 3D models of buildings
including their textures are provided by publicly accessible
city model repositories as standardized CityGML files. The
user can alternatively select to view the world with Google
Earth or from a two-dimensional perspective from above ei-
ther with Cesium or Google Maps5. In the control panel,
the user can select a current activity (e.g. walking or driv-
ing), the mobile operator in use and directly beam the avatar
to an arbitrary position on earth. Each simulation run, de-
noted as a context trace (including the adapted primary and
secondary context), can be recorded, stored and loaded as a
log file and optionally be replayed at any time. This allows
a user to test multiple differently parametrized versions of a
context-aware application by using the exact same context
trace. The CATLES Simulator UI also allows the user to
load a position trace, consisting only of a sequence of lati-
tude and longitude pairs, in order to simulate a particular
predefined route through the virtual world. Figure 4 shows
a sample screenshot of the CATLES Simulator UI.
The CATLES Simulator Service comprises a RabbitMQ6
message broker, a CATLES Context Augmenter web ap-
plication and a CATLES Model Builder application. The
latter application makes use of the batch processing engine
Apache Flink7to transform the measurements provided by
multiple crowdsourcing services into the world-scale model
for radio signals, as introduced in Subsection 4.1. The pub-
licly available OpenMobileNetwork [29] and OPENBMAP8
data sets of crowdsensed location-annotated WiFi and cell
measurements (more than 5 million for OPENBMAP and
more than 800 thousand for the OpenMobileNetwork) are
used as sample data sets within the CATLES prototype.
The resulting model is stored within a PostGIS database,
indexed by the unique geohash identifier. If not sufficient
measurements are collected for a particular geohash zone, it
will not be considered in the model.
During the simulation, a CATLES Simulator UI instance,
which is seen as the initial context message producer, con-
nects to the RabbitMQ message broker using the Simple
Text Oriented Message Protocol (STOMP) for web browsers.
The RabbitMQ message broker forwards the context mes-
sages directly and unmodified to the CATLES Context Aug-
menter via the Advanced Message Queuing Protocol (AMQP).
The CATLES Context Augmenter transforms the provided
position, comprising a latitude and longitude value, to the
targeted geohash identifier, with a constant computational
complexity. Given the geohash identifier, it looks up in the
database to get the associated radio signal statistics includ-
ing the WiFi and cell identifiers for the geohash zone with
a computation complexity of (O(log n)), were ndenotes the
number of geohash zones stored. In a last step, the CATLES
Context Augmenter will adapt the primary context based
on the secondary if necessary and will then forward the aug-
mented context back to the RabbitMQ message broker via
AMQP. Finally, the RabbitMQ message broker will forward
the augmented context to the registered mobile devices re-
spectively via the machine-to-machine connectivity protocol
(MQTT). The CATLES Simulator Library installed on the
mobile device will receive the augmented context and pro-
vides it to context-aware mobile applications which are sub-
scribed to receive simulated context. Currently, the library
is only provided for the Android mobile operating system.
4.4 Setups
Due to its flexible architecture, CATLES can be used in
four general setups. The simplest setup comprises, beside
the always required CATLES Simulator Service, a single in-
stance of the CATLES Simulator UI and a single mobile
device. Hence, the CATLES Simulator UI is used to sim-
ulate the context of an avatar for a single mobile device.
To link the avatar of the CATLES Simulator UI instance
with the mobile device, they both have to agree on a unique
avatar name and session identifier. The session identifier
can be seen as the analogon of a game name from within a
multiplayer game while the avatar name corresponds to the
name of a player. This setup is commonly chosen in case a
context-aware mobile application needs to be demonstrated.
In a more advanced setup, a single avatar may be linked to
multiple mobile devices. This setup is used in case a context-
aware mobile application needs to be tested or evaluated on
different mobile devices like smartphones, tablets and wear-
ables but under the exact same environmental conditions.
Using multiple instances of the CATLES Simulator UI to
simulate multiple avatars together with a single mobile de-
vice becomes necessary for the test and demonstration of e.g.
friend tracker or real-time public transport applications. In
this setup, one avatar is selected to simulate the context for
the liked mobile device while the other avatars are seen as
the social context respectively the publicly available trans-
port vehicles. The same type of applications can be tested
on multiple mobile devices by making use of multiple avatars
and multiple mobile devices at the same time.
Even though CATLES is mainly designed for the inter-
active test, evaluation and demonstration of context-aware
mobile applications it can also be used to interactively in-
vestigate context-aware applications in general. For exam-
ple, the mobile devices can be replaced by a single fixed
device on which a context-aware system is installed. Exam-
ples are traffic monitoring or fleet management systems for
which multiple moving users need to be simulated interac-
tively. Although CATLES does not yet support these type
of systems with a simulator library, making these type of
applications aware of context messages originating from the
CATLES Simulator Service is a strait forward development
task. Due to the use of the well-known MQTT communica-
tion protocol, client libraries are available for all commonly
used programming languages like C, C++ or Java.
Rather than using CATLES as an interactive simulation
tool, it can also be executed in batch mode. For example,
it can be used to simulate the impact of connection loss
on the operation of a fleet management system. In such a
scenario, the CATLES Simulator UI is replaced by a mi-
croscopic urban traffic simulator like VEINS9which is able
to continuously simulate the positions of all vehicles of a
fleet. On the other end, mobile devices are replaced by a
single fleet management system that is supposed to receive
the positions of all vehicles in order to take optimal deci-
sions for freight forwarding. Since the simulated positions
of each vehicle are intercepted by the CATLES Simulator
Service, the forwarding to the context consumer (the fleet
management system) might be stopped for a given vehicle as
soon as the CATLES Context Augmenter detects that the
vehicle is practically not able to communicate with the fleet
management system via a selected mobile operator because
of a lack of cell coverage. In such a batch mode setup, the
CATLES Simulation Service is solely used as a regular web
service which is able to augment location messages with ad-
ditional secondary context information or alter their content
or stop or delay their forwarding to the context consumer.
An evaluation of CATLES is crucial in order to under-
stand how well the simulation performs for varying config-
urable parameters, such as grid granularity and the time
interval in which the crowdsensed measurements were col-
lected. For this, the whole world-scale model of aggregated
radio signals fingerprints, in the following called CATLES
context model, is built for each combination of grid granu-
larity and time interval in order to analyze it’s goodness of
fit for the varying parameters. The overall analysis is done
by comparing a set of radio signal measurements originating
from real world crowdsensing experiments with the simu-
lated environments of CATLES’ alternating context model.
For this evaluation, the radio signal measurements sensed
in real world experiments are considered to be the ground
truth of measurable context.
5.1 Methodology
The evaluation process starts with a preparation phase
in which the ground truth is captured in the real world by
identically constructed LG Nexus 5 (Android 5.1) devices
which are connected to the same mobile operator network.
Although the ground truth was collected on all devices along
Figure 5: Visualization of a sample trace with raster-
ized geohashes for WiFi and cell coverage at Ernst-
Reuter-Platz, Berlin (Wifi: approx. 38,2m×19m;
Cell: approx. 152,9m×152,4m). The track length is
approx. 600m
the exact same path, differences in the sensed measurements
for WiFi’s and cellular networks are expected. This can
be traced back to slightly varying WiFi and cell scanning
intervals on the mobile devices itself as well as to varying
response intervals of cell towers and WiFi access points. In
order to estimate this observational (or measurement) error,
the measurement traces were recorded by foot with multiple
devices which resulted in an total number of 16 measure-
ment traces (sets). The similarity for each pair of sets is
compared by using the Jaccard similarity coefficient defined
as the number of matching elements in two sets divided by
the total number of unique elements in these sets. It pro-
vides an index between 0 (e.g. sets of WiFi identifiers are
distinct) and 1 (e.g. sets of WiFi identifiers are equivalent).
According to this initial calculation the mean Jaccard sim-
ilarity coefficient including all pairs of sets for network cell
identifiers is 0.700 with σ0.199 and for WiFi identifiers
0.429 with σ0.071. As assumed, these values show a
high volatility in the measured data sets even though they
were captured on the same path. As indicated in Subsec-
tion 4.2, these Jaccard similarity coefficients can be directly
translated into artificial error rates which can be considered
within the CATLES Context Augmenter web application
during a simulation to generate even more realistic context.
Due to the fact of weak certainty in the traces of radio
signal measurements, a sample trace out of the 16 traces
is randomly selected for the further evaluation of CATLES.
The measured context of the randomly selected trace (with
the path being visualized in Figure 5) is compared against
the context which is generated by CATLES through a sim-
ulation of a walk along the exact same path. This can be
done easily by uploading the selected trace to the CATLES
Simulator UI for replay. At a grid granularity of length 7,
the CATLES Simulator Service is thereby relying on 36735
WiFi and 1198 network cell measurements which were col-
lected within the respective geohash zones (crossed by the
given path) beforehand through crowdsensing. For the final
comparison of sensed against simulated context traces, sev-
eral performance measures have been selected. At first, the
average GPS accuracy deviation or error is determined. The
measured GPS accuracy in the ground truth is thereby di-
rectly compared to the context simulated by CATLES. Sim-
ilar to that, the average RSS deviation is calculated which
measures the differences in the RSS between a measurement
and CATLES’ estimation. In addition, the overlap between
sensed and estimated WiFi and mobile network cells is eval-
uated by using the recall and precision measures. All per-
formance measures are evaluated with varying geohash grid
sizes and different time intervals which represent the time
frame in which the crowdsensed radio signal fingerprints has
been collected beforehand, e.g. last 12 months. Finally, the
execution times of the CATLES Context Augmenter mod-
ule are measured during the process of simulation from the
initial input to the augmented output. The CATLES Con-
text Augmenter is considered to be a critical component
and the potential bottleneck for the interactive character of
5.1.1 GPS-accuracy and RSS Error Estimation
The GPS-accuracy and the RSS deviation for cell and
WiFi signals are computed by calculating the root-mean-
squared error (RMSE) between the observed values in the
randomly selected sample trace and the estimated values by
RM SE =v
RMSE represents the sample standard deviation and has
been selected as the appropriate measure for comparing the
differences between the values of the estimator ( ˆyi) and the
actual measured values (yi). RMSE punishes large devi-
ations between the observed measurements and the ones
CATLES estimated which implies that situations where
CATLES performs poorly are simple to identify.
5.1.2 Identifier Similarity of WiFi’s and Cells
The evaluation process analyzes the accuracy and rele-
vance in terms of precision pand recall rand calculates
CATLES’ accuracy with the F1score measure which repre-
sents the best balance between precision and recall. The F1
score is a well-known measure for testing accuracy in statis-
tical analysis and data mining. It can be interpreted as a
weighted average of precision and recall and provides an one
dimensional coefficient that reaches values from 1 at best
and 0 at worst. A high F1score implies a high overlap of
cell and WiFi identifier sets between real measurements and
simulated ones. The measures are defined as follows:
p=T P
T P +F P r=T P
T P +F N F1= 2 ·p·r
where TP (true positives) is the number of correctly sim-
ulated contexts and FP (false positives) is the number of
falsely simulated contexts. FN (false negatives) is the num-
ber of contexts that exist in the real world but have not been
simulated by CATLES.
5.2 Results
The results are gathered with ranging grid granularity be-
tween geohash length of 3 (approx. width 150 km), respec-
tively 5 (approx. width 5 km) and 8 (approx. width 40 m)
for GPS and cell sizes. The crowdsensed data time interval
is alternated to represent the last 6, 12, 18 and 24 months.
Figure 6 shows the error estimation for the GPS-accuracy
and the RSS deviation for network cells and WiFi access
Figure 6: GPS-accuracy deviation and RSS devia-
tion estimation for cell and WiFi.
points. The values of the RMSE for the GPS-accuracy
vary with changing geohash length for the grid granular-
ity, whereas the time interval has no distinguishable impact
on the deviation. This matches the assumption that the av-
eraged GPS-accuracy does not change over time as there is
no significant infrastructure change in the satellite’s position
estimation. CATLES performs best with a grid granularity
of 8 with RMSE values as low as 5.6 meters. The RMSE val-
ues for a grid granularity of 3 and 4 were expected as large
areas are covered in which the GPS-accuracy deviation is
evened out. The deviation between real measurements and
simulated ones in RSS for both network cells and WiFi ac-
cess points is below 10 dBm. The differences in RMSEs
at varying grid granularity and time intervals are low with
varieties of approx. 2 dBm.
In Figure 7 the F1score for the similarity between simu-
lated cell and WiFi access point identifiers and actual mea-
surements is shown. While the cell identifier simulation per-
forms well with a optimum value of 0.67 for geohash length 8
and the time interval of the last 6 months, the simulation of
WiFi access point identifiers is significantly worse with opti-
mum values below 0.3. In addition, the similarity for both,
network cell and WiFi, decreases with smaller grid granular-
ity and therefore large coverage of the grid cell surface. The
F1score also declines when considering the time interval for
the last 24 months. Finally, the measured average execution
times of the CATLES Context Augmenter are presented in
time interval
grid granularity
(geohash length)
Cell Similarity
WiFi Similarity
grid granularity
(geohash length)
time interval
Figure 7: Similarity of cell and WiFi identifiers be-
tween simulation by CATLES and real world trace
measured the F1score.
Table 1. These results are based on a single-machine in-
stallation10 of CATLES and show a linear increase of the
execution time according to the crowdsensed measurements
time interval. This linear increase can be handled in a scal-
able manner by using horizontal scaling measures such as
replication and distribution for databases and message bro-
Table 1: Average execution times for geohash length
of eight
time interval (months) 6 12 18 24
execution time (ms) 5 5 7 10
5.3 Discussion
According to the aforementioned results CATLES per-
forms well for the simulation of GPS-accuracy and cellular
networks. Through the consideration of both, the accuracy
and signal strength deviation and the F1score measures,
CATLES’ preliminary parameters for the grid granularity
can be set to the geohash length 8 for GPS-accuracy, whereas
the grid granularity for network cell simulation would be set
to 7. However, the low F1score values for the WiFi iden-
tifier similarity with the initially high measurement error
described by the Jaccard similarity coefficient has a ma-
jor impact on it’s applicability as a simulated context pa-
rameter. The low mean Jaccard similarity coefficient for
WiFi identifiers ground truth indicates highly volatile con-
text information. Especially outdated or personal hotspots
108GB RAM, SSD, Core i5 dual-core. Database not cached.
that can be setup by mobile devices are known issues when
crowdsensing WiFi information [22]. Nonetheless, most use
cases that request the simulation of WiFi access points rely
on algorithms where the presence of few WiFi identifiers is
required, namely a good true positive rate and not their
unavailability or false positive rate. In addition, the use of
grids for the aggregation and simulation of context informa-
tion requires a trade-off between the size of the grid cells
and the amount of measurements considered per grid cell.
Thus, the circumstances under which CATLES simulates
the context environment are highly dependent on the meas-
urement density of each grid cell. Larger grid cells contain
likely more measurements, but are also set to be more im-
precise as shown in the previous results. On the other side,
higher precision in grid granularity represents more accurate
results and contains less measurements. The use of more
memory space for the simulation with higher preciseness of
the grids is crucial when considering the world-scale charac-
ter of CATLES. However, the impact on memory space is
determinable as roughly only 3% of the land surface on earth
are urbanized [8]. Hence, the amount of geohash grid cells
that need to be considered within the CATLES Simulator
Service database is limited.
This paper presented CATLES, a world-scale context sim-
ulator for the rapid test, evaluation and demonstration of
reactive and proactive LBS within the lab. It makes use of
publicly available WiFi and cell measurements to simulate
the location-specific context a mobile device would sense at
a particular position in the real-world, although the mobile
device is being physically located in the lab. Instead of sens-
ing the context with physical build-in sensors, as it is nor-
mally done in real-world experiments, the context is being
provided by the CATLES Simulator Service, which can be
used within a context-aware mobile application by integrat-
ing the provided CATLES Simulator Library. The position
of the mobile device is thereby simulated by an avatar which
can be interactively moved from a first-person perspective
through a virtual 3D representation of the world.
Even though CATLES was originally developed driven by
the requirements to investigate reactive and proactive LBS
in the lab, it is a beneficial and convenient tool to study the
runtime behavior of all kinds of context-aware mobile ap-
plications that make use of context features like WiFi and
cellular networks. CATLES can even be used in a setup
in which context-aware applications on fixed devices are in-
vestigated. However, the quality of the simulated context
features highly depends upon the quality, completeness and
up-to-dateness of the crowdsensed radio signal fingerprints.
Since in most cases these properties can not be guaranteed
for crowdsensed measurements, CATLES will not make real-
world tests obsolete. It should rather give an impression
at an early stage of development or during a demonstra-
tion of how well an LBS or context-aware application will
most probably perform in the real-world, given the simu-
lated context. As a prove of practicability, CATLES was
successfully used for the test, evaluation and demonstration
of the context-based polling App FlashPoll 11 as well as the
GeofyMe App [27], a showcase application for next genera-
tion proactive LBS [26].
Although CATLES allows the user to navigate the avatar
through the whole virtual representation of the world, con-
text features like the list of available WiFi’s and cells can
only be properly simulated in regions where at least sufficient
measurements were conducted beforehand. Otherwise, the
closest known geohash zone with valid GPS-accuracy mea-
surements is used as a means to properly approximate an
expected GPS-accuracy for the position of interest. Unfortu-
nately, this might lead to a non-realisitic simulated position
accuracy in case the consulted geohash zone is located far
away from the simulated position. WiFi and cell identifier
or corresponding signal strengths are even not considered at
all if the zone is lacking measurements. To fill these gaps,
other crowdsourced data sets for WiFi and cell network in-
formation like provided by the Mozilla Location Service12
and even the best server estimates of mobile operators can be
considered in future versions of CATLES. Moreover, recently
introduced low-energy Bluetooth beacons should be crowd-
sensed and integrated as well since they are used especially
for short distance positioning. Other contextual features
which are measurable by mobile devices like time-depended
noise or light conditions would even broaden the scope of
use cases for CATLES.
Another potentially valuable enhancement of CATLES is
related to the way the measurements are aggregated. So
far, the granularity of the grid is fixed for a given contextual
feature. Assuming a large amount of equally distributed
measurements to be present in a certain geohash zone, the
granularity can be further increased locally - by segmenting
the respective geohash zone into 32 subsegments - in order
to fit to the local radio signal characteristics in a more ap-
propriate way. Hence, rather than defining a global level
of granularity for a given context feature, the granularity
might vary depending on the density of crowdsourced mea-
surements within a limited area. This should of course be
weighed up with the resulting increase of computation com-
plexity at runtime during the retrieval of location-specific
context within the CATLES Context Augmenter.
Since the CATLES Simulator Library is currently only
available for the Android mobile operating system, only An-
droid applications can take advantage of CATLES. Never-
theless, similar programming libraries for the mobile oper-
ating systems iOS and Windows 10 Mobile are planned. In
addition, the support for non-mobile operating systems in
order to test and demonstrate context-aware applications in
general should be considered in future versions of CATLES.
Besides extending the support of more platforms, it needs to
be investigated if Wifi’s, cellular networks and the activity
can be mocked on a system-wide level rather than just for
a single application. As it is already accomplished for loca-
tion mocking, this would relieve the application developer
from the small but required overhead to manually modify
the application logic in order to be susceptible for simulated
This work has been partly funded by the EIT Digital
FlashPoll activity and the EIT Digital High Impact Initia-
tive Street Smart Retail (HII SSR).
[1] Azizyan, M., Constandache, I., and
Roy Choudhury, R. SurroundSense: Mobile Phone
Localization via Ambience Fingerprinting. In
Proceedings of the 15th Annual International
Conference on Mobile Computing and Networking
(New York, NY, USA, 2009), MobiCom ’09, ACM,
pp. 261–272.
[2] Baldauf, M., Dustdar, S., and Rosenberg, F. A
Survey on Context-Aware Systems. International
Journal of Ad Hoc Ubiquitous Computing 2, 4 (June
2007), 263–277.
[3] Barton, J. J., and Vijayaraghavan, V. UBIWISE,
A Simulator for Ubiquitous Computing Systems
Design. Tech. rep., HP Laboratories, Palo Alto, 2003.
[4] Bylund, M., and Espinoza, F. Using Quake III
Arena to Simulate Sensors and Actuators when
Evaluating and Testing Mobile Services. In CHI ’01
Extended Abstracts on Human Factors in Computing
Systems (New York, NY, USA, 2001), CHI EA ’01,
ACM, pp. 241–242.
[5] Bylund, M., and Espinoza, F. Testing and
Demonstrating Context-aware Services with Quake III
Arena. Commun. ACM 45, 1 (Jan. 2002), 46–48.
[6] Campillo-Sanchez, P., Bot
ıa, J. A., and
omez-Sanz, J. J. Development of Sensor Based
Applications for the Android Platform: an Approach
Based on Realistic Simulation. Advances in
Distributed Computing and Artificial Intelligence
Journal 4 (2013), 23–28.
[7] Chen, M. Y., Sohn, T., Chmelev, D., Haehnel,
D., Hightower, J., Hughes, J., LaMarca, A.,
Potter, F., Smith, I., and Varshavsky, A.
Practical Metropolitan-scale Positioning for GSM
Phones. In Proceedings of the 8th International
Conference on Ubiquitous Computing (Berlin,
Heidelberg, 2006), UbiComp’06, Springer-Verlag,
pp. 225–242.
[8] Columbia University, CIESIN, IFPRI, The
World Bank, and CIAT. Global Rural-Urban
Mapping Project, Version 1 (GRUMPv1): Urban
Extents Grid, 2011.
[9] Diewald, S., Roalter, L., M¨
oller, A., and
Kranz, M. Towards a Holistic Approach for Mobile
Application Development in Intelligent Environments.
In Proceedings of the 10th International Conference on
Mobile and Ubiquitous Multimedia (New York, NY,
USA, 2011), MUM ’11, ACM, pp. 73–80.
[10] Elhamshary, M., and Youssef, M. CheckInside: A
Fine-grained Indoor Location-based Social Network.
In Proceedings of the 2014 ACM International Joint
Conference on Pervasive and Ubiquitous Computing
(2014), UbiComp ’14, ACM, pp. 607–618.
[11] Kim, D. H., Hightower, J., Govindan, R., and
Estrin, D. Discovering Semantically Meaningful
Places from Pervasive RF-beacons. In Proceedings of
the 11th International Conference on Ubiquitous
Computing (New York, NY, USA, 2009), UbiComp
’09, ACM, pp. 21–30.
[12] K¨
upper, A. Location-based Services: Fundamentals
and Operation. John Wiley & Sons, 2005.
[13] K¨
upper, A., Bareth, U., and Freese, B.
Geofencing and Background Tracking - The Next
Features in LBS. In Proceedings of the 41th Annual
Conference of the Gesellschaft f¨
ur Informatik e.V.
(INFORMATIK 2011) (Berlin, Germany, Oct 2011),
vol. 192, K¨
ollen Druck + Verlag GmbH.
[14] Laasonen, K., Raento, M., and Toivonen, H.
Adaptive On-Device Location Recognition. In
Pervasive Computing, A. Ferscha and F. Mattern,
Eds., vol. 3001 of Lecture Notes in Computer Science.
Springer Berlin Heidelberg, 2004, pp. 287–304.
[15] Laitinen, H., Lahteenmaki, J., and Nordstrom,
T. Database Correlation Method for GSM Location.
In Vehicular Technology Conf., 2001. VTC 2001
Spring. IEEE VTS 53rd (2001), vol. 4, IEEE,
pp. 2504–2508.
[16] LaMarca, A., Chawathe, Y., Consolvo, S.,
Hightower, J., Smith, I., Scott, J., Sohn, T.,
Howard, J., Hughes, J., Potter, F., Tabert, J.,
Powledge, P., Borriello, G., and Schilit, B.
Place Lab: Device Positioning Using Radio Beacons in
the Wild. In Pervasive Computing, H.-W. Gellersen,
R. Want, and A. Schmidt, Eds., vol. 3468 of Lecture
Notes in Computer Science. Springer Berlin
Heidelberg, 2005, pp. 116–133.
[17] Langley, R. B. Dilution of Precision. In GPS World.
1999, pp. 52–59.
[18] Letchner, J., Fox, D., and LaMarca, A.
Large-scale Localization from Wireless Signal
Strength. In Proceedings of the 20th National
Conference on Artificial Intelligence (2005), vol. 1,
AAAI Press, pp. 15–20.
[19] McGlinn, K., O’Neill, E., Gibney, A.,
O’Sullivan, D., and Lewis, D. SimCon: A Tool to
Support Rapid Evaluation of Smart Building
Application Design using Context Simulation and
Virtual Reality. Journal UCS 16, 15 (2010),
[20] Nazari Shirehjini, A. A., and Klar, F. 3DSim:
Rapid Prototyping Ambient Intelligence. In
Proceedings of the 2005 Joint Conference on Smart
Objects and Ambient Intelligence (New York, NY,
USA, 2005), sOc-EUSAI ’05, ACM, pp. 303–307.
[21] Niemeyer, G. Geohash.,
Accessed: 2016-01-06.
[22] Nishio, N., Fukuzaki, Y., and Azumi, T. Detecting
Wi-fi Base Station Behavior Inappropriate for
Positioning Method in Participatory Sensing Logs. In
Proceedings of the 2013 ACM Conference on Pervasive
and Ubiquitous Computing Adjunct Publication (New
York, NY, USA, 2013), UbiComp ’13 Adjunct, ACM,
pp. 665–672.
[23] Nurmi, P., Bhattacharya, S., and Kukkonen, J.
A Grid-based Algorithm for On-device GSM
Positioning. In Proc. of the 12th ACM Int. Conf. on
Ubiquitous Computing (New York, NY, USA, 2010),
UbiComp ’10, ACM, pp. 227–236.
[24] O’Neill, E., Klepal, M., Lewis, D., O’Donnell,
T., O’Sullivan, D., and Pesch, D. A Testbed for
Evaluating Human Interaction with Ubiquitous
Computing Environments. In First International
Conference on Testbeds and Research Infrastructures
for the Development of Networks and Communities
(Feb 2005), pp. 60–69.
[25] Rodriguez Garzon, S. Situation-Aware
Personalization of Automotive User Interfaces. In
Adjunct Proceedings of 4th International Conference
on Automotive User Interfaces and Interactive
Vehicular Applications (Oct 2012), pp. 15–16.
[26] Rodriguez Garzon, S., and Deva, B. Geofencing
2.0: Taking Location-based Notifications to the Next
Level. In Proc. of the 2014 ACM Int. Joint Conf. on
Pervasive and Ubiquitous Computing (New York, NY,
USA, 2014), UbiComp ’14, ACM, pp. 919–930.
[27] Rodriguez Garzon, S., Deva, B., Pilz, G., and
Medack, S. Infrastructure-assisted Geofencing:
Proactive Location-Based Services with Thin Mobile
Clients and Smart Servers. In 2015 3rd IEEE
International Conference on Mobile Cloud Computing,
Services, and Engineering (March 2015), pp. 61–70.
[28] Shah, S. I. A., Ilyas, M., and Mouftah, H. T.
Pervasive Communications Handbook, 1st ed. CRC
Press, Inc., Boca Raton, FL, USA, 2011.
[29] Uzun, A., Neidhardt, E., and K¨
upper, A.
OpenMobileNetwork - A Platform for Providing
Estimated Semantic Network Topology Data. Int.
Journal of Business Data Communications and
Networking (IJBDCN) 9, 4 (10 2013), 46–64.
[30] Uzun, A., Salem, M., and K¨
upper, A. Exploiting
Location Semantics for Realizing Cross-referencing
Proactive Location-based Services. In Proceedings of
IEEE 8th International Conference on Semantic
Computing (Los Alamitos, CA, USA, June 2014),
ICSC 2014, IEEE Computer Society, pp. 76–83.
[31] Velasquez, C., Soares, C., Morla, R., Moreira,
R. S., Torres, J. M., and Sobral, P. A 3D
Simulation Framework for Safe Ambient-Assisted
Home Care. In Proceedings of the Fifth International
Conference on Mobile Ubiquitous Computing, Systems,
Services and Technologies (2011), pp. 61–66.
[32] Zandbergen, P. A. Positional Accuracy of Spatial
Data: Non-Normal Distributions and a Critique of the
National Standard for Spatial Data Accuracy.
Transactions in GIS 12, 1 (2008), 103–130.
... Majchrzak et al. [73] random generation hardware/software state, system event, sensor, network Liu et al. [67] adaptive random testing GUI action, system event, sensor RainDrops [123] sampling from physical devices system event, sensor, network CATLES [30] sampling from physical devices WiFi, cellular signal VanarSena [89] random generation GUI action, sensor, network Song et al. [98] analysing declared permissions hardware state, network ...
... Also, for location-based mobile context-aware applications, CATLES [30] simulates locationrelated context by replaying crowdsensed WiFi and cellular signals that are publicly available. CATLES provides a 3D virtual view of the world for testers to define a position trace. ...
... RacerDroid [100] event injection uncontrolled device Android SDK source code task scheduling ATT [76] debug command original PC+cloud no bytecode RainDrops [123] event injection original cloud Android OS no CATLES [30] event injection original device+cloud no source code Snowdrop [122] event injection uncontrolled PC+device no no Paranoid [85] task scheduling original device+cloud Android OS no ERVA [52] task scheduling uncontrolled device Android OS no VanarSena [89] event injection uncontrolled cloud no bytecode Dynodroid [72] debug command uncontrolled device Android SDK no PUMA [44] debug command uncontrolled device no bytecode AppDoctor [48] event injection slow, fast cloud no bytecode Thor [2] code injection uncontrolled cloud Android OS source code MobiCoMonkey [6] debug command original emulator no no contrast, VanarSena [89] rewrites sensor API calls in the bytecode of Windows Phone apps to inject sensor values without modifying the Windows OS. AppDoctor [48] also uses this way for event injection on Android. ...
Full-text available
Equipped with an abundance of small-scale microelectromechanical sensors, modern mobile devices such as smartphones and smartwatches can now offer context-aware services to users in mobile environments. Although advances in mobile context-aware applications have made our everyday environments increasingly intelligent, these applications are prone to bugs that are highly difficult to reproduce and repair. Compared to conventional computer software, mobile context-aware applications often have more complex structures to process a wide variety of dynamic context data in specific scenarios. Accordingly, researchers have proposed diverse context simulation techniques to enable low-cost and effective tests instead of conducting costly and time-consuming real-world experiments. This article aims to give a comprehensive overview of the state-of-the-art context simulation methods for testing mobile context-aware applications. In particular, this article highlights the technical distinctions and commonalities in previous research conducted across multiple disciplines, particularly at the intersection of software testing, ubiquitous computing, and mobile computing. This article also discusses how each method can be implemented and deployed by testing tool developers and mobile application testers. Finally, this article identifies several unexplored issues and directions for further advancements in this field.
... Taxis 10 , mobile device users 11 or car sharing rides 12 have been analyzed extensively over the last couple of years. While most of the related work focuses on the analysis of GPS data with WGS84 coordinates 13,10,12,14,15,16 , also other positioning techniques based on radio frequency (RF) signals gained some attention, such as cellular network 11 or WiFi data 2,6 . These approaches are often used when the reliability of global navigation satellite system (GNSS) positioning technologies cannot be guaranteed or the monitoring of movement is not applicable on mobile devices. ...
... Aggregation methods, such as the well known Map-Reduce, have been already applied for density-based clustering 4 or spatiotemporal statistics 6 to provide knowledge on movement behavior. Also, more advanced general-purpose distributed computing frameworks, for example Apache Spark, have been used in spatiotemporal analytics for hotspot detection 14 or GPS accuracy aggregation 16 respectively. Spatiotemporal analytics has been used in conjunction with (Web) services and is, as such, not a new idea. ...
Full-text available
Spatiotemporal datasets have become increasingly available with the introduction of a various set of applications and services trac- ing the behavior of moving objects. Recently, there has been a high demand in understanding these datasets using spatiotemporal analytics. While being considered of high value, spatiotemporal analytics did not yet see a wide spreading into the actual business workflow or the direct configuration of services and applications. The computational complexity for spatiotemporal datasets and the heterogeneity of data sources are considered key factors for the current state. This paper introduces STEAM, a platform for distributed spatiotemporal analytics on heterogeneous spatiotemporal datasets. STEAM introduces a framework that abstracts the key components from incoming spatiotemporal datasets that originate from various positioning systems. This abstraction provides a common base for distributed and scalable analytics methods that is not bound to a specific underlying positioning technique. STEAM provides a distributed state-of-the-art implementation and is evaluated on a multi-machine testbed for linear scalability.
... The determination of the shortest path between 2 intersection points using the Dijkstra or A* algorithm is executed efficiently by the route calculation engine of the GraphHopper project 7 . To consider the average accuracy of the positioning technique of GPS at a particular geographical position, the data provided by the CATLES project [20] was incorporated into the web service. Rather than providing a continuous distribution of the average accuracy of GPS for an arbitrary region, the CATLES project aggregates multiple crowdsourced position measurements within non-overlapping and same-sized rectangular regions that are approximately 17 meters wide and 19 meters long. ...
Conference Paper
Full-text available
An ever-increasing number of today's mobile applications take advantage of location-based services (LBS) in order to proactively notify mobile users about location-dependent content or to execute location-dependent actions once the user enters or leaves a dedicated zone. The proactive LBS are thereby responsible to track the user's position energy-efficiently in the background and to continuously match the position against a set of zones for which geo-triggered actions are defined, better known as geofences. Unfortunately, proactive LBS suffer from a highly erratic reliability. Sometimes, location-dependent actions are not triggered although a user entered a geofence while in other situations location-dependent actions are executed even though a user did not enter any geofence. The reasons are manifold, ranging from an imprecise positioning technique over a lack of cellular network coverage to an inadequate configuration. This paper discusses the technical and environmental factors that have an influence on the reliability of proactive LBS. To make the reliability predictable, it introduces an estimator for the probability that a location-dependent action-as defined for a given geofence-gets triggered by a proactive LBS in case a user crosses the respective geofence. As a proof-of-concept, a prototypical implementation of the estimator is presented together with the outcome of comparing the computed estimations against the real world experiences with an exemplary proactive LBS.
... The infrastructural knowledge comprising the road network is provided by the OpenStreetMap project and stored within a PostgreSQL database with the PostGIS extension for optimized spatial queries. The average GPS accuracy at a certain location is acquired via a service provided by the CATLES project [12] while the WiFi and cell networks are given by the OpenMobileNetwork 6 . Currently, the web service does not take the WiFi and cell infrastructure into consideration. ...
Conference Paper
Full-text available
Today, proactive location-based services (LBS) are gaining momentum as mobile devices became able to track the users' position in the background without notable battery drain. They are used in several application areas like location-based marketing or gaming to deliver notifications, e.g. coupons, proactively to the user once a defined geographical area, also known as geofence, is entered. Owning to various reasons like the limited preciseness of positioning techniques for outdoor environments or the strict energy constraints of today's mobile devices, proactive LBS are still facing reliability issues. Either the user is burdened with non-relevant notifications in case the proactive LBS wrongly assumed the user to be located within a geofence, or notifications are not received at all although the user visited the geofence. This paper investigates how the day-by-day configuration of proactive LBS with geofences may influence the reliability of the service as a whole. Based on the findings, it introduces a web service which quantifies how reliable a proactive LBS will most probably be with respect to a given geofence in order to enable even non-experts to properly set up a proactive LBS with appropriate geofences.
Conference Paper
Full-text available
This paper presents an interactive prototype of an automotive user interface that changes its behavior depending on the situation-dependent user preferences. In a first step, the interactive prototype gathers user information implicitly by observing the situation-dependent interaction behavior. Well-known contextual personalized features like situation-aware navigational shortcuts and situation-aware automated routines are used at the second step to support the user either with the presentation of a situation-dependent list of shortcuts or by an situation-aware automatic execution of commonly used functionality. Additionally, the interactive prototype is extended by a real-world driving simulator in order to experience the contextual personalization in real-time.
Full-text available
Smart phones are equipped with a wide range of sensors (such as GPS, light, accelerometer, gyroscope, etc.) and allow users to be connected everywhere. These characteristics offer a rich information source for creating context-aware applications. However, testing these applications in the lab, before their deployment, could become a hard task or impossible because of sensors correlation, too wide testing area or an excessive number of people involved. This work aims to solve these problems carrying out the testing in a simulator, simulating the world in which the application user is immersed into. Tester controls her avatar and the avatar has a simulated smart phone that is connected with the user’s smart phone. Applications under test are installed on the real smart phone and are compiled with a library that replaces standard services of the sensors by others that offer data sensor from the simulator (depending on the simulated smart phone context) instead of real world.
Conference Paper
Full-text available
With the increasing popularity of smartphones, location-based services became a hot topic and a great number of solutions were presented over the last years. The majority of applications are based on the idea to present location-specific information in case the smartphone user asks for it. A relatively small amount of applications are dealing with geo-notifications that are intended to inform the smartphone user proactively about location-specific information in case a dedicated zone is entered or left. The technology behind proactive location-based services is called Geofencing and it is mainly implemented and executed at the mobile device. This paper presents a new approach to offload this resource intensive process of monitoring the user's location into the infrastructure. The mobile device is thereby considered to be a thin client that is mainly responsible to locate itself whereas the continuous comparison of the mobile's position with a large set of dedicated zones, called geofences, is executed within an environment with lower resource constraints. A prototypical implementation of a thin client as well as the corresponding location processing unit within the infrastructure gets introduced, discussed and evaluated under different environmental conditions.
Conference Paper
Existing location-based social networks (LBSNs), e.g. Foursquare, depend mainly on GPS or network-based localization to infer users' locations. However, GPS is unavailable indoors and network-based localization provides coarse-grained accuracy. This limits the accuracy of current LBSNs in indoor environments, where people spend 89% of their time. This in turn affects the user experience, in terms of the accuracy of the ranked list of venues, especially for the small-screens of mobile devices; misses business opportunities; and leads to reduced venues coverage. In this paper, we present CheckInside: a system that can provide a fine-grained indoor location-based social network. CheckInside leverages the crowd-sensed data collected from users' mobile devices during the check-in operation and knowledge extracted from current LBSNs to associate a place with its name and semantic fingerprint. This semantic fingerprint is used to obtain a more accurate list of nearby places as well as automatically detect new places with similar signatures. A novel algorithm for handling incorrect check-ins and inferring a semantically-enriched floorplan is proposed as well as an algorithm for enhancing the system performance based on the user implicit feedback. Evaluation of CheckInside in four malls over the course of six weeks with 20 participants shows that it can provide the actual user location within the top five venues 99% of the time. This is compared to 17% only in the case of current LBSNs. In addition, it can increase the coverage of current LBSNs by more than 25%.