Two-Level Software Architecture for Context

IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015
1205
Two-Level Software Architecture for ContextAware Mobile Distributed Systems
M. A. M. Acosta, E. L. Domínguez, G. G. Castro, S. E. P. Hernández and M. A. Medina Nieto
Abstract— Currently, there is a trend to develop context-aware
mobile distributed systems (MDS), such as systems that recommend
places according to the location and the path of users. Some of the
key challenges in the development of this type of systems are the
following: acquisition, management and use of data context. In this
paper, we propose two-level software architecture to obtain, use and
provide context information in a MDS. From our point of view, the
proposed architecture takes into account the requirements that
emerge from data collection, use and management of context, as well
as the own features of MDS. Based on our software architecture, a
context-aware group communication system is implemented, which
allows members to have four types of context: physical activity,
logical activity, location and level of sound.
Keywords— Two-level Software Architecture, Context-aware
Applications, Mobile Distributed Systems.
I. INTRODUCCIÓN
L
OS DISPOSITIVOS móviles son cada vez más populares
debido a que cuentan con una mayor capacidad de
procesamiento, nuevas formas de comunicación con otros
dispositivos, la posibilidad de ejecutar diversas aplicaciones y
además cuentan con sensores que proporcionan información de
contexto del usuario [1]-[5]. En los sistemas de cómputo, la
información de contexto es cualquier información que pueda
emplearse para caracterizar la situación de una entidad, donde
una entidad puede ser una persona, lugar u objeto que es
considerado relevante entre un usuario y una aplicación
(incluyendo al usuario y la aplicación misma) [1], [2], [4]-[7].
Actualmente ha surgido una tendencia en el desarrollo de
sistemas distribuidos móviles conscientes de contexto con
distintos tipos de aplicaciones tales como: un sistema que
recomienda ciertos lugares de acuerdo a la ubicación y
trayectoria de un usuario [8], un sistema que mejora la
visualización de páginas web en función del perfil y el contexto
actual del usuario [9] y un sistema que monitoriza los sensores
de otros dispositivos, generando alarmas de acuerdo a la
información obtenida [10]. Estos sistemas usan la información
contexto para proveer información relevante y/o servicios al
usuario, donde la relevancia depende de la tarea o actividad que
el usuario realiza [2], [3], [6].
_______________________
M. A. M. Acosta, Centro de Enseñanza de LANIA, Veracruz, México,
[email protected]
E. L. Domínguez, Centro de Innovación e Investigación de LANIA,
Veracruz, México, [email protected]
G. G. Castro, Centro de Enseñanza de LANIA, Veracruz, México,
[email protected]
S. E. P. Hernandez, Departamento de Ciencias Computacionales, Instituto
Nacional de Astrofísica Óptica y Electrónica, Puebla, México,
[email protected]
M. A. Medina Nieto, Departamento de Informática, Universidad
Politécnica de Puebla, Puebla, México, [email protected]
Los retos clave para el desarrollo de este tipo de sistemas
conscientes de contexto son: la adquisición, gestión y la forma
en que se utiliza la información de contexto. Como solución a
estos retos, se han propuesto arquitecturas de software que
permiten llevar a cabo la construcción de sistemas conscientes
de contexto sobre sistemas distribuidos móviles [3], [4]. Por
otro lado, las arquitecturas conscientes de contexto también
deben considerar los requerimientos que surgen a partir de las
características propias de los sistemas distribuidos móviles [3],
[4], [10] tales como: dispositivos móviles con limitadas
capacidades de almacenamiento y procesamiento, obtención de
información de contexto a partir de fuentes heterogéneas,
desconexiones frecuentes de los dispositivos móviles y canales
de comunicación con limitado ancho de banda.
Algunos trabajos de investigación han propuesto
arquitecturas conceptuales para el desarrollo de aplicaciones
conscientes de contexto sobre sistemas distribuidos móviles [3],
[4], [12]-[17]. Sin embargo, estas arquitecturas tienen las
siguientes desventajas: cuentan con un modo deficiente de
obtención de la información contextual; no recaban
información contextual de otros dispositivos, carecen de la
ejecución de inferencias con base en la información de contexto
recabada, no consideran las limitadas capacidades de
procesamiento y almacenamiento de un dispositivo móvil, no
contemplan la distribución de información en una
comunicación en grupo, y en algunos trabajos solamente se
presenta la propuesta conceptual de la arquitectura [3].
En este trabajo se propone una arquitectura de software twotier (dos niveles) en capas que permite obtener, utilizar y
proveer información de contexto en un SDM. La arquitectura
desarrollada considera y satisface los requerimientos que
surgen a partir de la obtención, gestión y utilización del
contexto y de las características propias de los SDM. La
arquitectura propuesta en este trabajo está diseñada con base en
un patrón arquitectural en capas y en tiers (nivel móvil y nivel
servidor). Cada capa proporciona ciertos servicios a las capas
superiores, ocultando a estas capas los detalles de cómo los
servicios ofrecidos por las capas inferiores son realizados. En
nuestro caso, la arquitectura desarrollada permite identificar,
clasificar, agrupar y ordenar los distintos servicios necesarios
para llevar a cabo la obtención, utilización y distribución de la
información de contexto en un SDM.
Con base en la arquitectura de software two-tier en capas
propuesta en este trabajo, se implementó un sistema de
comunicación electrónica en grupo consciente de contexto
(SCEGCC) que muestra a sus usuarios cuatro tipos de contexto:
actividad física, actividad lógica, ubicación y nivel de sonido.
1206
IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015
Las pruebas de funcionalidad realizadas al SCEGCC muestran
que la arquitectura desarrollada en este trabajo presenta de
forma correcta la información de contexto a los usuarios. El
prototipo del SCEGCC se desarrolló en el sistema operativo
móvil Android debido a que existe una mayor tendencia en el
número de usuarios de este sistema comparado con otros
sistemas operativos para móviles [1], [2].
II. ESTADO DEL ARTE
Algunos trabajos han propuesto arquitecturas de software
para el desarrollo de aplicaciones conscientes de contexto sobre
sistemas distribuidos móviles [3], [4], [12]-[17]. Estas
arquitecturas deben considerar y satisfacer los siguientes
requerimientos que surgen a partir de la necesidad de obtener,
gestionar y utilizar la información de contexto [3], [12]-[17]:
sensorización, pre-procesado de contexto, modelado de
contexto, almacenamiento persistente, distribución de contexto,
razonamiento (obtener contexto complejo y de alto nivel),
entrega y descubrimiento de contexto. También estas
arquitecturas, al estar enfocadas en sistemas distribuidos
móviles deben considerar los siguientes requerimientos [3], [4]:
ligereza, extensibilidad, robustez ante desconexiones,
almacenar contexto útil, recoger contexto cambiante,
abstracción del medio de transmisión de datos y comunicación
en grupo.
En este trabajo se analizaron las diversas arquitecturas CC
para SDM que han sido propuestas [3], [4], [12]-[17] con
respecto a los requerimientos que se deben considerar en la
obtención, gestión y utilización del contexto y a los
requerimientos considerados para un SDM. La arquitectura
propuesta por David Sainz [3] es la que cubre la mayoría de los
requerimientos; sin embargo, en el trabajo presentado en [3]
solo se describe el diseño conceptual de la arquitectura sin
ninguna implementación de las capas o servicios que plantea
dicha arquitectura.
III. DISEÑO CONCEPTUAL DE LA ARQUITECTURA CC PARA SDM
En este trabajo se propone una arquitectura de software twotier (dos niveles) en capas, ver Fig. 1, que permite obtener,
utilizar y proveer información de contexto en un SDM. Nuestra
arquitectura está basada en la propuesta presentada en [3]
incorporando características del proyecto Odin [4]. La
arquitectura propuesta en este trabajo está diseñada con base en
un patrón arquitectural en capas y en tiers (nivel móvil y nivel
servidor). Cada capa proporciona ciertos servicios a las capas
superiores, ocultando a estas capas los detalles de cómo los
servicios ofrecidos por las capas inferiores son realizados. En
nuestro caso, la arquitectura desarrollada permite identificar,
clasificar, agrupar y ordenar los distintos servicios necesarios
para llevar a cabo la obtención, utilización y distribución de la
información de contexto en un SDM.
Figura 1. Arquitectura de software two-tier en capas CC para SDM.
Aunque existen capas que se encuentran en los dos niveles,
los servicios o funciones de estas capas estarán limitados al
hardware que posee cada nivel. Por ejemplo, la capa de
almacenamiento en el nivel móvil tendrá funciones mínimas y
solo guardará la última información de contexto obtenida, en
cambio en el nivel servidor se almacenarán todos los registros
que se obtengan del móvil. A continuación se presenta una
descripción de las capas que integran la arquitectura propuesta
en este trabajo:
Capa de Plugins de Contexto. Los plugins son
componentes independientes que se encargan de obtener la
información de contexto por tipo de sensor, presentes en el
nivel Móvil y en el nivel Servidor. Los plugins de contexto se
pueden clasificar en físicos y lógicos. En nuestra arquitectura,
los plugins de contexto físicos permiten realizar una
sensorización de diferentes datos obtenidos a partir de
componentes de hardware tales como: acelerómetro, GPS,
intensidad de luz, proximidad, micrófono, entre otros. Por otro
lado, los plugins de contexto lógicos son aquellos que permiten
recabar información referente a aplicaciones del sistema u otros
sistemas. Por ejemplo, saber cuándo se realiza una llamada o
conocer la aplicación ejecutada en primer plano.
Capa de Sensorización. Esta capa, incluida en los niveles
Móvil y Servidor, está preparada para hacer consultas a los
Plugins y recibir información de ellos, mediante esta capa es
posible activar o desactivar Plugins. Realiza un pre-proceso de
información de cada uno; el cual consiste en un tratamiento
previo que se le da a la información contextual.
Capa de Comunicación en Grupo. Esta capa tiene los
objetivos de proveer el acceso a la red de comunicaciones sin
importar el medio físico de transmisión de datos, permitir una
comunicación entre más de dos personas por medio de
mensajes discretos. Cuenta con los siguientes componentes: a)
ordenamiento: Tiene como objetivo mostrar los mensajes en el
orden en que fueron generados. Para esto se implementó el
algoritmo Broadcast Mínimo [11] que realiza la entrega de los
mensajes en orden causal, y b) gestión de usuarios: Establece
las funciones para el ingreso, modificación de datos y/o
MEDINA ACOSTA et al.: TWO-LEVEL SOFTWARE ARCHITECTURE
eliminación de usuarios en una comunicación en grupo.
Capa de Procesado. Esta capa genera un modelo de
representación del contexto, la cual es de gran beneficio para
poder mantener, actualizar y trabajar la información de
contexto, así como para razonar sobre él. La capa de Procesado
se encuentra en el nivel servidor.
Capa de Almacenamiento. Se ubica en los dos niveles
(Móvil y Servidor) pero con funciones específicas para cada
nivel. En el nivel Móvil se almacenará el último contexto
recabado. En el nivel Servidor, las funciones de esta capa
consisten en almacenar todos los registros de contexto que sean
recibidos, con el fin de generar un historial de contexto. Los
componentes para esta capa en ambos niveles son:
• Componente de almacenamiento: Se accede para recoger
los datos de contexto que se necesiten y para almacenar los
que se hayan conseguido.
• Componente de distribución: Recibe información desde
otros dispositivos y envía la información que el dispositivo
desea publicar.
• Componente de descubrimiento: Obtiene y recibe consultas
de contexto que se quiere encontrar y analiza si es posible
proveer de la información que se pide.
Capa de Razonamiento. Se encuentra en el nivel del
Servidor y tiene como función realizar un razonamiento sobre
la información de contexto que está almacenada en la base de
datos del nivel Servidor. En esta capa se pueden activar o
desactivar los siguientes motores:
• Motor de obtención: permite obtener y trabajar con el
contexto de alto nivel que este en la capa de
almacenamiento o de otros dispositivos.
• Motor de calidad del contexto: el objetivo de este motor es
conocer la fiabilidad de la información y asegurarse de
mantener un alto grado de calidad.
• Motor de reacción: permite tener un comportamiento
específico sobre el contexto.
Servicios de Contexto. Esta capa es el punto de entrada de
las aplicaciones. Provee tres interfaces: a) consulta de
Contexto: Las aplicaciones podrán hacer consultas del contexto
que desean obtener, b) Razonamiento: Se indica el
comportamiento que se desea obtener de acuerdo a
determinados estados del contexto, y c) calidad: permite
configurar qué información de calidad se desea obtener junto
con la información de contexto.
Capa de Aplicación. Es la capa que describe a la aplicación
que hace uso de la arquitectura consciente de contexto para
sistemas distribuidos móviles.
IV. DESARROLLO DE LA ARQUITECTURA CC PARA SDM
Este trabajo se enfocó en implementar las siguientes capas
principales del nivel Móvil: Plugins de Contexto,
Sensorización, Comunicación en Grupo y Almacenamiento.
1207
Estas capas son consideradas parte fundamental en el desarrollo
de aplicaciones conscientes de contexto sobre un SDM [3], [4].
En nuestro trabajo, se establecieron como objetivos obtener,
gestionar y utilizar los siguientes tipos de contexto:
• Actividad lógica: describir la aplicación utilizada en primer
plano en el móvil o si se está realizando una llamada
telefónica,
• Actividad física: determinar por medio del móvil si un
usuario se encuentra en reposo, en reposo y usando el móvil,
caminando, corriendo o andando en auto,
• Ubicación: conocer la ubicación del usuario por medio de
una dirección postal y
• Nivel de sonido: saber el nivel de sonido del ambiente por
medio del móvil.
A continuación se realiza una descripción de las capas
desarrolladas o implementadas en este trabajo de investigación
aplicada:
Plugins de Contexto. Conjunto de servicios en Android [17]
que permiten obtener información de diferentes sensores y
enviarla por mensajes Broadcast [11]. Estos servicios son los
siguientes:
• Plugin del acelerómetro: colección de datos del
acelerómetro, se almacenan los valores máximos y mínimos
para cada eje y se calculan los valores promedio.
• Plugin de la aplicación actual: permite obtener el nombre
del paquete de la aplicación en primer plano. Por ejemplo,
la aplicación Mensajes: “com.android.mms”.
• Plugin de llamando: obtiene tres tipos de mensajes para el
cambio del estado del teléfono, estos son: Timbrando
(recibiendo una llamada), Descolgado (realizando una
llamada) y Colgado (finalizando una llamada).
• Plugin de nivel de sonido (NS): obtiene el valor en decibeles
del nivel de sonido por medio del micrófono del móvil.
• Plugin de ubicación: obtiene la ubicación, consta de las
coordenadas Latitud y Longitud, además de un grado error
de acuerdo a la ubicación exacta, por ejemplo: Latitud
19.519677, Longitud -96.915263 y Error de precisión 15m.
Capa de Sensorización. Conjunto de servicios en Android
[17] que realizan un tratamiento a la información de contexto
obtenida por los Plugins: a) pre-procesado de la actividad física:
por medio de la información de los plugins del acelerómetro y
de la velocidad, calculada por dos ubicaciones, se deduce la
actividad física, la cual puede ser: en reposo, en reposo y
utilizando el móvil, caminando, corriendo y andando en auto,
b) pre-procesado de la actividad lógica: de acuerdo al dato del
plugin de AL se puede determinar la aplicación con la cual el
usuario esta interactuando, c) pre-procesado del nivel de
sonido: con el valor en decibeles del plugin de NS se determina
el nivel de ruido: muy silencioso, silencioso, moderado, poco
ruidoso, ruidoso, muy ruidoso y ensordecedor, y d) preprocesado de la ubicación: representada mediante los siguientes
elementos: calle, número, ciudad, estado, país, error precisión.
Capa de Comunicación en Grupo. En esta capa se
desarrolló el componente de Ordenamiento. El componente de
1208
IEEE LATIN AMERICA TRANSACTIONS, VOL. 13, NO. 4, APRIL 2015
ordenamiento permite llevar a cabo la entrega de la información
de contexto en el mismo orden en que fue generada por las
fuentes sin el uso de referencias globales de tiempo físico. En
nuestro caso, el algoritmo utilizado por el componente de
ordenamiento es el propuesto en [11].
Capa de Almacenamiento. Recibe información de
contexto, la almacena, y la proporciona cuando se solicite y la
distribuye a otros dispositivos móviles. Usa tres componentes:
1) Componente de descubrimiento: Recibe el contexto por
mensajes Broadcast, y por medio de filtros determina el tipo de
contexto recibido, 2) componente de almacenamiento:
almacena únicamente un registro para cada tipo de contexto, en
una base de datos en SQLite [17] para el móvil Android, que se
actualizará cada vez que se reciba información de contexto y 3)
componente de distribución: distribuye la información por
medio de peticiones a un Servicio Web, que recibe y almacena
los datos de contexto en una base de datos en un Servidor de
contexto externo, para contar con un historial de contexto.
Figura 2. Escenario utilizado para llevar cabo las pruebas de funcionalidad del
prototipo desarrollado.
Con base en los resultados obtenidos, ver Fig. 3, Las pruebas
de funcionalidad realizadas al SCEGCC muestran que la
arquitectura descrita en este trabajo obtiene, gestiona y
distribuye la información de contexto entre los usuarios del
sistema de comunicación electrónica en grupo de forma
correcta, ver Fig. 3.
V. PROTOTIPO: SISTEMA COMUNICACIÓN ELECTRÓNICA EN
GRUPO CC PARA SDM
Con base en la arquitectura de software two-tier en capas
desarrollada en este trabajo, se implementó un sistema de
comunicación electrónica en grupo consciente de contexto
(SCEGCC). En este sistema, un grupo de usuarios se comunica
por medio de mensajes discretos en un chat grupal y nuestra
arquitectura obtiene cada cierto intervalo de tiempo las
variables de contexto del dispositivo móvil de los usuarios.
Cuando surge un cambio en el contexto de un usuario, la
arquitectura entrega dicha información de contexto al sistema
de comunicación electrónica en grupo.
Con la finalidad de evaluar el correcto funcionamiento de
nuestra arquitectura se llevaron a cabo diversas pruebas de
funcionalidad sobre el SCEGCC. El escenario utilizado para
llevar a cabo las pruebas de funcionalidad del prototipo
generado a partir de nuestra arquitectura es mostrado en la Fig.
2. Este escenario contempla una comunicación en grupo entre
sus elementos. El grupo está formado por tres usuarios con sus
dispositivos móviles con sistema operativo Android.
El SCEGCC desarrollado muestra la siguiente información
de contexto de los usuarios: Actividad Física, Actividad Lógica,
Ubicación y Nivel del Sonido (ver, Fig. 3). Además, muestra
los mensajes y la información de contexto en el orden en que
fueron generados. En nuestro caso, las pruebas realizadas se
llevaron a cabo considerando diversas situaciones de los
usuarios.
Figura 3. Información de contexto mostrada a los usuarios por el sistema
comunicación electrónica en grupo consciente de contexto.
VI. CONCLUSIONES
Se presentó una arquitectura de software two-tier en capas
que lleva a cabo la obtención, gestión y utilización de la
información de contexto en un SDM. La arquitectura propuesta
MEDINA ACOSTA et al.: TWO-LEVEL SOFTWARE ARCHITECTURE
en este trabajo fue diseñada con base en un patrón arquitectural
en capas y en tiers (nivel móvil y nivel servidor). Cada capa
proporciona ciertos servicios a las capas superiores, ocultando
a estas capas los detalles de cómo los servicios ofrecidos por las
capas inferiores son realizados. En nuestro caso, la arquitectura
desarrollada permite identificar, clasificar, agrupar y ordenar
los distintos servicios necesarios para llevar a cabo la
obtención, utilización y distribución de la información de
contexto en un SDM.
Con base en nuestra arquitectura, se implementó un sistema
de comunicación electrónica en grupo consciente de contexto
(SCEGCC) que muestra a los usuarios cuatro tipos de contexto:
actividad física, actividad lógica, ubicación y nivel de sonido.
En este sistema, la arquitectura desarrollada realiza las
siguientes funciones principales: obtención de información de
los sensores de un dispositivo móvil, tratamiento de dicha
información de contexto, distribución y almacenamiento en el
dispositivo móvil y en un servidor de contexto externo. Las
pruebas de funcionalidad realizadas al SCEGCC muestran que
la arquitectura desarrollada en este trabajo obtiene, gestiona y
distribuye de forma correcta la información de contexto a los
usuarios.
Como trabajo futuro se propone:
•
•
Desarrollar las capas de sensorización y plugins en el
nivel Servidor incorporando contexto proveniente de
fuentes lógicas que un dispositivo móvil no tiene tales
como los datos proporcionados del clima por una
estación meteorológica y
Generar una aplicación de aprendizaje electrónico, que
a partir de la Arquitectura CC, permita mostrar diversos
materiales de enseñanza de acuerdo al contexto en que
se encuentre un usuario.
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
J. Caudill, “The Growth of m-Learning and the Growth of Mobile
Computing: Parallel developments,” International Review of Research in
Open and Distance Learning, vol. 8, no. 2, pp.1-13, June 2007.
L. G. Montané Jiménez, “Modelo de actividad para sistemas móviles
colaborativos conscientes de contexto”, Tesis de maestría, Centro de
Enseñanza LANIA, Xalapa, Veracruz, México, 2011.
D. Sainz González, “Un análisis sobre aplicaciones distribuidas
dependientes del contexto”, Tesis doctoral, Universidad del país Vasco,
Leioa, Biscay, España, 2009.
T. Weerasinghe and I.Warren, “Odin: Context -Aware Middleware for
Mobile Services”, in 6th World Congress on Services, 2010, pp. 661-666.
J. Filbert, “Developing a Multi-Purpose Chat Application for Mobile
Distributed Systems on Android Platform”, Bachelor’s thesis, Helsinki
Metropolia University of Applied Sciences, Vanda, Finlandia, 2010.
A. K. Dey, D. Salber, M. Futakawa, G. Abowd, “An Architecture to
Support Context-Aware Applications”, Georgia Institute of Technology,
Atlanta, USA, Tech. Rep. GIT-GVU-99-23, 1999.
A. Ranganathan, R. H. Campbell, A. Ravi, and A. Mahajan, “ConChat: A
Context-Aware Chat Program”, IEEE Pervasive Computing, vol. 1, no. 3,
pp. 51-57, 2002.
M. Barranco, J. Noguera, J. Castro and L. Martínez, “A Context-Aware
Mobile Recommender System Based on Location and Trajectory”, in
Management Intelligent Systems, Vol. 171, Advances in Intelligent
Systems and Computing, J. Casillas, Ed. Springer Berlin Heidelberg,
2012, pp 153-162.
1209
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
X. Zhang, Z. Yu, J. Tian, Z. Wang and B. Guo, “Context-Aware Mobile
Web Browsing Based on HTML5”, in Ubiquitous Intelligence &
Computing and 9th International Conference on Autonomic & Trusted
Computing (UIC/ATC), 2012, pp. 945-950.
M. Kuna, H. Kolaric, I. Bojic, M. Kusek and G. Jezic, “Android/OSGibased
Machine-to-Machine
context-aware
system”,
in
Telecommunications (ConTEL), Proceedings of the 2011 11th
International Conference, 2011 pp. 95-102.
H. S. Pomares, J. Fanchon and K. Drira, “The Immediate Dependency
Relation: An Optimal Way to Ensure Causal Group Communication”, in
Annual Review of Scalable Computing, Editions World Scientific, Series
on Scalable Computing, 2004, pp. 61-79.
T. Hofer, W. Schwinger, M. Pichler, G. Leonhartsberger, J. Altmann, W.
Retschitzegger, “Context-Awareness on Mobile Devices - the Hydrogen
Approach”, in Proceedings of the 36th Annual Hawaii International
Conference on System Sciences (HICSS'03), 2003, pp. 6-9.
P. Coppola, V. Della Mea, L. Di Gaspero, S. Mizzaro and I. Scagnetton,
“MoBe: A Framework for Context -Aware Mobile Applications”, in
Proceedings of the Workshop on Context Awareness for Proactive
Systems (CAPS 2005) Conference, 2005, pp. 55-65.
W. Van Woensel, O. De Troyer and S. Casteleyn, “SCOUT: A
Framework for Personalized Context-Aware Mobile Applications”, in
Proceedings of the 9th International Conference on Web Engineering
(Doctoral Consortium), 2009.
B. Van Wissen, N. Palmer, R. Kemp, T. Kielmann and H Bal,
“ContextDroid: An Expression - Based Context Framework for Android”,
in Proceedings PhoneSense conference, 2010, pp. 1-5.
A. Inge, Q. Khan, “CAMF – Context-Aware Machine Learning
Framework for Android”, in International conferences on informatics,
2010, pp. 388-395.
L. de Oliveira and A. Loureiro, “CodeDroid: A Framework to Develop
Context-Aware Applications”, in The Fourth International Conferences
on Advances in Human-oriented and Porsonalized Mechanisms,
Technologies, and Services, 2011, ISBN: 978-1-61208-167-0.
Marco Antonio Acosta Medina has a Master degree in Applied
Computing from National Laboratory of Advanced Informatics
(LANIA), in Veracruz Mexico, in his thesis project proposes a
Layers Based Architecture for Context Aware Mobile Distributed
Systems and also developed a prototype on a group of mobile
devices that uses the Architecture proposed to get, manage and distribute
contextual information.
Eduardo Lopez Dominguez is a Researcher in the Department of
Computer Science at National Laboratory of Applied Informatics
(LANIA), in Veracruz, Mexico. He completed his PhD Degree at
the National Institute of Astrophysics, Optics and Electronics
(INAOE), Mexico in 2010. Since 2004, he has been researching in
the field of mobile distributed systems, partial order algorithms and multimedia
synchronization.
Germán Gómez Castro received the Engineering degree in
Computer engineering from Instituto Tecnológico Superior de
Cosamalopan, Veracruz, México, in 2012, and is a Master student
in applied computing from Laboratorio Nacional de Informática
Avanzada, Veracruz, México. His current research interest are
applications of context aware mobile systems in education.
Saul Eduardo Pomares Hernandez is a Researcher in the
Computer Science Department at the National Institute of
Astrophysics, Optics and Electronics (INAOE), in Puebla, Mexico.
He completed his PhD Degree at the Laboratory for Analysis and
Architecture of Systems of CNRS, France in 2002. Since 1998, he
has been researching in the field of distributed systems, partial order algorithms
and multimedia synchronization.
Maria Auxilio Medina Nieto is an associate professor of
computer science at Universidad Politécnica de Puebla
(UPPuebla). Currently, her research topics are knowledge
representation based on ontologies, semantic web, information and
communications technologies (TICs) and social network analysis.
She has the candidate status of the National Researchers System (SNI).