Figure 1: MVC design pattern for app ”Mobile Return”.
both in the map view and in the augmented reality
view. The GPS needs to be activated in the depen-
dent’s device in order to track the user’s location.
Normally, the GPS allows to know the position
of the user with a possible error of some meters
(Van Diggelen, 2009).
• Controller, it manages user’s eventsand sends raw
data to the model for analysis. It also collects the
information provided by caregivers and sends it to
the model. In addition, it receives the information
required to update the view from the model.
• Model, it comprises the business logic and the
data model. Every time the app receives from the
GPS a new position of the user, it works out the
return route. On the other hand, if the user gets
out of the allowed radius, the app warns the care-
givers and sends messages with the information
required to locate the dependent. This component
implements the following models: User, Adapta-
tion, Context, Interaction, Content and Environ-
ment.
A further decomposition of the MVC components can
be found in figure 2. Modules or libraries with spe-
cific features were designed so that they can be reused
in subsequent projects.
2.2 Models Proposed for the A
2
R app
Besides the architecture, the proposal for A
2
R mod-
els extends previous works in web applications
(Brusilovsky, 2001), (Brusilovsky and Mill´an, 2007),
(Heckmann, 2006) with information that becomes
relevant when considering A
2
R systems (Tenemaza
et al., 2015b), (Tenemaza et al., 2015a). Here a de-
scription of each model proposed is described.
• User Model. In terms of the personal and cogni-
tive data represented, the user model is similar to
that of web systems. However, the user model in
A
2
R can go far beyond, because the user’s phys-
ical features (for example their stride length or
walking mean velocity) and behaviour (for exam-
ple their walking route) can also be taken into ac-
count and analysed in real-time.
In this app, the User Model also included user
interests, represented as the important places for
the user, such as his/her home, and familiar land-
marks.
• Context Model. This model represents a snap-
shot taken from the situation in which a user is
using the system. It is different from a traditional
context model because it takes into account the
real environment.
In this App, the Context Model observes the cur-
rent user position with respect to his/her home,
considering whether the user came out of the al-
lowed area within a specified range. This infor-
mation is obtained from the GPS and compass.
• Interaction Model. This model represents the
evolution of the user-system-environment interac-
tion. What distinguishes it from the context model
is that the context is an instant snapshot, while the
interaction model registers the history of interac-
tions and the evolution in the context. It serves as
a data source for enriching the user’s model.
In this app, the Interaction Model registers the
trajectory that the user has followed. Based on
this information, it is possible to infer patterns of
movement of the user. This data will be useful to
update the user model with new places known by
the user.
• Environment Model. This model represents at-
tributes of objects, persons, places, and all other
aspects related to the real physical environment in
which the user utilizes the system. In this app, the
Environment Model takes from Google Cloud the
names of streets, buildings, parks, special places.
• Content Model, specific information about each
place that can be displayed to the user in the maps
and A2R.
• Adaptation Model. The system should adapt
content, navigation and presentation. The pro-
posed model defines how to adapt output data
coming from the content model taking into ac-
count interests and other user’s characteristics
represented in the user model. Moreover, it will
consider defined restrictions in the environmental
model and, if necessary, data from the interaction
model. Also, the adaptation should take into con-
sideration the current context. The resulting in-
formation should be presented in a user-friendly,
multimodal form, without forgetting the impor-
tance of the human-computer interface, both for
mobile phones and other A
2
R devices (Heufe-
mann et al., 2013).