SciELO - Scientific Electronic Library Online

 
vol.24 issue2Stabilizing binary patterns in discrete maps author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Revista de la Facultad de Ingeniería Universidad Central de Venezuela

Print version ISSN 0798-4065

Rev. Fac. Ing. UCV vol.24 no.2 Caracas June 2009

 

Modelo conceptual para modelación de aplicaciones móviles sensibles al contexto

Rodolfo Canelón 1, Francisca Losavio 2, Alfredo Matteo 2, Ledis Chirinos 2

1 Universidad "Lisandro Alvarado", Decanato de Ciencias y Tecnología, Departamento de Sistemas, e-mail: rcanelon@ucla.edu.ve

2 Universidad Central de Venezuela, Centro ISYS, Laboratorio MoST (Modelos, Software &Tecnología) e-mail: flosav,almatteo,lchirinos@cantv.net  

RESUMEN

Las aplicaciones móviles sensibles al contexto presentan características propias que afectan el proceso de desarrollo del software. Éstas deben ejecutarse en diferentes plataformas de computación, ajustarse a las capacidades de diversos dispositivos de acceso y adaptarse a diferentes contextos de uso. El contexto de uso facilita la utilización del ambiente en una forma que garantice la calidad del servicio al usuario. Esto es un aspecto determinante en aplicaciones móviles, generalmente inalámbricas, cuyas propiedades imponen como determinante la gestión de la calidad de estos servicios. La meta de este trabajo es definir un modelo de calidad para el dominio de aplicaciones móviles sensibles al contexto. La importancia de este modelo es la especificación de los requisitos de calidad para el producto final del software y éste también puede ser usado para una evaluación cuantitativa de todos los productos de software durante el proceso de desarrollo. El nivel de servicio requerido se especifica de acuerdo a un modelo de calidad. Este modelo se define utilizando una taxonomía denominada RECLAMO (Requirements Classification Model) y el nuevo estándar ISO/IEC 25030 es usado para identificar los requerimientos de calidad y el ISO 25010 es usado para especificar un modelo de calidad.

Palabras clave: Aplicaciones sensibles al contexto, Modelo de calidad, RECLAMO, ISO/IEC 25010, ISO/IEC 25030.

Conceptual model for context-aware mobile applications

ABSTRACT

Context-aware mobile applications show special features that can affect the software development process. These systems must run on heterogeneous computing platforms, must adjust to the capacities of different access devices and adapt to different contexts of use. The quality of service to the user is guaranteed by the way the environment is responding, which is facilitated by the context of use. This aspect is crucial in mobile applications, often wireless, demanding the quality of these services. The required service level is specified by a quality model. The goal of this work is to define the quality model for the context-aware mobile applications domain. The importance of this model is the specification of the quality requirements for the final software product and it can be used for a quantitative evaluation of all the software products obtained during the development process. A taxonomy called RECLAMO (Requirements Classification Model) and the new standard ISO/IEC 25030 is used to identify the quality requirements and the ISO 25010 is used to specify quality model.

Keywords: Context-aware applications, Quality model, RECLAMO, ISO/IEC 25010, ISO/IEC 25030.

Recibido: octubre de 2007    Recibido en forma final revisado: marzo de 2009

INTRODUCCIÓN

Las aplicaciones móviles difieren de las aplicaciones de desktop estándar, en el sentido de que éstas imponen varios desafíos para el desarrollo de software y deben ser ejecutadas en dispositivos móviles heterogéneos, con recursos limitados y conexiones transitorias. Los dispositivos móviles, son usados en escenarios complejos como: exploración visual, monitoreo ambiental, manejo de trafico en vías libres, operaciones militares estratégicas, situaciones de daños y desastres naturales. El nuevo conjunto de desafíos, el cual se denomina en inglés Prism hace referencia al desarrollo de software basado en pequeños componentes, distribuidos sobre muchos dispositivos, en un contexto dinámico, móvil, generalmente inalámbrico y con procesamientos heterogéneos, sobre un gran número de plataformas restringidas por recursos escasos (Medvidovic et al. 2003). Las aplicaciones móviles sensibles al contexto deben adaptarse tanto a las capacidades de acceso en diversos dispositivos y a diferentes contextos, conservando consistencia y utilidad. Se define al contexto a cualquier información que puede ser usada para caracterizar la situación de entidades (usuario, lugar u objeto), que son consideradas relevantes en la interacción entre un usuario y una aplicación, incluyendo al usuario y a la aplicación (Dey et al. 2001). La información está clasificada en tres ambientes: computacional (procesadores, dispositivos de entrada y salida, capacidad de red, recursos de interacción, conectividad), del usuario (localización, preferencias/perfil del usuario, situación social) y físico (iluminación, nivel de ruido). Por lo tanto una aplicación adaptable o adaptativa se reconfigura por sí misma dinámicamente de acuerdo a su contexto de uso. Éste a su vez facilita la utilización del ambiente en una forma que garantice la calidad del servicio (desarrollado por QoS) al usuario. La QoS es un término general para abstraer aspectos del comportamiento con respecto a la comunicación de un sistema (por ejemplo; time delay, throughput, etc. (ISO/IEC 13236, 1998)).

En este sentido, la calidad en general está asociada a los requisitos del software. Para los requisitos funcionales se establecen requisitos de calidad; como por ejemplo, la facilidad de compartir datos en un ambiente colaborativo, implica la disponibilidad de dichos datos en un ambiente con conexiones no siempre disponibles, ni seguras; por lo tanto para garantizar la disponibilidad de los datos y de las conexiones implica considerar la disponibilidad como propiedad de calidad asociada al requisito funcional. Un requisito no funcional es por ejemplo, la minimización del recurso respecto al consumo de la batería, el cual es imperativo en el dominio de las aplicaciones móviles sensibles al contexto, en particular la propiedad de calidad eficiencia está asociada a este requisito. La calidad es una noción compleja que es definida desde múltiples vistas o perspectivas. Para establecer claramente estas nociones, se han definido modelos de calidad, tales como ISO/IEC 9126-1 (2001), el cual puede ser utilizado para especificar los requisitos de calidad y proporcionar bases para cuantificarlos en términos de medidas específicas. Los modelos de calidad, en general, son estructuras jerárquicas, donde las características de calidad de alto nivel son refinadas en subcaracterísticas, hasta identificar propiedades o atributos medibles (Boehm, 1978; ISO/IEC 9126-1, 2001).

La utilidad de las aplicaciones móviles se mide en función de la calidad de los servicios ofrecidos. El nivel de servicio requerido puede ser especificado de acuerdo a un modelo de calidad (ISO/IEC 9126-1, 2001). Por eso, la meta principal de este trabajo es definir un modelo de calidad para el dominio de las aplicaciones móviles sensibles al contexto que justifique sus soluciones arquitecturales. Los requisitos de estas aplicaciones se caracterizan utilizando una taxonomía de requisitos denominada RECLAMO (Chirinos et al. 2004) y el nuevo ISO/IEC 25010 (2007). Las propiedades de calidad inherentes son identificadas y categorizadas utilizando el modelo de calidad ISO/IEC 9126-1 (2001).

Se considera en general que los requisitos no funcionales, expresados en términos de requisitos de calidad, son cruciales para el diseño arquitectural, específicamente cuando las aplicaciones deben responder a situaciones críticas y a cambios en el ambiente, como son las aplicaciones móviles sensibles al contexto. Sousa & Garlan (2002), indican que un enfoque útil en el desarrollo de aplicaciones móviles es aplicar los principios de diseño de arquitecturas de software en el desarrollo de sistemas, ya que la arquitectura es en gran parte la responsable de la calidad del sistema. Sin embargo, aún no se dispone de técnicas y formalismos para garantizar que los objetivos de calidad fijados para cada requisito se cumplan en su totalidad para la arquitectura seleccionada. Por lo tanto, es difícil con las prácticas actuales, garantizar la calidad global de una aplicación.

La estructura de este artículo, aparte de la introducción y las conclusiones, es la siguiente: la sección 2 presenta la taxonomía de requisitos RECLAMO, la cual se utiliza en la sección 3 para caracterizar el dominio de aplicaciones móviles sensibles al contexto; además, se define el modelo de calidad para el dominio de estas aplicaciones. La sección 4 presenta el dominio de las aplicaciones M-learning, como caso de estudio.

MODELO DE CLASIFICACIÓN DE REQUISITOS

El modelo RECLAMO (Chirinos et al. 2004), proporciona una taxonomía de requisitos que facilita la identificación de las diferentes clases de requisitos de un sistema de software, en particular los requisitos no funcionales son relacionados con los requisitos de calidad (figura 1). Los requisitos del software, se suponen ya elicitados como requisitos del sistema del cual el software es parte, a través del proceso de definición de requisitos. RECLAMO puede ser utilizado para ayudar a estructurar el documento SRS (Especificación de Requerimientos de Software). En la actualidad está en estudio un estándar para identificación de requisitos, el ISO/IEC 25030, similar a RECLAMO. Sin embargo, hemos decidido utilizar aquí nuestra taxonomía porque incluye las reglas del negocio. Tanto los requisitos de los usuarios, como los de operación y ambiente, y los de datos, son parte de los requisitos del sistema, a partir de los cuales se pueden identificar los requisitos del software. Por otra parte, el dominio asociado a la aplicación posee reglas del negocio, de las cuales se pueden derivar otros requisitos del software. Las reglas del negocio se clasifican en políticas (estrategias), reglas de procesamiento o restricciones tecnológicas relacionadas (Chirinos et al. 2004). La organización también tiene reglas del negocio que pueden impactar los requisitos del sistema (figura 1).

Figura 1. Modelo RECLAMO.

Los requisitos de usuarios son expresados como requisitos funcionales. Estos son medidos por propiedades que pertenecen a la vista de calidad en uso. Es decir, que el sistema se ejecuta en el ambiente operacional de sus usuarios finales. Los requisitos no funcionales pueden derivarse del dominio del problema, del ambiente de ejecución del sistema, de los requisitos de datos y de las reglas del negocio. Estos afectan la implementación de los requisitos funcionales y pueden originar funcionalidades implícitas que deben ser agregadas como funcionalidades adicionales para garantizar el cumplimiento de los requisitos de calidad y garantizar de esta manera la funcionalidad del sistema completo; por ejemplo, un componente de seguridad puede ser implementado para satisfacer alguna restricción de política de la organización en la cual va a trabajar el software. Los requisitos no funcionales son medidos por propiedades relacionadas con las vistas externa e interna. Esto es, en la ejecución del software en su ambiente de prueba y en los productos intermedios del proceso de desarrollo, respectivamente, tal como la arquitectura del software. El modelo de calidad es utilizado para especificar las propiedades de calidad de las diferentes vistas de calidad que tienen asociadas. Estas propiedades se expresan a través de medidas usando un modelo de medición. Así mismo el modelo de calidad, ayuda a caracterizar el dominio de una aplicación.

El modelo RECLAMO presentado en la figura 1 se ajusta a los requisitos y recomendaciones expresados en el estándar ISO/IEC 9126-1 (2001), para enriquecer la especificación de los requisitos de calidad de un sistema de software. Se toma el punto de vista del sistema, es decir, que el software es considerado como un elemento de un sistema más amplio que incluye a la organización.

CARACTERIZACIÓN DEL DOMINIO DE LAS APLICACIONES MÓVILES SENSIBLES AL CONTEXTO

Modelo Conceptual del dominio

En el ambiente de computación móvil, la movilidad está relacionada con las personas que usan dispositivos móviles (Burmakin & Thominen, 2004), los cuales son agrupados en familias (Pad´s, teléfonos inteligentes, etc.) y deben tener la habilidad de ejecutar un conjunto de aplicaciones, para obtener y proveer datos de forma segura a usuarios, aplicaciones y sistemas. El usuario interactúa con el dispositivo móvil a través de la interfaz incorporada en el conjunto de aplicaciones instaladas en el mismo o utilizando un navegador. Los dispositivos móviles soportan diferentes configuraciones y funcionalidades (funciones del dispositivo y servicios) (figura 2), agrupadas como funciones del usuario. Esta característica permite al usuario usar las aplicaciones de manera personalizada, independientemente de su localización física y del dispositivo físico; en este sentido, los dispositivos móviles deben soportar algunas características básicas, como son: ser portables con relativa facilidad, ser fáciles de usar, permitir fácil conectividad y comunicación con otros dispositivos en el momento que se desea.

Figura 2. Modelo conceptual de las aplicaciones móviles sensibles al contexto.

Las funciones básicas del dispositivo son inherentes al dispositivo, tales como: calendarios, directorios, herramientas (calculadoras, agenda, etc.), multimedia, sensores de localización, sensores de posicionamiento, etc. Mientras que los servicios son funcionalidades sensibles al contexto (figura 2), es decir, se adaptan a si mismos a un cambio de contexto (Hakkila & Mantyjarvi, 2005), por lo tanto, el acceso a la aplicación y su uso está asociado al contexto y a las preferencias de los usuarios. Los servicios están clasificados en: información, relacionados con el manejo de recursos de información; comunicación, el cual hace énfasis en la comunicación entre usuarios, transporte de información y establecimiento de conexiones; lo que implica manejo de la red para: el establecimiento de conexiones locales, ad-hoc en dispositivos, usuarios y servicios locales, así como también conexiones a la infraestructura para el soporte de servicios GSM, GPRS y bases de datos. Por último están los servicios de administración (defecto, Bitácora, ejecución, seguridad y configuración).

El contexto se define como cualquier información que puede ser usada para caracterizar la situación de entidades (usuario, lugar u objeto) que son consideradas relevantes en la interacción entre un usuario y una aplicación, incluyendo al usuario y a la aplicación (Dey et al. 2001). La información del contexto cambia dinámicamente durante la ejecución de las aplicaciones en el dispositivo y está clasificada en tres ambientes (figura 2): i) computacional (procesadores, dispositivos de entrada y salida, capacidad de red, recursos de interacción, conectividad), ii) del usuario (localización, preferencias/perfil del usuario, situación social) y iii) físico (iluminación, nivel de ruido). De esta manera, los cambios en el contexto pueden ocurrir en: a) la localización absoluta y relativa, b) en anchos de banda, c) cambios en las características del display, d) cambios en el paradigma de uso, que permiten cambiar desde diversas perspectivas del usuario, y e) plataformas desconocidas. En particular, para capturar la información de contextos es necesario un software (drivers) que controle los dispositivos físicos (sensores). La información manejada debe estar bajo un formato común y la misma debe ser transmitida bajo protocolos de comunicación y transmisión establecidos. Las aplicaciones móviles sensibles al contexto según Eisenstein et al. (2000), son aquellas que pueden extraer, interpretar y usar información del contexto en uso para adaptar sus funcionalidades. El contexto de uso es una instancia del contexto. Las características más resaltantes presentes en dichas aplicaciones son (Hakkila & Mantyjarvi, 2005):

• La información y los servicios deben ser presentados al usuario de acuerdo a su contexto actual.

• La ejecución automática de servicios en determinados contextos (incluyen acciones en context-triggered y adaptaciones contextuales).

• La acumulación de información en contextos para su posterior recuperación y uso.

Las aplicaciones móviles sensibles al contexto operan en ambientes que cambian, específicamente la disponibilidad de recursos (conexión local y ad-hoc; conexión a la infraestructura, plataforma computacional, ambiente físico, localización, entre otros); y los servicios pueden cambiar frecuentemente de manera significativa durante la ejecución de las mismas (Efstratiou et al. 2003), por ejemplo, cuando un servicio está ejecutándose, su interfaz de usuario es reconfigurada dinámicamente al contexto de uso. Es por ello que dichas aplicaciones necesitan ser capaces de adaptarse a estos cambios. Esta característica de las aplicaciones móviles sensibles al contexto, es lo que permite definirlas como adaptativas (Vanderdonckt et al. 2001), es decir, aplicaciones que se reconfiguran así mismas dinámicamente, dependiendo del contexto de uso, con el propósito de poder asegurar el mejor nivel de servicio al usuario (Shang–Wen et al. 2003).

Por otra parte, los servicios deben ejecutarse dentro de ciertas metas y restricciones de calidad (QoS) (figura 2), en este sentido, las aplicaciones móviles necesitan asegurar la calidad del servicio al usuario. La calidad de servicio (QoS) es un término general para abstraer aspectos del comportamiento relacionados con la comunicación de un sistema (delay, response time, throughput, etc).

En consecuencia se presenta a continuación la caracterización del dominio de las aplicaciones móviles de acuerdo a RECLAMO, con el fin de identificar las propiedades de calidad que deben ser garantizadas en este dominio y de ahí definir el modelo de calidad asociado. RECLAMO facilita la identificación de los diferentes requisitos asignados a un sistema de software, viendo el software como elemento de un sistema más amplio.

Identificación de requisitos

Las propiedades de calidad se asocian a los requisitos no funcionales. La tabla 1, muestra los requisitos funcionales de las aplicaciones móviles sensibles al contexto y sus propiedades de calidad asociadas. Es de hacer notar que se mantiene la terminología estándar establecida en ISO/IEC 9126-1 (2001), para efectos de legibilidad en el texto.

Tabla 1. Propiedades de calidad asociada a los requisitos funcionales.

REQUISITOS FUNCIONALES

CARACTERÍSTICAS DE CALIDAD ISO/IEC 9126-1 (ISO/IEC 9126-1, 2001)

Servicios de datos (Transacción): los datos deben ser transmitidos completa y correctamente.

Confiabilidad (confiability):

Disponibilidad (availability)

con respecto a la comunicación transitoria.

Eficiencia (Efficiency):

Comportamiento en tiempo (Behaviour time) (con respecto a la limitación del recurso(bateria).

Funcionalidad (Functionality)

Precisión (accurancy). En el estándar QoS, la integridad está relacionada con acurracy.

Servicios de información: gestiona información al usuario.

Usabilidad (Usability):

Atractivo (atractiveness)

Operabilidad (Operability)

Portabilidad (Portability):

Adaptabilidad (adaptability)

Escalabilidad (Scalability)

Servicios de comunicación: comunicación entre usuarios, transporte de información y establecimiento de conexiones.

Portabilidad (Portability):

Conformidad (compliance)

Escalabilidad (Scalability)

Funcionalidad (Functionability):

Seguridad (Security)

Servicios de administración: defecto, configuración, Bitácora, ejecución y seguridad

Usabilidad (Usability):

Atractivo (Atractiveness)

Operabilidad (Operability)

Servicio de compartir datos: los dispositivos móviles formarán una red ad-hoc que se conecta entre ellos para intercambiar la información y para proporcionar los servicios a los usuarios.

Confiabilidad (Confiability):

Disponibilidad (Availability) de la conexión

Funcionalidad (Functionality):

Interoperabilidad (Interoperability)

En la próxima sección se utiliza la información presentada en las tablas 1 y 2 para definir el modelo de calidad asociado al dominio de las aplicaciones sensibles al contexto, categorizando las propiedades de calidad según ISO/IEC 9126-1 (2001).

Tabla 2. Requisitos no funcionales asociados al dominio de las aplicaciones móviles sensibles al contexto y sus propiedades de calidad.

REGLAS DEL NEGOCIO

ASOCIADAS AL DOMINIO

REQUISITOS NO FUNCIONALES DERIVADOS DE LAS REGLAS DEL NEGOCIO

PROPIEDADES DE CALIDAD ASOCIADAS A LOS REQUISITOS NO FUNCIONALES

(CARACTERÍSTICAS DE CALIDAD)

ISO/IEC 9126-1 (ISO/IEC 9126-1, 2001)

Políticas

Uso de protocolos de comunicación de redes, ancho de banda.

Cumplir con estándares y normativas con el fin de garantizar el servicio requerido.

Funcionalidad (Functionality):

Conformidad (Compliance)

Procesamiento

Los servicios se ejecutan en una diversidad de dispositivos, cada uno con configuraciones y funcionalidades diferentes.

Las funcionalidades deben adaptarse a las características de los Dispositivos.

Portabilidad (Portability):

Adaptabilidad (adaptability)

Los servicios deben ser garantizados dentro del área de cobertura.

Hacer posible el acceso a los servicios, lo cual implica, ancho de banda apropiado y garantizar las conexiones móviles, teniéndose que solventar problemas de redes.

Tiempo de transmisión apropiado. Tiempos de respuesta adecuados dentro de un rango establecido.

Confiabilidad (confiability):

Disponibilidad (Availability).

Eficiencia (eficiency):

Comportamiento del tiempo (Time Behaviour) con respecto al tiempo de respuesta y a las conexiones.

El usuario selecciona los servicios disponibles en el área de cobertura.

Ofrecer funcionalidades que respondan a las necesidades de los usuarios.

Facilidad en la selección de los servicios ofrecidos.

Funcionalidad(Functionality):

Adecuada(Suitability).

Usabilidad (usability):

Operabilidad (operability)

Los dispositivos se conecten y desconectan dinámicamente a la red.

Garantizar la disponibilidad del servicio al conectarse.

Confiabilidad (confiability):

Disponibilidad (availability).

Implementación

Personalización e instalación de los servicios en el dispositivo del usuario.

Los servicios deben adaptarse al usuario.

Instalación transparentemente de los servicios al usuario.

Los servicios deben adaptarse a las capacidades del dispositivo.

Funcionalidad(Functionality):

Adecuada(Suitability)

Precisión(Accuracy).

Portabilidad (Portability):

Adaptabilidad (Adaptability).

Portabilidad (Portability):

Fácil de instalar (Installability).

Portabilidad (portability):

Escalabilidad (scalability).

Los usuarios deben acceder los servicios independientemente del procesador del dispositivo, por ejemplo un navegador.

La interacción entre el usuario y el dispositivo debe ser sencilla y fácil de usar.

Usabilidad (usability):

Operabilidad (operability).

La interfaz de usuario se debe adaptar al dispositivo en uso.

Reconfiguración dinámica de Interfaces, se deben considerar requerimientos especiales de usuarios y las capacidades de los dispositivos involucrados.

Portabilidad (portability):

Adaptabilidad (adaptability).

Modelo de Calidad para aplicaciones móviles sensibles al contexto

La calidad de un producto de software es una expresión a cerca de la capacidad del software de ejecutar y mantener un nivel de servicio desarrollado Las propiedades de calidad muestran el grado con el cual el software es capaz de proporcionar y mantener dichos servicios. Por esto, de acuerdo a la caracterización del dominio de aplicaciones móviles sensibles al contexto, usando la taxonomía de RECLAMO, descrito en la sección anterior, se tiene que las propiedades de calidad interna y externa que conforman el modelo de calidad asociado a este dominio son:

- Funcionalidad: conformidad, adecuado, precisión, interoperabilidad, seguridad.

- Portabilidad: adaptabilidad, escalabilidad, fácil de instalar, conformidad.

- Confiabilidad: disponibilidad.

- Eficiencia: comportamiento del tiempo.

- Usabilidad: operabilidad, atractivo. En conclusión el modelo de calidad para el dominio de las aplicaciones móviles sensibles al contexto viene dado por la figura 3.

Figura 3. Modelo de calidad en aplicaciones móviles sensibles al contexto.

CASO DE ESTUDIO: APLICACIONES M-LEARNING

El aprendizaje móvil (M-learning) es la intersección entre la computación móvil (dispositivos) y el aprendizaje electrónico (contenido). Es un aprendizaje electrónico independiente del lugar, tiempo y espacio. El aprendizaje electrónico incorpora en su infraestructura un sistema administrador de aprendizaje (SAA), cuyas funcionalidades principales son: registro de participantes, manejo de contenidos de los cursos, manejo de datos de los que aprenden (Kaplan, 2005). Así mismo, presenta en su estructura componentes (Brockbank, 2003), como son: contenido, colaboración, pruebas y asignaciones; niveles y competencias; comercio electrónico, Internet basado en aprendizaje; todos estos en un marco estructural que rastrea, soporta, maneja y mide actividades de aprendizaje electrónico.

El aprendizaje móvil permite que los aprendices simulen sus experiencias de aprendizaje en ambientes de aulas de clase, proporcionando la continuidad y adaptabilidad entre contextos de aprendizajes, con el soporte de dispositivos móviles y herramientas de visualización. El contexto de aprendizaje móvil es definido en Wang (2004), como cualquier información que puede ser usada para caracterizar la situación de entidades de aprendizaje (aplicación, el que aprende, lugar, entre otros), que son consideradas relevantes para la interacción entre el que aprende y una aplicación. El desafío es crear aplicaciones que se adapten al conjunto de restricciones presentes en el contexto de uso correspondiente. En el aprendizaje móvil, la información de los componentes que conforman al sistema administrador de aprendizaje puede ser requerida u obtenida cuando un aprendiz móvil es detectado en un contexto particular y mostrada en los dispositivos de los participantes en diversos tipos de medios y formatos. Se identifican servicios de comunicación al establecer las conexiones necesarias para el intercambio de información entre estudiantes en función de su rol en las actividades de grupo; así como para colaborar en la solución de problemas en tiempo real. De esta manera, los servicios de comunicación presentes en el aprendizaje móvil son:

• Interacción sincronizada entre los que aprenden, enseñan y en las reuniones de equipos (para actividades de grupo) en un tiempo establecido. Por lo cual es importante garantizar la disponibilidad del servicio. Por ejemplo; sesiones de lectura en un grupo de lectura.

• Manejo de miembros de grupo.

• Intercambio de mensajes entre miembros de grupo.

• Manejo de reuniones de grupo: con la información del contexto del aprendizaje se reconocen reuniones de equipos, lo que lleva a incorporar servicios que permitan registrar y liberar miembros en la reunión, notificar ausencia y soportar protocolos de almacenamiento y distribución entre los miembros de equipos. Así como, la localización actual de todos los miembros del equipo en la lista de contacto.

Por otra parte, cabe señalar que en el escenario del aprendizaje móvil es imperativo el compartimiento de datos; para los cuales se tiene los servicios de:

• Compartimiento de datos entre miembros de grupos.

• Compartimiento de datos entre miembros de reuniones.

El e-learning incorpora dentro de los servicios de administración el monitoreo del tiempo y del aprendizaje. Soporte que permite al que aprende monitorearse a si mismo y regular el proceso de aprendizaje. Por lo tanto en el aprendizaje móvil, además de los servicios propios de aplicaciones sensibles al contexto, se debe garantizar estos servicios; por lo que requiere una alta disponibilidad del servicio. Basado en esta caracterización se puede decir que en el aprendizaje móvil se debe garantizar la adaptación de los servicios y contenidos existentes.

Instanciación del modelo de calidad definido en las aplicaciones M-learning

En esta sección se hace una instanciación del modelo de calidad definido en las secciones anteriores para los requerimientos funcionales de las aplicaciones de aprendizaje móviles; considerando sus particularidades. Además se hace un refinamiento del mismo, el cual consiste en identificar atributos o elementos medibles y sus métricas para cada propiedad de calidad. Estos atributos y métricas corresponden a las características de QoS consideradas en el estándar ISO/IEC 13236 (1998). El objetivo de este estándar es asistir en la especificación y diseño de sistemas de software en tecnologías de información. Éste describe como caracterizar, especificar y gestionar requerimientos relacionados con la calidad de servicios (QoS). Proporciona un lenguaje común tanto para proveedores de servicios como a clientes o usuarios del servicio. QoS (ISO/IEC 13236, 1998) es definido como un conjunto de cualidades presentes en el comportamiento colectivo de uno o más objetos. Los QoS expresan requerimientos que se originan de una entidad cliente que usa un servicio; por ejemplo, comunicación y éste es traducido a diferentes requerimientos de QoS, expresados como parámetros. Un mecanismo es ejecutado por la entidad correspondiente para satisfacer uno o más parámetros de QoS. Los mecanismos son parte de la función de gestión y los parámetros son parte del contexto de un QoS. En la tabla 3, se especifica para los servicios de comunicación de aplicaciones de aprendizaje móvil el conjunto de características de calidad a ser garantizadas, para cumplir la calidad del servicio ofrecido; así como sus atributos y métricas de acuerdo al estándar ISO/IEC 13236 (1998). Los QoS, que son aspectos cuantificables, se consideran atributos de las subcaracterísticas del modelo de calidad a ser instanciado en esta sección.

Tabla 3. Requisitos funcionales y propiedades de calidad para aplicaciones M-learning.

REQUISITOS FUNCIONALES

PROPIEDADES DE CALIDAD ASOCIADAS (CARACTERÍSTICAS DE CALIDAD DE ACUERDO

A

ISO/IEC 9126-1)

SUB-CARACTERÍSTICAS DE CALIDAD DE

ACUERDO A ISO/IEC 9126-1

ATRIBUTOS

(CARACTERÍSTICAS

DE QOS

ISO/IEC 13236

DEFINICIÓN DE ACUERDO A

ISO/IEC 13236

MÉTRICAS

DE ACUERDO A

ISO/IEC 13236

Servicios de

Comunicación

Eficiencia

Comportamiento en la utilización de recursos (batería, memoria, ancho de banda, etc)

Throughput

(capacidad de comunicación)

Promedio de

salida de datos del usuario desde un canal.

Promedio en un intervalo de tiempo.

Unidades

dependen

del tipo

de recurso.

Capacidad de procesamiento

La cantidad de procesamiento disponible para ser ejecutado en un periodo de tiempo.

Instrucciones/segundos.

Operación de carga

Proporción de la capacidad inicial en uso en un tiempo particular

Capacidad usada de la capacidad disponible.

Confiabilidad

Disponibilidad

Disponibilidad de conexión.

La proporción de tiempo del

servicio agregado que una conexión está disponible.

Un número en un rango (0-1).

Funcionalidad

Seguridad

Autenticidad

Protección para autenticidad y origen de datos.

Un número en un rango (0-1).

Modelo de calidad para aplicaciones M-learning

Utilizando la información presentada en las tablas 3 y 4 se define el modelo de calidad asociado a las aplicaciones M-learning, cuyas propiedades de calidad interna y externa que conforman el modelo de calidad asociado a este dominio son:

- Funcionalidad: conformidad, adecuado, precisión, interoperabilidad, seguridad.

- Confiabilidad: disponibilidad.

- Eficiencia: comportamiento del tiempo, utilización de recursos.

- Usabilidad: operabilidad, atractivo.

- Portabilidad: adaptabilidad, escalabilidad, fácil de instalar, conformidad.

- Mantenibilidad: cambiabilidad.

Tabla 4. Requisitos no funcionales y propiedades de calidad para aplicaciones M-learning.

REQUISITOS NO FUNCIONALES DERIVADOS DE LAS REGLAS DEL NEGOCIO

PROPIEDADES DE CALIDAD ASOCIADAS A LOS REQUISITOS NO FUNCIONALES

(CARACTERÍSTICAS DE CALIDAD)

ISO/IEC 9126-1 (ISO/IEC 9126-1, 2001)

ATRIBUTOS

Minimización en el consumo de recursos del dispositivo (batería, capacidad de almacenamiento, tamaño del display, etc.).

Eficiencia (Efficiency):

Performance con respecto a la utilización de recursos.

- Ejecución con respecto a la utilización de recursos: batería, memoria, carga de CPU, ancho de banda, etc.

Atributo: consumo de recurso para cada dispositivo.

- Métrica: porcentaje [0..1].

Los servicios deben adaptarse a las características de los dispositivos y al perfil del participante.

Portabilidad (Portability):

Adaptabilidad (adaptability)

- Atributo: presencia de mecanismo.

- Métrica: Boolean.

Hacer posible los servicios, lo cual implica, ancho de banda apropiado y garantizar las conexiones móviles, teniéndose que solventar problemas de redes.

Confiabilidad (confiability)

Disponibilidad (Availability).

- Atributo: tiempo agregado del servicio. (La proporción de tiempo del servicio agregado que satisface el servicio disponible).

- Métrica: un numero [0..1].

Tiempo de transmisión apropiado. Tiempos de respuesta adecuados dentro de un rango establecido.

Eficiencia (eficiency):

Comportamiento del tiempo (Time Behaviour) con respecto al tiempo de respuesta y a las conexiones.

- Atributo: tiempo en espera.

(Segundos de espera)

- Métrica: rango[1..5].

Ofrecer funcionalidades que respondan a las necesidades de los participantes en el contexto adecuado.

Funcionalidad(Functionality):

Adecuada(Suitability).

- Atributo: presencia de mecanismo.

(Debe proveerse un mecanismo, por ejemplo, herramientas de encriptamiento para chequear los miembros de un grupo).

- Métrica: Boolean.

Facilidad en la selección de los servicios ofrecidos.

Usabilidad (usability):

Operabilidad (operability).

- Atributo: tiempo de completitud de tarea.

- Métrica: rango [1..10]

Instalación transparentemente de los servicios al participante.

Portabilidad (Portability):

Fácil de instalar (Installability).

- Propiedad de calidad.

- Atributo: presencia de mecanismo.

- Métrica: Boolean.

La interacción entre el usuario y el dispositivo debe ser sencilla y fácil de usar.

Usabilidad (usability):

Operabilidad (operability).

- Atributo: tiempo de completitud de tarea.

- Métrica: Rango [1..10]

Solución centralizada con respecto a los datos. Presencia de middleware.

Confiabilidad (Confiability):

Disponibilidad (Availability).

- Propiedad de calidad.

- Atributo: Presencia de mecanismo.

- Métrica: Boolean.

Re-configuración dinámica de Interfaces, se deben considerar requerimientos especiales de usuarios y las capacidades de los dispositivos involucrados.

Portabilidad (portability):

Adaptabilidad (adaptability).

- Propiedad de calidad.

- Atributo: Presencia de mecanismo.

- Métrica: Boolean.

Restricción entre miembros de equipos.

Funcionalidad (Functionability):

Seguridad (Security).

Eficiencia (Efficiency):

Performance con respecto a la utilización de recursos.

Portabilidad (Portability):

Adaptabilidad (adaptability).

- Atributo: Presencia de mecanismo.

(Debe proveerse un mecanismo, por ejemplo, herramientas de encriptamiento para chequear los miembros de un grupo).

- Atributo: Consumo de recurso para cada dispositivo.

- Métrica: Porcentaje [0..1].

- Propiedad de calidad.

- Atributo: Presencia de mecanismo.

- Métrica: Boolean.

CONCLUSIONES

Se ha definido un modelo de calidad estándar para el dominio de las aplicaciones móviles sensibles al contexto, mediante el cual, se formaliza la especificación de los requisitos de calidad. Este modelo será utilizado en la evaluación cuantitativa de una aplicación móvil sensible al contexto. En este sentido, el modelo puede ser refinado hasta obtener los atributos que corresponden a las QoS y sus métricas. Las propiedades de calidad fueron identificadas a través de la taxonomia de requisitos RECLAMO y clasificadas de acuerdo al modelo de calidad estándar ISO/IEC 9126-1. El modelo de calidad obtenido será utilizado en trabajos futuros para el diseño arquitectónico, dentro del marco estructural para el desarrollo de aplicaciones móviles sensibles al contexto, desde una perspectiva de líneas de producto del software.

REFERENCIAS

1. Boehm, B. (2004). Characteristic of software quality. TRW inc, 1978.        [ Links ]

2. Brockbank, B. (2003). Learning Management System for e-learning, in The AMA handbook of e-learning: Effective design, implementation, and technology solutions. Piskurich, G.(Editor). AMACON, New York. USA.        [ Links ]

3. Hominen, J. (2004). Development of mobile Distributed applications, Espoo, Finland. Helsinki University of technology.        [ Links ]

4. Chirinos, L., Losavio, F., Matteo, A. (2004). Identifying Quality-Based Requirements. Information Systems Management. Editorial: Auerbach Publications, January.        [ Links ]

5. Clements, P., Kazman, R., Klein, M. (2002). Evaluating Software Architecture Methods and Case Studies. SEI Series in Software Engineering. Addison-Wesley.        [ Links ]

6. Dey, A., Abowd, K., Salber, D. (2001). A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Human-Computer Interaction, pp. 16, 97-166.        [ Links ]

7. Efstratiou, C., Cheverst, K., Davis, N., Friday, A. (2003). Arquitectural requirements for the efective support of adaptive mobile application.        [ Links ]

8. Eisenstein, J., Vanderdonckt, J., Puerta, A. (2000). Adapting to Mobile Contexts with User-Interface Modeling. Proceedings of the Third IEEE Workshop on Mobile Computing Systems and Applications (WMCSA’00).        [ Links ]

9. Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design patterns Elements of Reusable Object Oriented Software. Addison Wesley, New York.        [ Links ]

10. Hakkila, J. & Mantyjarvi, J. (2005). Collaboration in Context-Aware mobile Phone Applications, Proceeding of the 38th Hawaii International Conference on System Sciencies.        [ Links ]

11. ISO/IEC 13236 (1998). Information Technology – Quality of Service: Framework.        [ Links ]

12. ISO/IEC 25010 (2007). Software Engineering–Software Product Quality Requirements and Evaluation (SQuaRE) – Quality model and guide.        [ Links ]

13. ISO/IEC 9126-1 (2001). Software Engineering – product quality part 1.Quality model.        [ Links ]

14. Kaplan, E. (2005). E-learning Glossary.        [ Links ]

15. Medvidovic, N., Mikic-Rakic, M., Mehta, N., Malek, R. (2003). Software Architectural support for handheld computing, Computer, pp. 66-73.        [ Links ]

16. Shang–Wen, Y. & Defago, X. (2003). Architecture for persasive Systems. JAIST.        [ Links ]

17. Sousa, J. & Garlan, A. (2002). An architectural framework for user mobility in Ubiquitous computing Environments, Proc. 3rd. Working IEEE/IFIP Conf. Software Architecture, Kluwer Academic, pp.29-43.        [ Links ]

18. Vanderdonckt, J., Florins, M., Oger, F. (2001). Model-Based Design of Mobile User Interfaces.        [ Links ]

19. Wang, Y. (2004). Context Awareness and Adaption in Mobile Learning. In Proceedings of the 2nd IEEE International Workshop on Wireless and Mobile Technologies in Education (WMTE’04).        [ Links ]