Edna D. LPEZ L., Moiss GONZLEZ G., Mximo LPEZ S., Erick L. IDUATE R.
Departamento de Ciencias Computacionales
Centro Nacional de Investigacin y Desarrollo Tecnolgico (CENIDET)
Cuernavaca, Morelos, C.P. 62490, Mxico
{andezepol05c, moises, maximo, lerickbe05c}@cenidet.edu.mx
Trazabilidad
Consistencia
transformacin). Utilizan separacin de aspectos para el mapeo Especificacin Transformacin
Diagramas
de PIM a PSM, refirindose a que el PSM aborda tanto
UML
Artculos
cuestiones tecnolgicas como de negocios, por lo que se deben
PSM-
CIM-
PIM-
PSM
PSM
CIM
PIM
PIM
IM
separar y a esta separacin le llama separacin de aspectos, para
que la parte del negocio no se disperse en la tecnologa, sino
que el modelo PIM del negocio se enriquezca de la tecnologa. [4] *
[5]
[6] *
2.7. Enfoque basado en componente orientado a
[7]
caractersticas para la transformacin de CIM a PIM [11] [8]
Presenta un enfoque de transformaciones de CIM a PIM, [9] y [10]
considerando al CIM como un modelo de caractersticas [11]
(caractersticas) y al PIM como la arquitectura de software
(componentes). Se resuelven parcialmente 2 problemas con 3. HERRAMIENTAS MDA
respecto a la transformacin de CIM a PIM: el seguimiento de
CIM a PIM (como los elementos en el CIM pueden ser Debido al auge de MDA se han desarrollado herramientas tanto
remontados a elementos en el modelo PIM) y la construccin de open source como comerciales que dan soporte parcial o total al
PIM basado en CIM (como formar los elementos del PIM en la enfoque, en [2] y [3] se muestran dichas herramientas. El
transformacin). soporte para MDA puede darse en diversas formas, como en la
generacin de cdigo a partir de modelos y en las
Con el fin de bosquejar las caractersticas que presentan los transformaciones de modelos, donde ambas pueden ser
trabajos mencionados con respecto al soporte de MDA, en la implementadas por distintas herramientas: herramientas de
tabla 1 se presentan las caractersticas a evaluar (columnas) y transformacin de PIM a PSM, PSM a cdigo, PIM a cdigo,
los autores de los trabajos referenciados (renglones). La ajustables y de definicin de transformaciones. Las
interseccin de un rengln con una columna se representa con el herramientas analizadas que se destacan debido a su madures,
smbolo *. A continuacin se describen las columnas y uso y mayor soporte al enfoque son: ArcStyler, OptimalJ,
smbolos de la tabla 1. AndroMDA, Codagen Architect y Together Architect. En la
tabla 2 se ilustra una comparativa entre dichas herramientas.
Columnas: Los tipos de herramientas presentadas son de transformaciones
Diagramas UML. Utiliza diagramas UML para el modelado. de modelo a modelo (PIM a PSM) y de modelo a cdigo (PIM a
Consistencia. Es importante para mantener la informacin cdigo, PSM a cdigo).
adicional que se requiere para transformar un modelo en
otro, de manera que pueda reutilizarse cuando se requiera El estudio de estas herramientas permite conocer las
una modificacin o actualizacin del modelo fuente para caractersticas de una herramienta MDA, sus limitaciones
volver a realizar su transformacin al modelo objetivo. actuales y su aplicabilidad, mostrando un panorama de lo que
Trazabilidad. Implica conocer el elemento origen a partir falta mejorar e implementar en ellas respecto a las
del cual se ha generado cualquier elemento del modelo transformaciones, definiciones de sus modelos, forma de
destino. construccin y tecnologas (Ej. UML, XMI, MOF,) que
Especificacin. Define la informacin requerida del modelo, utilizan.
para CIM, PIM, PSM o todos.
Transformaciones. Soporte a transformaciones entre En la tabla 2 se muestran las caractersticas que especifican las
diferentes niveles de abstraccin como: CIM-PIM, PIM- herramientas con respecto al soporte de MDA para identificar
PSM y de PSM-IM (Modelo de Implementacin). en que medida se cubren. Se presentan las caractersticas a
evaluar (renglones) y los nombres de las herramientas
(columnas). La interseccin de un rengln con una columna es
AndroMDA [17,
Herramientas
ArcStyler [15]
OptimalJ [16]
volver a realizar su transformacin al modelo objetivo.
Architect
Architect
Together
Codagen
Trazabilidad. Implica conocer el elemento origen a partir
18]
del cual se ha generado cualquier elemento del modelo
destino.
Smbolos:
La significa que cumple la caracterstica al 100%. XMI v1.1,
MDD de
El * significa que cumple la caracterstica pero UML XMI
XMI v1.1 Racional, XMI
indirectamente. Entrada v1.1
Visio,
together.
Cuando se menciona indirectamente significa que
implcitamente cumple la caracterstica. Java,C#,C
Java,C#,C ++,Corba,
Todos En ++, Visual
Los diagramas UML que soportan las herramientas es Lenguaje de Todos
J2EE Visual Basic
importante conocerlos, debido a que de ello se podra deducir salida
Basic. 6,Visual
cuales son los diagramas ms utilizados para el desarrollo de Basic .Net
aplicaciones a travs del enfoque MDA. Los diagramas de UML
Struct,
que soportan estas herramientas son: casos de uso, clases, XMI,
Netbeans MDR,
secuencia, colaboracin, actividad, mquina de estado, XMI, UML,
antMybernate,
componentes, objetos, cronometraje, visin general de UML, MOF,
Estndares Velocity, Struct XMI
MOF, XML,
interaccin, estructura compuesta, as como el diagrama de xDoclet y
JMI WSDL,
distribucin. La herramienta OptimalJ utiliza todos excepto los J2EE
Maven.
diagramas de cronometraje, visin general de interaccin y Soporte CIM *
estructura de interaccin. Arcstyler no utiliza el diagrama de Soporte PIM * *
objetos, cronometraje, visin general de interaccin y Soporte PSM * *
estructura de interaccin. Together Architect no utiliza los CIM a PIM
diagramas de mquina de estados, objetos, cronometraje, PIM a PSM
estructura compuesta. Codagen Architect y AndroMDA utilizan PIM a Cdigo
los diagramas de clases, casos de uso y estados. Adems PSM a Cdigo
AndroMDA usa el diagrama de secuencias y Codagen Architect Consistencia * *
el diagrama de actividad. Los resultados de la tabla 2 se Trazabilidad * * *
puntualizan a continuacin:
4. CONCLUSIONES
La mayora de las herramientas no implementan en su
totalidad la especificacin completa de MDA, estas pueden Aunque existen varias herramientas y trabajos relacionados que
realizar las transformaciones entre los modelos PIM-PSM, aplican el enfoque MDA, muchas de estas no lo contemplan en
PSM-Cdigo, pero no de CIM-PIM o simplemente realizan su totalidad y cada una tiene una forma diferente de interpretar
[1] Bran Selic,"Model-Driven Development: Its Essence and [13] J. Garca Molina, J. Rodrguez, M. Menrguez, M.J. Ortn,
Opportunities",Proceedings of the Ninth IEEE International J. Snchez, Un estudio comparativo de dos herramientas
Symposium on Object and Component-Oriented Real-Time MDA: OptimalJ y ArcStyler, Actas del I Taller sobre
Distributed Computing, 2006. Desarrollo Dirigido por Modelos, MDA y Aplicaciones
(DSDM04), Mlaga, Espaa, 9 de noviembre de 2004.
[2] DSDM: Desarrollo de Software Dirigido por Modelos.
MDA y Aplicaciones, http://www.lcc.uma.es/~av/MDD-MDA/, [14] Luis Enrique Corredera de Colsa, Arquitectura dirigida
revisada agosto de 2006. por modelos para J2ME, http://personal.telefonica.terra.es
/web/lencorredera/mda_j2me.pdf, Revisada septiembre de 2006.
[3] OMG, Committed Companies and Their Products,
http://www.omg.org/mda/committed-products.htm, revisada [15] ArcStyle, http://www.arcstyler.com/, Revisada el
agosto de 2006. septiembre de 2006.
[4] Pablo Amaya, Carlos Gonzlez, Juan M. Murillo, [16] OptimalJ, http://www.compuware.com/products/optimalj/,
Separacin de Aspectos en MDA: Una aproximacin basada Revisada septiembre de 2006.
en mltiples vistas, Actas del I Taller sobre Desarrollo
Dirigido por Modelos, MDA y Aplicaciones (DSDM04), [17] AndroMDA, www.andromda.org2, Revisada septiembre de
Mlaga, Espaa, 9 de noviembre de 2004. 2006.
[5] Jean Bzivin, Nicolas Farcet, Jean-Marc Jzque, Benot [18] Chris Micali, Introduction to Model Driven Development
Langlois, and Damien Pollet, Reflective Model Driven with AndroMDA (Part 1), http://www.codeproject.com/
Engineering, Proceedings of UML 2003, San Francisco, useritems/intro_to_andromda_1.asp, Revisada septiembre de
volume 2863 of LNCS, pag. 175-189, Springer (10/2003). 2006.