MARIA (Model-based lAnguage foR Interactive Applications) [ 1 ] es un lenguaje de marcado de interfaz de usuario universal, declarativo , de múltiples niveles de abstracción y basado en XML para modelar aplicaciones interactivas en entornos ubicuos .
MARIA es uno de los lenguajes que se ha presentado para su estandarización en el W3C . [ 2 ]
Interfaz de usuario abstracta
El nivel de Interfaz de Usuario Abstracta (AUI) de MARIA describe una interfaz de usuario únicamente a través de la semántica de la interacción, sin hacer referencia a una capacidad específica del dispositivo, modalidad de interacción o tecnología de implementación. Una AUI se compone de varias Presentaciones que agrupan elementos del modelo presentados al usuario simultáneamente. Los elementos del modelo son de dos tipos: Interactor o InteractorComposition . El primero representa cada tipo de objeto de interacción del usuario, mientras que el segundo agrupa elementos que tienen una relación lógica.
Según su semántica, un interactor pertenece a uno de los siguientes subtipos:
- Selección . Permite al usuario seleccionar uno o más valores entre los elementos de una lista predefinida. Según la cantidad de valores que se pueden seleccionar, el interactor puede ser de selección única o de selección múltiple.
- Editar . Permite al usuario editar manualmente el objeto representado por el interactor, que puede ser texto ( TextEdit ), un número ( NumericalEdit ), una posición ( PositionEdit ) o un objeto genérico ( ObjectEdit ).
- Control . Permite al usuario cambiar entre presentaciones ( Navegador ) o activar funcionalidades de la interfaz de usuario ( Activador ).
- OnlyOutput . Representa información que se envía al usuario, no afectada por las acciones del usuario. Puede ser un texto, una descripción que representa diferentes tipos de medios, una alarma , una retroalimentación o un objeto genérico .
Los diferentes tipos de composiciones de interacción son:
- Agrupación : un grupo genérico de elementos interactuantes.
- Relación : un grupo donde dos o más elementos están relacionados entre sí.
- CompositeDescription : representa un grupo destinado a presentar contenidos mediante una combinación de elementos Description y Navigator.
- Repetidor que se utiliza para repetir el contenido según los datos recuperados de una fuente de datos genérica.
MARIA permite describir no solo los aspectos de presentación, sino también el comportamiento interactivo. Para ello, cuenta con diversas características:
- Modelo de datos : descripción de los tipos de datos vinculados a los elementos de la interfaz. En tiempo de ejecución, la modificación del estado de un interactor también cambia el valor del elemento de datos vinculado, y viceversa, para describir cambios dinámicos en la interfaz de usuario (correlación entre elementos de la interfaz, diseño condicional, conexiones condicionales entre presentaciones, formato de valores de entrada, etc.). El modelo de datos se define utilizando las construcciones estándar de definición de esquema XML .
- Back-end genérico . La definición de la interfaz contiene un conjunto de declaraciones ExternalFunctions, que representan funcionalidades utilizadas por la interfaz de usuario pero implementadas por un soporte de back-end de aplicación genérico (por ejemplo, servicios web, bibliotecas de código, bases de datos, etc.).
- Modelo de eventos . Cada definición de interactor tiene una serie de eventos asociados que permiten especificar la reacción de la interfaz de usuario desencadenada por la interacción del usuario.
- Modelo de diálogo . El modelo de diálogo contiene construcciones para especificar el comportamiento dinámico de una presentación, definiendo qué eventos pueden activarse en un momento dado. Las expresiones de diálogo se conectan mediante operadores CTT [ 3 ] para definir sus relaciones temporales.
- Actualización continua de campos . Es posible especificar que un campo determinado se actualice periódicamente mediante una función externa.
- Conjunto dinámico de elementos de interfaz de usuario . El lenguaje contiene construcciones para especificar actualizaciones parciales de la presentación (cambiando dinámicamente el contenido de grupos completos) y la posibilidad de especificar una navegación condicional entre presentaciones.
Este conjunto de nuevas características permite disponer, ya a nivel abstracto, de un modelo de la interfaz de usuario que no está vinculado a los detalles del diseño, pero que es lo suficientemente completo como para razonar sobre cómo la interfaz de usuario da soporte tanto a la interacción del usuario como al backend de la aplicación.
Interfaz de usuario concreta
Una interfaz de usuario concreta (CUI) en MARIA proporciona detalles de la interfaz de usuario que dependen de la plataforma, pero son independientes del lenguaje de implementación. Una plataforma es un conjunto de recursos de interacción de software y hardware que caracterizan un conjunto determinado de dispositivos. Actualmente, MARIA admite las siguientes plataformas:
- Las interfaces de usuario de escritorio (CUI, por sus siglas en inglés) son modelos de interfaces gráficas para ordenadores de sobremesa.
- Las interfaces CUI móviles modelan las interfaces gráficas para dispositivos móviles.
- Las interfaces de usuario multimodales para ordenadores de escritorio (CUI, por sus siglas en inglés) modelan interfaces que combinan las modalidades gráfica y de voz.
- Las interfaces multimodales de usuario para dispositivos móviles (CUI, por sus siglas en inglés) modelan interfaces que combinan las modalidades gráfica y de voz para dispositivos móviles.
- Las interfaces CUI vocales se utilizan para la representación de mensajes de voz y el reconocimiento de voz.
Cada metamodelo de plataforma es un refinamiento de la AUI, que especifica cómo se puede representar un interactor abstracto dado en la plataforma actual. Por ejemplo, si consideramos el interactor abstracto de Selección Única, se puede implementar (en una plataforma gráfica de escritorio) con un botón de opción , una lista desplegable o un cuadro de lista, mientras que en la plataforma de voz se puede representar con una lista de mensajes de voz para cada opción asociada a una palabra clave dada. Lo mismo se aplica a las composiciones de interactores: en una plataforma de escritorio se puede implementar una agrupación usando colores de fondo, bordes, etc., mientras que en una plataforma de voz es posible usar sonidos antes del primer elemento del grupo. La definición del modelo se puede aprovechar para crear (o derivar con un generador de código) implementaciones finales en diferentes lenguajes de destino.
Soporte de herramientas
La herramienta MARIAE permite la creación y edición de modelos MARIA, así como la generación del código de la interfaz de usuario final.
Referencias
- ↑ Paternò, Fabio; Santoro Carmen; Spano Lucio Davide (2009). "MARIA: un lenguaje universal, declarativo y de múltiples niveles de abstracción para aplicaciones orientadas a servicios en entornos ubicuos" (PDF) . ACM Transactions on Computer-Human Interaction . 16 (4): 219–224 . Recuperado el 25 de julio de 2011 .
- ↑ Cantera Fonseca, José Manuel; Juan M. González Calleros; Gerrit Meixner; Fabio Paternò ; Jaroslav Pullmann; Dave Raggett ; Daniel Schwabe; Jean Vanderdonckt. "Informe final de UI XG basado en modelos" . Consultado el 25 de julio de 2011 .
- ↑ Paternò, Fabio (2000). Diseño y evaluación de aplicaciones interactivas basados en modelos . Springer.
- lenguajes de marcado de interfaz de usuario
- Estándares basados en XML
- Estándares del Consorcio World Wide Web