3 Estado del Arte
3.2 Estado del arte del las herramientas MDA
3.2.4 Valoración de O ptimalJ y ArcStyle r e n función de las propiedades deseables de un proce so MDA.
A continuación se presentan los resultados parciales de los estudios [18, 29], donde se evalúan las principales propiedades deseables de un proceso MDA:
Propiedad deseable OptimalJ ArcStyler fram ework
Todas permiten crear modelos PIM. Se puede expresar
claramente los conceptos estáticos del problema, y los servicios funcionales que estos prestan pero no el comportamiento dinámico.
Se puede expresar
claramente el comportamiento estático y
dinámico del problema.
Se puede expresar claramente los conceptos estáticos del
problema, y los servicios funcionales que estos prestan pero no el comportamiento dinámico.
1. Soporte al modelo PIM
Ambas manejan el PIM contaminado con información específica de la plataforma. En el caso de OptimalJ para especificar las llaves primarias y en ArcStyler, para anotar detalles muy concretos de la plataforma. En nuestra opinión, esta contaminación no debería darse, ya que viola el principio básico de MDA, de modelar los conceptos del negocio independientes de la plataforma de implementación.
Se modelan únicamente los conceptos del negocio siguiendo el principio básico de MDA
2. Soporte al modelo PSM
Cumple los principios de MDA, generando tres PSM que pueden ser visualizados y manipulados por el
desarrollador.
No cumple, auque se podría decir que maneja PSM implícitos los cuales a pesar de no poderse visualizar ni manipular por el desarrollador, internamente existen. La falencia de PSM’s explícitos hace que ArcStyler requiera de anotar
Define varios PSM (Plataforma y Lenguaje) que permiten
separar aun mas los dominios de plataforma y darle mas flexibilidad al framework.
y marcar el PIM, de este generar el código de la aplicación. 3. Generación de aplicaciones en diferentes plataformas
Se puede decir que cumple parcialmente, pues auque
solamente genera soluciones en plataforma
tecnológica J2EE, se tiene un nivel de variabilidad en la persistencia y en la interfaz de usuario generada.
Gracias a los cartuchos MDA- Cartridges, se pueden implementar transformaciones a múltiples plataformas tecnológicas. Permite generar aplicaciones en JEE5 y .NET 4. Acceso a las transformaciones No lo permite, por lo menos para el desarrollador usuario de la herramienta.
Lo permite a través los cartuchos MDA – Cartridges.
Se pueden modificar las transformaciones pero se requiere conocimiento en ATL y los metamodelos involucrados. 5. Expresividad de los modelos
En nuestra opinión, los modelos son poco expresivos, ya que ninguna de las dos herramientas permite implementar metamodelos PIM y PSM propios que modelen dominios específicos, de tal manera que se provea una semántica bien definida a la hora de construir los modelos. El único modelo que se salva de esta afirmación, es el PIM del comportamiento dinámico de ArcStyler, el cual provee una semántica precisa para expresar la interacción del usuario con el sistema.
Los modelos son expresivos ya que están apoyados por la semántica de los elementos y relaciones de los metamodelos. 6. Consistencia incremental
Todas herramientas la soportan.
7. Creación de nuevos
metamodelos
Como mencionamos anteriormente, ninguna de las dos herramientas permite la creación o modificación de los metamodelos existentes.
Se pueden modificar los metamodelos pero es necesario verificar
metamodelos metamodelos existentes. que las transformaciones
cumplan con esos cambios 8. Soporte a modelos de comportamiento estático y dinámico Formalmente solamente soporta el comportamiento estático, no es soportado el dinámico, aunque en la documentación de OptimalJ se hace un intento de manifestarla, con el modelo de servicios del PIM.
Soporta los dos. El framework
solamente soporta modelos estáticos por el momento.
4 Propuesta
Entendiendo las necesidades de la industria actual de producir software de manera ágil y efectiva, procurando minimizar los recursos utilizados en el desarrollo y manteniendo o mejorando los estándares de calidad, es claro que se requiere utilizar una mezcla de procesos, tecnologías y herramientas para satisfacer dichas necesidades.
Para lograr esta integración, entonces, se trabaja de acuerdo con el paradigma M DA, el cual, como vimos, tiene como objetivo principal agilizar el desarrollo de aplicaciones mediante la transformación de modelos. Estos modelos son representaciones del sistema desde diferentes puntos de vista o dominios, los cuales son representados usando conceptos y semánticas propios de estos mismos dominios.
Como se explicó anteriormente, M DA, en la actualidad, lamentablemente no representa una solución clara y definida de cómo debe aplicarse al mundo real, lo que hace necesario, para poder cumplir con el objetivo de esta investigación, definir en dónde, con qué y cómo se va a aplicar.
Lo primero que se necesita, entonces, es definir dónde se va a aplicar el paradigma de M DA para agilizar el proceso de desarrollo. En esta investigación seleccionamos como dominio un tipo de aplicaciones empresariales multicapa que permiten distribución y escalamiento (estas aplicaciones empresariales serán especificadas más adelante en la sección 4.1.). Vale decir que estas aplicaciones están delimitadas para administrar información que se almacena un una base de datos o persistencia, como se verá en la sección 4.2.
Una vez se define este dominio, integramos un framework M DA (formado por metamodelos, transformaciones, procesos y herramientas), el cual permite construir un modelo de un sistema que se encuentra dentro del dominio de aplicaciones empresariales multicapa y generar código Java, C# o Visual Basic .NET, y que, con muy pocas modificaciones, podrá ser ejecutado dentro de un contenedor JEE5 o Enterprise Services de M icrosoft. Este framework será presentado en la sección 4.3.
Por último, en la sección 4.4 se definen el alcance y las limitaciones de la investigación.