Ir al contenido

Documat


Resumen de A trading and model-based methodology for adapting dynamic user interfaces

Javier Criado Rodríguez Árbol académico

  • La constante evolución de las tecnologías orientadas al desarrollo de software implica una adaptación de las aplicaciones existentes, tanto a las nuevas técnicas emergentes como a la nuevas tendencias que se imponen frente al resto. En este sentido, las interfaces de usuario de las aplicaciones se ven afectadas por esta necesidad de evolución, puesto que son el principal enlace entre el software y los usuarios. En ocasiones, son la parte del software que más se ve afectada por las actualizaciones para adaptarse a las nuevas necesidades, debido a que son el elemento "visible" de las aplicaciones. Esta necesidad de evolución cobra aún mayor relevancia en las interfaces de usuario web, ya que los recursos externos a los que acceden, pueden dejar de funcionar correctamente o cambiar su localización. También es posible que surjan nuevos recursos que mejoren la funcionalidad de los existentes, o que el contexto determine una necesidad de incorporar o deshabilitar algún elemento en la interfaz de usuario.

    Un tipo particular de interfaces de usuario web son la interfaces de usuario mashup. Estas interfaces están construidas a partir de la composición de distintas partes o piezas, generando una única interfaz con la que el usuario interactúa. Dichas partes no se refieren a campos de texto o botones, sino que identifican componentes de granularidad gruesa que encapsulan algún tipo de funcionalidad. En la literatura, existen propuestas de interfaces de usuario construidas a partir de piezas, sin embargo, los componentes de dichas interfaces se comportan de forma aislada y no presentan dependencias entre ellos. Por tanto, la interacción y las acciones que se ejecutan sobre un componente, no tienen impacto sobre el resto. En este sentido, puede resultar beneficioso incorporar algún tipo de relación entre los componentes de una interfaz para poder llevar a cabo, por ejemplo, inserciones automáticas de componentes que siempre funcionan en conjunción con otros.

    De esta manera, una interfaz de usuario podría ser representada como una arquitectura que describe qué componentes están presentes y cuáles son las relaciones entre los mismos.

    El trabajo desarrollado se centra en adaptar interfaces de usuario tipo mashup de forma dinámica teniendo en cuenta información del entorno de ejecución y del conocimiento del dominio. De esta información, cabe destacar la relativa a los perfiles y las preferencias de los usuarios. Con ello, la investigación está orientada a la obtención de interfaces de usuario inteligentes o smart user interfaces, que sean capaces de reconfigurar su arquitectura de componentes en tiempo de ejecución, adaptándose a diferentes situaciones posibles. Para ello, la construcción de las interfaces de usuario y las operaciones de reconfiguración se realizan a partir de repositorios de componentes de terceros, tipo COTS (Commercial Off-The-Shelf), que pueden verse modificados en el tiempo, por ejemplo, eliminando componentes existentes o añadiendo nuevos componentes a los repositorios.

    Además, creemos que las interfaces de usuario, aunque objetivo principal de nuestra investigación, no es el único dominio que puede verse beneficiado por este tipo de adaptación. Cualquier sistema software que esté construido a partir de componentes, que necesite ser adaptado en tiempo de ejecución mediante la reconfiguración de su arquitectura, y donde existan relaciones entre sus componentes, podría ser considerado como dominio de aplicación. Por este motivo, la investigación desarrollada mantiene un enfoque "generalista" orientado a la adaptación dinámica de arquitecturas de componentes. El enfoque para las smart user interfaces puede extenderse ahora para aplicarse a distintos dominios relacionados con los dispositivos inteligentes (smart devices): domótica, TV inteligente, ciudades inteligentes, robótica, etc.

    El enfoque generalista requiere que las descripciones de las arquitecturas de componentes sean aplicables a cualquier dominio, lo cual puede solucionarse a través de mecanismos de abstracción como el uso de técnicas de modelado para su representación. Aplicando un enfoque de ingeniería basada en modelos, las arquitecturas de componentes podrían estar representadas a través de modelos independientes de la plataforma o PIM (Platform Independent Model). De esta forma, por un lado podrían existir operaciones de adaptación aplicadas en este nivel y a este tipo de modelos. Por otro lado, a partir de un PIM, sería necesario determinar qué componentes concretos cumplen mejor con la definición de los componentes incluidos en la arquitectura, obteniendo así un modelo específico de la plataforma a PSM (Platform Specific Model). Este marco identifica las tres actividades principales de nuestra metodología: (a) la definición de interfaces de usuario a partir de arquitecturas de componentes, (b) la adaptación de las arquitecturas de componentes en el nivel de representación independiente de la plataforma, y (c) la configuración de arquitecturas de componentes en el nivel de representación dependiente de la plataforma.

    La primera de estas actividades, es decir, la definición de una interfaz de usuario, debe incluir las descripciones de los componentes que la integran (a nivel funcional, extra-funcional, etc.), así como las relaciones que existen entre los componentes de la arquitectura. En relación a esta tarea, existen algunos lenguajes para definir interfaces de usuario a partir de sus componentes; sin embargo, no existen notaciones con la información suficiente para poder realizar operaciones de adaptación a partir de las características de los componentes o de las dependencias entre ellos. Con respecto a la segunda actividad mencionada, existen algunos mecanismos para conseguir la adaptación de modelos de arquitecturas independientes de la plataforma. Por ejemplo, a través de la aplicación de técnicas de transformación de modelos. No obstante, la ejecución de transformaciones de modelos en tiempo de ejecución, es un campo de investigación emergente y no existen propuestas para la transformación de arquitecturas de interfaces de usuario de forma dinámica.

    Además, en los métodos de transformación actuales, la lógica de las transformaciones que se desarrollan es estática y está pre-fijada a priori. Sin embargo, la adaptación que se persigue debe permitir la modificación dinámica de las reglas de adaptación, para poder definir nuevas estrategias de cambio y que la adaptación a nuevas situaciones pueda ser llevada a cabo en tiempo de ejecución.

    Respecto a la tercera actividad, existen servicios de mediación que facilitan o automatizan procesos de búsqueda y selección de componentes. También existen modelos de mediación para el desarrollo de sistemas software a partir de la construcción de configuraciones arquitectónicas. Sin embargo, los procedimientos existentes para el desarrollo de software basado en componentes carecen de mecanismos para facilitar la construcción de software en tiempo de ejecución. En este sentido, ni los modelos de documentación de los componentes ni los procedimientos para el cálculo de las configuraciones están orientados a la reconfiguración de arquitecturas de forma dinámica.

    En el trabajo de investigación desarrollado, se ha definido una metodología basada en técnicas de Ingeniería Dirigida por Modelos (MDE, Model-Driven Engineering) y en técnicas de mediación (trading), para la adaptación de interfaces de usuario en tiempo de ejecución. Dicha metodología consta de dos etapas: una primera fase de transformación en la cual tiene lugar la adaptación de arquitecturas de componentes independientes de la plataforma (a las que hemos llamado arquitecturas abstractas), y una segunda fase de regeneración en la cual se construyen las arquitecturas dependientes de la plataforma (a las que hemos llamado arquitecturas concretas) a partir de las definiciones de arquitecturas abstractas.

    El proceso de transformación (primera etapa de la metodología) ha sido desarrollado como un conjunto de transformaciones de modelos cuya finalidad es generar de forma dinámica una nueva transformación modeloa- modelo (M2M, Model-to-Model) cada vez que se realiza la adaptación de las arquitecturas abstractas. Todas las transformaciones han sido implementadas haciendo uso de ATL (ATL Transformation Language) y la transformación dinámica se construye en tiempo de ejecución a partir de un repositorio de reglas y de una transformación tipo HOT (Higher-Order Transformation).

    El proceso de regeneración (segunda etapa de la metodología) ha sido desarrollado como un servicio de mediación que extiende los servicios de trading tradicionales. Este servicio de mediación permite realizar búsquedas de componentes a partir de parámetros de entrada, y añadir/modificar/eliminar especificaciones de componentes. También ofrece un mecanismo para configurar sus políticas de ejecución. Esta funcionalidad se corresponde con la implementación de las interfaces Lookup, Register y Admin del estándar de mediación ODP (Open Distributed Processing). Adicionalmente, para la resolución de arquitecturas concretas a partir de definiciones de arquitecturas abstractas en tiempo de ejecución, este servicio extiende el modelo de mediación tradicional incorporando una nueva interfaz Configs. Se han implementado dos algoritmos para la resolución de configuraciones: un algoritmo recursivo y otro basado en un algoritmo heurístico tipo A* que mejora el rendimiento del primero.

    Para realizar la evaluación y la validación de la metodología, se han desarrollado distintos escenarios de prueba para la adaptación de interfaces de usuario de un Sistema de Información Geográfica o GIS (Geographic Information System). Además, se han construido repositorios para el almacenamiento de ejemplos de arquitecturas y de componentes que han sido utilizados en dichos escenarios. Las implementaciones de las dos etapas de la metodología han sido encapsuladas en servicios web para que puedan ser invocados en cualquier momento facilitando así la depuración y la ejecución de los mismos.

    También se han desarrollado y utilizado distintas herramientas para la validación de los procesos implementados.


Fundación Dialnet

Mi Documat