6 MAGICMOBILEUWE: HERRAMIENTA PARA HIPERMEDIA MÓVIL
6.3 MagicMobileUWE : Modelo Unificado
Una vez especificado el Modelo de Contenido, el diseñador puede generar a partir de éste el Modelo Unificado, para lo esto debe elegir cuál es el concern Core de la aplicación. Para realizar la transformación de un modelo al otro, se provee dentro del menú MagicMobileUWE, el submenú Mobile UWE Transformation con la opción
Mobile UWE Content Mobile UWE Unified, como se puede apreciar en la Figura 6.9. Con esta transformación se pasa todo el contenido de los concerns del Modelo de Contenido al Modelo Unificado, donde uno de ellos es elegido como Core de la aplicación. Esta transformación agrega las relaciones de rol.
Figura 6.9: Menú con la transformación del Modelo de Contenido al Modelo Unificado.
Cuando el diseñador elige la transformación Mobile UWE Content Mobile UWE Unified, le aparece en una pantalla un listando con todos los concerns digitales que tiene el Modelo de Contenido actual (es decir el Modelo de Contenido que se está visualizando) como se muestra en la Figura 6.10. El diseñador debe elegir uno de estos como Core o cancelar dicha transformación. En el caso que el modelo que se
está visualizando no sea un Modelo de Contenido, se le avisa al diseñador que esta transformación no se puede realizar.
También se controla que el Modelo de Contenido tenga concerns digitales para listar, en el caso de no tener ningún concern digital disponible, se le indica también que no se puede realizar dicha transformación.
Figura 6.10: Elección del concern Core.
Supongamos que el diseñador selecciona, por ejemplo, el concern histórico, la transformación es realizada por la herramienta en forma automática45 (ver Anexo B)
según la descripción indicada en la Sección 5.3.
Como resultado de la transformación (Mobile UWE Content Mobile UWE Unified) se crea un nuevo modelo denominado Mobile UWE Unified (ver Figura 6.11 dentro de la solapa Containment). En este caso, se eligió crear el nuevo modelo dentro del paquete
Tourist All Concerns, que a su vez está contenido en el paquete Unified, esto es posible porque la transformación permite especificar donde se quiere guardar46 el
nuevo modelo creado.
Figura 6.11: Modelo Unificado creado con la transformación.
45 Para una mejor visualización del modelo creado a partir de la transformación, se acomodaron de forma manual algunas líneas de las asociaciones.
46 En el caso de no seleccionar ningún paquete en particular, el modelo es creado dentro del paquete llamado Unified.
El nuevo Modelo Unificado se crea con el estereotipo <<mobileUWEUnifiedDiagram>> como se puede apreciar en la parte derecha de la Figura 6.11. Este estereotipo sirve para indicar que es un Modelo Unificado del enfoque. Además, el estereotipo permite almacenar el Modelo de Contenido que fue derivado el Modelo Unificado, permitiendo de esta manera recuperar su modelo origen.
Se puede visualizar en la Figura 6.11, que se agregaron las asociaciones estereotipadas como <<roleOf>> acordes al concern que se eligió como Core (en este caso el concern histórico).
En la barra de herramientas (dentro del grupo Mobile UWE Unified) el diseñador tiene como opción el elemento roleOf, que le permite dibujar la relación de rol en el caso que quiera relacionar dos clases de dos concerns diferentes (que tienen diferentes nombres); ya que la transformación sólo relaciona con la asociación estereotipada como <<roleOf>> las clases de distintos concerns que tienen el mismo nombre. Como se mencionó en la Sección 5.3, el diseñador puede elegir transformar sólo algunos concerns al Modelo Unificado. Para esto, se provee la transformación llamada
Mobile UWE Content Mobile UWE Unified (Select some concerns) como se puede observar en la Figura 6.12.
Figura 6.12: Menú con la transformación del Modelo de Contenido al Modelo Unificado considerando sólo algunos concerns de interés.
Cuando el diseñador selecciona la transformación mencionada, le aparece una pantalla con la lista de todos los concerns digitales del Modelo de Contenido (como se mostró en la Figura 6.10). El diseñador elige cuál es el concern Core de la aplicación. Supongamos que elige el concern histórico, una vez que lo selecciona, le aparece otra pantalla (Figura 6.13) con el resto de los concerns digitales para que indique cuáles quiere considerar para la transformación al Modelo Unificado. En ese momento, el diseñador puede elegir alguno de los concerns restantes o no elegir ninguno. La transformación se lleva a cabo considerando sólo el concern Core y los concerns seleccionados en la segunda pantalla.
Por como está definida la transformación del Modelo de Contenido al Modelo Unificado, elegir los concerns de interés, asegura que al menos el Modelo Unificado cuente con el concern Core. El concern físico siempre se pasa en la transformación y no se le permite al diseñador excluirlo. El código relacionado con esta transformación se puede observar en el Anexo B.
En la Figura 6.13 se puede ver que se crea, dentro del paquete Unified (dentro de la solapa Containment), un nuevo paquete llamado Tourist Only Historical Concern
donde se almacena el nuevo Modelo Unificado creado a partir de esta transformación. De esta manera quedan bien organizados los distintos modelos en paquetes separados permitiendo una buena organización.
Supongamos que en la pantalla de la Figura 6.13, el diseñador no elige pasar el concern arquitectural. En este caso la transformación sólo considera el concern histórico y físico para crear el Modelo Unificado. Esto se puede apreciar en la Figura 6.14, que como producto de la transformación se genera el Modelo Unificado Mobile UWE Unified Diagram dentro del paquete Tourist Only Historical Concern.
Se puede observar que este Modelo Unificado también tiene el estereotipo
<<mobileUWEUnifiedDiagram>>. Además, se puede visualizar que no se crea el
paquete correspondiente al concern Architectural, solamente se crean los paquetes
Historical y Physical.
Usando esta transformación, el diseñador puede filtrar los concerns que le interesa seguir considerando, para luego crearles una representación en el Modelo Navegacional. En este filtrado puede excluir aquellos concerns de la aplicación que no tienen sentido que sean visualizados por el usuario.
Figura 6.14: Modelo Unificado creado solamente con el concern histórico.
Una vez realizada la transformación, el diseñador tiene la posibilidad de agregar nuevas asociaciones de rol (usando el elemento de dibujo roleOf), entre las clases de distinto nombre, que considere necesario.
La herramienta MagicMobileUWE permite además crear Modelos Unificados sin que provengan de un Modelo de Contenido. Esta opción se provee en el menú principal (ver Figura 6.15). Este modelo tiene que ser creado en forma completa por el diseñador, indicando manualmente todos los concerns junto a sus clases y sus asociaciones; como así también la definición de las asociaciones que representan al rol. Para realizar la creación de todos estos elementos, el diseñador puede usar los elementos disponibles en la barra de herramientas.
Figura 6.15: Menú para la creación del Modelo Unificado.