• No se han encontrado resultados

Desarrollo de un modelo computacional basado en arquitectura orientada a modelos para la transformación de un diagrama de clases en código fuente java

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo de un modelo computacional basado en arquitectura orientada a modelos para la transformación de un diagrama de clases en código fuente java"

Copied!
179
0
0

Texto completo

(1)Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. ESCUELA ACADÉMICO PROFESIONAL DE INFORMÁTICA. DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTADA A MODELOS PARA LA TRANSFORMACIÓN DE UN DIAGRAMA DE CLASES EN CÓDIGO FUENTE JAVA TESIS PARA LA OBTENCIÓN DEL TÍTULO PROFESIONAL DE:. AUTORES:. DÍAZ FERNÁNDEZ, PEDRO PABLO. PASTOR CRUZADO, JAVIER EDUARDO. BI. BL. IO T. INGENIERO INFORMÁTICO. ASESOR: ARAUJO GONZÁLEZ, CHRISTIAN. TRUJILLO – PERÚ 2016. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(2) EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. BI. BL. IO T. DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTADA A MODELOS PARA LA TRANSFORMACIÓN DE UN DIAGRAMA DE CLASES EN CÓDIGO FUENTE JAVA. I Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(3) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. DÍAZ FERNÁNDEZ, PEDRO PABLO. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. PASTOR CRUZADO, JAVIER EDUARDO. DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTADA A MODELOS PARA LA TRANSFORMACIÓN DE UN DIAGRAMA DE CLASES EN CÓDIGO FUENTE JAVA. BL. IO T. Tesis presentada a la Escuela Académico Profesional de Informática en la Facultad de Ciencias Físicas y Matemáticas de la Universidad Nacional de Trujillo, como requisito para la obtención del título profesional de Ingeniero Informático.. BI. ASESOR: ARAUJO GONZÁLEZ, CHRISTIAN. TRUJILLO – PERÚ 2016. II Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(4) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. HOJA DE APROBACIÓN. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Desarrollo de un Modelo Computacional Basado en Arquitectura Orientada a Modelos para la Transformación de un Diagrama de Clases en Código Fuente Java. Díaz Fernández, Pedro Pablo. Pastor Cruzado, Javier Eduardo. Tesis defendida y aprobado por el jurado examinador:. BL. IO T. _____________________________ Prof. Dr. Carlos E. Castillo Diestra Departamento de Informática – UNT. BI. _____________________________ Prof. Ing. José Luis Peralta Luján Departamento de Informática – UNT. _____________________________ Prof. Mg. Christian Araujo González Departamento de Informática – UNT. Trujillo, 12 de Octubre del 2016. III Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(5) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. DEDICATORIA Quisiera dedicar este trabajo de investigación principalmente a Dios, por haberme dado el privilegio de existencia, por haberme guiado durante este tiempo de vida y sé que lo seguirá haciendo con lo que me tenga destinado.. CA S. A mi Madre, por los buenos valores que me inculcó desde la infancia, por ese apoyo incondicional, su preocupación. Gracias mamá por todo el cariño, afecto y amor que nos brindas a tus hijos, por tu rectitud; todos tus regaños sirvieron para formarme. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. como persona de bien y ahora puedo decir: “Por fin lo logré”.. A mi Padre, por el sacrificio que hace día a día para brindar Educación a sus hijos, por sus buenos consejos, por el tiempo que nos brinda. Gracias papá por darme todo con amor, me siento muy orgulloso de ti.. A mis Hermanas, Annie y Claudia. Trataré de seguir haciendo las cosas bien para ser ejemplo para ustedes y la familia.. A mi Abuelo Clemente, quien siempre se mantuvo preocupado para apoyarme con lo que pudo, pese a su estado dificultoso por el que también lucha día a día. A mis tías, Elena, Flor, María; quienes me apoyaron con un granito de arena y lo siguen haciendo con mi Madre para lograr este anhelado sueño.. A todos los docentes que desde pequeño fueron guía de Educación y Valores.. IO T. Es un honor haberlos tenido como guía de aprendizaje.. A mi Asesor, Prof. Mg. Christian Araujo González, que siempre se mostró. BL. disponible e interesado en adjurarme con el desarrollo del presente Trabajo de. BI. Investigación. Y por último y no menos importantes, a mis Padrinos Amanda y Lorenzo, a los. demás miembros de mi familia: tíos, primos, y a aquellas amistades que siempre se acuerdan de mí, a los que me apoyaron con alguna duda, a los que siempre me daban esos ánimos y fuerzas para continuar firme y aquellos que me alentaban para terminar esta Tesis. A Todos, Mil Gracias. Siempre estaré para apoyarlos en lo que pueda y retribuirles todo lo que me dieron. Pedro Pablo Díaz Fernández Díaz Fernández Pedro Pablo. 1. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(6) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. Agradezco a Dios, el creador de todas las cosas, por llegar hasta aquí, permitirme día a día avanzar y mejorar en todo aspecto de mi vida, agradecerle por los triunfos y los momentos difíciles que me han enseñado a valorar mucho más cada. CA S. instante de mi vida. A mi madre por estar presente siempre, inculcándome buenos hábitos, valores y. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. transmitirme la seguridad y confianza de poder concluir esta tesis.. A mi padre quien me apoyo, y dio parte de su tiempo y esfuerzo para permitirme finalizar este trabajo que refleja el sacrificio y motivación de afrontar nuevos retos en la vida.. A mis abuelos, presentes en vida y fallecidos, que fueron las personas después de mis padres que más preocupación tuvieron conmigo, por criarme y educarme para ser un ciudadano de bien para mi comunidad.. A mis familiares por el apoyo incondicional que tienen a conmigo y por velar durante todo este camino y culminar mi carrera profesional y así formarme un futuro prometedor y lleno de esperanza.. A mis maestros quienes nunca desistieron al enseñarme y son ejemplos para mí, por su tiempo. y dedicación que fueron transmitidos en desarrollo de mi carrera. IO T. profesional.. A mis amigos que estuvieron presentes para despejar las dudas y temores. Tanto. BI. BL. social como emocionalmente. A todos los que me apoyaron para escribir y concluir esta tesis, les digo. Gracias a Todos.. Javier Eduardo Pastor Cruzado. Díaz Fernández Pedro Pablo. 2. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(7) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. INDICE DEDICATORIA ................................................................................................................................ 1 INDICE............................................................................................................................................ 3 INDICE DE FIGURAS ....................................................................................................................... 6. CA S. INDICE DE TABLAS ......................................................................................................................... 8 RESUMEN .................................................................................................................................... 10 ABSTRACT .................................................................................................................................... 11. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. INTRODUCCION ........................................................................................................................... 12 CAPITULO I: PLANEAMIENTO DEL ESTUDIO ................................................................................ 13 1.1.. Realidad Problemática ................................................................................................ 13. 1.2.. Formulación del Problema .......................................................................................... 14. 1.3.. Hipótesis ...................................................................................................................... 14. 1.4.. Objetivos ..................................................................................................................... 14. 1.4.1. 1.4.2.. Objetivo General ................................................................................................. 14 Objetivos Específicos ........................................................................................... 14. 1.5.. Justificación del Problema........................................................................................... 15. 1.6.. Limitaciones del Estudio.............................................................................................. 15. 1.7.. Síntesis Organizativa del Informe................................................................................ 16. CAPITULO II: MARCO TEORICO ................................................................................................... 17 Modelo ........................................................................................................................ 17. 2.2.. Modelo Computacional ............................................................................................... 17. IO T. 2.1.. 2.3.. Arquitectura Orientada a Modelos – MDA ................................................................. 18. 2.3.1.. CIM ...................................................................................................................... 18 PIM ...................................................................................................................... 19. 2.3.3.. PSM ..................................................................................................................... 20. BI. BL. 2.3.2.. 2.4.. Herramientas de Transformación en MDA ................................................................. 21. 2.4.1.. Características Deseables de las Herramientas de Transformaciones................ 22. 2.4.2.. Transformación de PIM a PSM ............................................................................ 24. 2.5.. Metamodelos .............................................................................................................. 28. 2.5.1. 2.6.. Object Manager Group (OMG).................................................................................... 28. 2.6.1. 2.7.. Importancia del Metamodelado en MDA ........................................................... 28. Arquitectura ........................................................................................................ 29. Lenguaje Modelado Unificado – UML ......................................................................... 32. 2.7.1.. Diagrama de clases .............................................................................................. 33. Díaz Fernández Pedro Pablo. 3. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(8) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 2.7.1.1.. Clase ............................................................................................................ 35. 2.7.1.2.. Relaciones.................................................................................................... 37. 2.8.. Herramientas de Transformación ............................................................................... 40. 2.8.1.. Herramienta OptimalJ de Compuware ............................................................... 40. 2.8.2.. Herramienta ArcStyler......................................................................................... 42. 2.8.3.. Tabla de Comparación......................................................................................... 44. Java .............................................................................................................................. 45. CA S. 2.9. 2.10.. Complejidad computacional ................................................................................... 46. CAPITULO III: MATERIALES Y MÉTODOS ..................................................................................... 50 Diseño de la Investigación ........................................................................................... 50. 3.2.. Población y Muestra.................................................................................................... 50. 3.2.1. 3.2.2. 3.3.. Población ............................................................................................................. 50 Muestra ............................................................................................................... 50. Variables de Estudio .................................................................................................... 52. 3.3.1. 3.3.2. 3.3.3. 3.4.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 3.1.. Variable Dependiente ......................................................................................... 52 Variable Independiente ....................................................................................... 52 Factor de Medición de Mejora del Tiempo ......................................................... 52. Técnicas e Instrumentos ............................................................................................. 52. 3.4.1. 3.4.2.. Técnicas ............................................................................................................... 52 Instrumentos ....................................................................................................... 52. CAPITULO IV: RESULTADOS ......................................................................................................... 53 4.1.. Análisis de los Modelos de Transformación ................................................................ 53 Modelo de Generación Automática de Código ................................................... 54. IO T. 4.1.1. 4.1.2.. Una Propuesta de Modelo de V&V en el marco de MDA ................................... 56. 4.1.4.. AspectMDA:......................................................................................................... 57. 4.1.5.. Modelo de Descripción de PIM ........................................................................... 58. 4.1.6.. Conceptos y Técnicas de PSM y Técnicas de Mapeo de PIM a PSM ................... 59. BI. BL. 4.1.3.. Modelos Reflexivos en MDA ............................................................................... 55. 4.1.7. Enfoque Basado en Componente Orientado a Características para Transformación de CIM a PIM ............................................................................................. 60. 4.1.8.. Generación de Código a partir de Diagramas de Clases UML ............................. 61. 4.2.. Análisis Comparativo de los Modelos Referidos ......................................................... 62. 4.3.. Diseño Modelo Computacional para la Transformación de Diagramas ..................... 64. 4.3.1.. Definición Para el Modelo de Transformación.................................................... 64. 4.3.1.1. 4.3.2.. Características Relacionadas del Proceso en la Metodología MDA ............ 64. Arquitectura del Modelo de Transformación ..................................................... 65. Díaz Fernández Pedro Pablo. 4. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(9) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 4.3.3.. Descripción del Modelo de Transformación ....................................................... 67. 4.3.4.. Elementos del Modelo Computacional ............................................................... 67. 4.3.4.1.. Diagrama de Clases (DC) ............................................................................. 69. 4.3.4.2.. Diagramación de Objetos del Metamodelo de Clases (DOMMC) ............... 72. 4.3.4.3.. Transformación de Diagrama de Modelado (TDO) ..................................... 90. 4.3.5.. Formalización del Modelo de Transformación ................................................... 97. Desarrollo de Casos de Estudio ................................................................................. 100. 4.5.. Evaluación de la Complejidad del Algoritmo de Transformación ............................. 131. 4.5.2.. Complejidad Temporal ...................................................................................... 131. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 4.5.1.. CA S. 4.4.. Discusión del Proceso ........................................................................................ 132. 4.5.2.1.. Modelado .................................................................................................. 132. 4.5.2.2.. Instancia .................................................................................................... 133. 4.5.2.3.. Transformación ......................................................................................... 142. 4.6. Cuadro Comparativo de Modelos MDA con el Modelo Computacional Desarrollado (MTD) 148 4.7.. Presentación de Tiempos de Ejecución de los Diagramas de Clases ........................ 149. CAPITULO V: DISCUSION DE RESULTADOS ................................................................................ 150 5.1.. Análisis Comparativo de los Resultados de los Prototipos ....................................... 150. 5.2.. Prueba de Hipótesis .................................................................................................. 151. CAPITULO VI: CONCLUSIONES, RECOMENDACIONES Y TRABAJOS FUTUROS .......................... 158 Conclusiones.............................................................................................................. 158. 6.2.. Recomendaciones ..................................................................................................... 158. 6.3.. Trabajos Futuros........................................................................................................ 159. IO T. 6.1.. REFERENCIAS BIBLIOGRÁFICAS ................................................................................................. 160 ANEXOS ..................................................................................................................................... 162. BL. ANEXO 1: DIAGRAMAS DE CLASES DE LOS CASOS DE USO ................................................... 162. BI. ANEXO 2: CÓDIGO DE LA TRANSFORMACION DEL ALGORITMO .......................................... 170 ANEXO 3: MODELO DE GENERACIÓN DE CÓDIGO A PARTIR DE DIAGRAMA DE CLASES UML ............................................................................................................................................... 174. Díaz Fernández Pedro Pablo. 5. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(10) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. INDICE DE FIGURAS. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Figura 1. Pasos en el desarrollo con MDA. Fuente: Referencia [11] .......................................... 18 Figura 2. Tecnologías PIM. Fuente: Referencia [11] .................................................................. 19 Figura 3. Ejemplo de PIM. Fuente: Referencia [6] ..................................................................... 19 Figura 4. Ejemplo de PSM. Fuente: Referencia [6] .................................................................... 20 Figura 5. Tipos de Modelos según abstracción. Fuente: Referencia [6] ..................................... 21 Figura 6. Transformación MDA. Fuente: Referencia [12] .......................................................... 21 Figura 7. Funcionalidad en un entorno de desarrollo MDA. Fuente: Referencia [11] ................ 27 Figura 8. Entidades del MOF. Fuente: Referencia [14]. ............................................................. 29 Figura 9. Entidades de MOF – Capa M1. Fuente: Referencia [14]............................................. 30 Figura 10. Entidades del MOF – Capa M2. Fuente: Referencia [14].......................................... 30 Figura 11. Entidades de MOF – Capa M3. Fuente: Referencia [14]........................................... 31 Figura 12. Relación entre las Capas de Modelado. Fuente: Referencia [14]. ............................. 32 Figura 13. Transformaciones de un Modelo UML. Fuente: Referencia [14]. ............................. 33 Figura 14. Modelo de una Clase. Fuente: Referencia [5]. ........................................................... 33 Figura 15. Diagrama de Clase. Fuente: Referencia [5] ............................................................... 34 Figura 16. Representación Estructural de una Clase. Fuente: Referencia [14]. .......................... 35 Figura 17. Modelo de una Clase en UML. Fuente: Referencia [14]. .......................................... 35 Figura 18. Modelos de Herencia de Clases. Fuente: Referencia [14] ......................................... 37 Figura 19. Representación de Agregación de Clases en UML. Fuente: Referencia [14] ........... 38 Figura 20. Representación de Asociaciones de Clases en UML. Fuente: Referencia [14] ........ 39 Figura 21. Arquitectura OptimalJ. Fuente Referencia [1]. .......................................................... 42 Figura 22. Arquitectura de ArcStyler. Fuente: Referencia [1]. ................................................... 44 Figura 23. Plataformas de Java. .................................................................................................. 45 Figura 24. Arquitectura del Modelado. ....................................................................................... 65 Figura 25. Fases en los Pasos del Desarrollo del Modelo con MDA. Fuente: Editado de Figura 1 (Referencia [11]). ..................................................................................................................... 66 Figura 26. Metamodelo del Diagrama de Clases “MTD”. .......................................................... 78 Figura 27. Diagrama de clases de Tienda de Producto. ............................................................ 100 Figura 28. Grafico Diagramas de Casos de Uso Vs Tiempos de Ejecución. ............................ 151 Figura 29. Distribución T-Student. ........................................................................................... 157 Figura 30. Diagrama de clases del Caso Ventas ....................................................................... 162 Figura 31. Diagrama de Clases del Caso Colegio. .................................................................... 162 Figura 32. Diagrama de Clases del Caso Clínica. ..................................................................... 163 Figura 33. Diagrama de Clases del Caso Almacén. .................................................................. 163 Figura 34. Diagrama de Clases del Caso Depósito de Coches. ................................................. 164 Figura 35. Diagrama de Clases del Caso Turismo. ................................................................... 164 Figura 36. Diagrama de Clases del Caso Biblioteca. ................................................................ 165 Figura 37. Diagrama de Clases del Caso Jerarquía. .................................................................. 165 Figura 38. Diagrama de Clases del Caso Veterinaria. ............................................................... 166 Figura 39. Diagrama de Clases del Caso Universidad. ............................................................. 166. Díaz Fernández Pedro Pablo. 6. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(11) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Figura 40. Diagrama de Clases del Caso Gasolinera. ............................................................... 167 Figura 41. Diagrama de Clases del Caso Sociedad Anónima. .................................................. 167 Figura 42. Diagrama de Clases del Caso Clasificación de Animales........................................ 168 Figura 43. Diagrama de clases del Caso La Clase Graphics en Java. ....................................... 168 Figura 44. Diagrama de Clases del Caso Cadena de Restaurantes............................................ 169 Figura 45. Diagrama de Clases del Caso Periódico. ................................................................. 169. Díaz Fernández Pedro Pablo. 7. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(12) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. INDICE DE TABLAS. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Tabla 1. Tabla de las Capas de Modelado. .................................................................................. 31 Tabla 2. Arquitectura OptimalJ. .................................................................................................. 44 Tabla 3. Orden de Complejidad Superior. Fuente: Referencia [10] ............................................ 48 Tabla 4. Reglas de Complejidad Superior. Fuente: Referencia [10]. .......................................... 49 Tabla 5. Cuadro Comparativo de Modelos MDA. ...................................................................... 63 Tabla 6. Resumen del Diagrama de Clases (DC). ....................................................................... 98 Tabla 7. Resumen del Metamodelo de Clases (MD)................................................................... 99 Tabla 8. Resumen de Clases del Diagrama de Clases. .............................................................. 103 Tabla 9. Resumen de Relaciones del Diagrama de Clases. ....................................................... 104 Tabla 10. Resumen de Clases del Metamodelo de Clases. ....................................................... 115 Tabla 11. Resumen de Generalizaciones del Metamodelo de Clases. ...................................... 116 Tabla 12. Resumen de Generalizaciones del Metamodelo de Clases. ...................................... 116 Tabla 13. Resumen de Transformación del Metamodelo de Clases. ........................................ 129 Tabla 14. Complejidad Temporal del Modelo Computacional. ................................................ 132 Tabla 15. Complejidad Temporal del Proceso del Modelado. .................................................. 133 Tabla 16. Complejidad Temporal del Proceso de Instancia. ..................................................... 134 Tabla 17. Complejidad Temporal del Algoritmo 1. .................................................................. 135 Tabla 18. Complejidad Temporal del Algoritmo 2. .................................................................. 135 Tabla 19. Complejidad Temporal del Algoritmo 3. .................................................................. 136 Tabla 20. Complejidad Temporal del Algoritmo 4. .................................................................. 136 Tabla 21. Complejidad Temporal del Algoritmo 5. .................................................................. 137 Tabla 22. Complejidad Temporal del Algoritmo 6. .................................................................. 137 Tabla 23. Complejidad Temporal del Algoritmo 7. .................................................................. 138 Tabla 24. Complejidad Temporal del Algoritmo 8. .................................................................. 139 Tabla 25. Complejidad Temporal del Algoritmo 9. .................................................................. 139 Tabla 26. Complejidad Temporal del Algoritmo 10. ................................................................ 140 Tabla 27. Complejidad Temporal del Algoritmo 11. ................................................................ 140 Tabla 28. Complejidad Temporal del Algoritmo 12. ................................................................ 140 Tabla 29. Complejidad Temporal del Algoritmo 13. ................................................................ 141 Tabla 30. Complejidad Temporal del Algoritmo 14. ................................................................ 141 Tabla 31. Complejidad Temporal del Algoritmo 15. ................................................................ 142 Tabla 32. Complejidad Temporal del Proceso de Transformación. .......................................... 143 Tabla 33. Complejidad Temporal del Algoritmo 16. ................................................................ 143 Tabla 34. Complejidad Temporal del Algoritmo 17. ................................................................ 144 Tabla 35. Complejidad Temporal del Algoritmo 18. ................................................................ 144 Tabla 36. Complejidad Temporal del Algoritmo 19. ................................................................ 145 Tabla 37. Complejidad Temporal del Algoritmo 20. ................................................................ 145 Tabla 38. Complejidad Temporal del Algoritmo 21. ................................................................ 146 Tabla 39. Complejidad Temporal del Algoritmo 22. ................................................................ 147 Tabla 40. Complejidad Temporal del Algoritmo 23. ................................................................ 147. Díaz Fernández Pedro Pablo. 8. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(13) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. BI. BL. IO T. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. Tabla 41. Complejidad Temporal del Algoritmo 24. ................................................................ 148 Tabla 42. Cuadro Comparativo de Modelos MDA con el Modelo “MTD” desarrollado. ........ 148 Tabla 43. Muestra Estadística de Tiempo de Ejecución de los Diagramas de Clases de Casos de Uso Aplicando con ambos Modelos.......................................................................................... 149 Tabla 44. Valores Estadísticos de Distribución......................................................................... 156 Tabla 45. Complejidad Temporal del Modelo de Generación de Código. ................................ 175. Díaz Fernández Pedro Pablo. 9. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(14) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. RESUMEN. En el presente trabajo de investigación denominado “Desarrollo de un Modelo. CA S. Computacional basado en Arquitectura Orientada a Modelos para la Transformación de un Diagrama de Clases en Código Fuente Java”, proponemos un algoritmo para la mejora de la transformación de diagramas de clases a código fuente en cuanto al tiempo. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. y complejidad, basado en Arquitectura orientada a modelos.. Para esta investigación se analizaron 8 Modelos diferentes de Transformación de Diagramas de Clases a Código Fuente Java; los cuales se analizan uno a uno obteniendo las ventajas y desventajas. Con ellas partimos con el desarrollo del Modelo que finalmente proponemos.. El Modelo Computacional propuesto consta de 3 fases: Modelado, Instancia y Transformación. En la primera fase se utiliza el Diagrama de Clases para formalizar los datos necesarios que luego son utilizados en la siguiente fase de Instancia. En ésta segunda fase se utiliza el Metamodelo de clases para que, a partir de éste, poder crear. IO T. una Instancia; Es en esta fase donde también empezamos a enfocar el Modelo a Arquitectura Orientada a Modelos, pasamos el Modelo de PIM a PSM. Finalmente, en la fase de Transformación, utiliza la instancia creada en la fase anterior para. BL. transformarla en Código Fuente Java; en esta fase pasamos el Modelo de PSM a. BI. Código.. Como resultado de este proceso se obtiene la codificación deseada mejorando el tiempo para transformar diagramas de clases a su respectivo código fuente Java.. Díaz Fernández Pedro Pablo. 10. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(15) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. ABSTRACT. In this research paper entitled "Development of a system based on Oriented Architecture. CA S. Models for Transformation of a Class Diagram to Source Code Java Computational Model", we propose an algorithm for improving the processing of class diagrams to. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. source code as for the time and complexity, based on models oriented architecture.. For this research 8 different models Transformation Class Diagrams to Java Source Code were analyzed; which analyzes one to one obtaining the advantages and disadvantages. With them we start with the development of the model we eventually propose.. The proposed computational model consists of 3 phases: Modeling, Trial and Transformation. In the first phase the Class Diagram is used to formalize the necessary data are then used in the next phase of Instance. In this second phase, the metamodel class is used so that, from this, to create an instance; It is at this stage where we also began to focus on the Model to Oriented Architecture Models, spent the Model PIM to. IO T. PSM. Finally, in the phase of transformation, using the instance created in the previous. BL. phase to transform it into Java source code; at this stage we PSM Model Code.. BI. As a result of this process the desired coding is obtained by improving the time to transform class diagrams to their respective Java source code.. Díaz Fernández Pedro Pablo. 11. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(16) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. INTRODUCCION Es un proceso de desarrollo de software, una de las tareas más relevantes para el éxito de un proyecto de diseño e implementación de un Modelo Computacional es garantizar,. CA S. de una forma apropiada, la representación y el modelado de los requisitos de usuario.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Actualmente, la interpretación es un problema a la hora de elaborar software por parte de los programadores, esto se produce por la carencia de experiencia y el mal modelamiento de modelos de análisis produciendo confusión y retraso al proceso de elaboración e implementación del software.. Debido a lo mencionado anteriormente, consideramos que es de utilidad diseñar un Modelo computacional basado en arquitectura orientada a modelos para la transformación de diagramas de clases a código fuente Java, por ello nos planteamos como problema el siguiente cuestionamiento: ¿Cómo mejorar la transformación de un diagrama de clases en código fuente Java?.. En este trabajo de investigación se desarrollará un proceso único de fácil comprensión. IO T. y didáctico de cómo interpretar un modelo de clases a su implementación en código fuente, sin duda lo que se pretende con todo esto es agilizar este proceso, para eso este. BL. Proyecto de Investigación utiliza conceptos de MDA, mediante la aplicación de reglas de transformación que establecen una relación unívoca entre los elementos del. BI. diagrama y patrones de código, que se ejemplifica en JAVA.. Díaz Fernández Pedro Pablo. 12. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(17) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. CAPITULO I: PLANEAMIENTO DEL ESTUDIO 1.1.. Realidad Problemática. CA S. Desde siempre el hombre ha buscado las mejores soluciones a los problemas que existen en su realidad, decimos que una solución es mejor que otra cuando. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. una de ellas nos proporciona ventajas sobre otras.. En las ciencias de la computación, uno de estos problemas es la interpretación de datos o abstracción de la realidad. En la actualidad la interpretación es un problema a la hora de elaborar software por parte de los programadores, esto se produce por la carencia de experiencia y el mal modelamiento de modelos de análisis produciendo confusión y retraso al proceso de elaboración e implementación del software, en este trabajo de investigación se desarrolla un proceso único de fácil comprensión y didáctico de cómo interpretar un modelo de clases a su implementación en código fuente, sin duda lo que se pretende con todo esto es agilizar este proceso, para este Proyecto de Investigación utiliza conceptos de MDA, mediante la aplicación de reglas de transformación que establecen una relación univoca entre los elementos del diagrama y patrones de. IO T. código, que se ejemplifica en Java.. BI. BL. Características:.  Falta de flexibilidad y configuración en el código generado.  No uso de plantillas y ficheros de definición de estructuras.  Falta de pruebas de código generado (compilación).  No hay integración con diferentes lenguajes de programación.  Demora en el proceso de transformación del diseño al código.. Díaz Fernández Pedro Pablo. 13. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(18) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 1.2.. Formulación del Problema Considerando lo expresado en la sección anterior, se deduce que es de utilidad Diseñar un Modelo Computacional basado en Arquitectura Orientada a Modelos para la Transformación de un Diagrama de Clases en Código Fuente Java. Esto nos lleva al planteamiento del problema:. CA S. ¿Cómo mejorar la transformación de un diagrama de clases en código. 1.3.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. fuente Java?. Hipótesis. Un Modelo Computacional basado en arquitectura orientada a modelos permitirá mejorar la transformación de un diagrama de clases en código fuente Java en cuanto a complejidad y tiempo.. 1.4.. Objetivos. 1.4.1. Objetivo General. Desarrollar un Modelo Computacional basado en Arquitectura Orientada a Modelos para la Transformación de un Diagrama de Clases en Código. IO T. Fuente Java.. BI. BL. 1.4.2. Objetivos Específicos. . Realizar una investigación bibliográfica para recolectar datos referentes al tema de investigación.. . Analizar la información recopilada para determinar el modelo computacional.. . Desarrollar el proceso computacional como solución al problema propuesto.. . Reducir el Tiempo y Complejidad mediante el modelo de Transformación.. Díaz Fernández Pedro Pablo. 14. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(19) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 1.5.. Justificación del Problema.  Desde el punto de vista de las Ciencias de la Computación:. CA S. El trabajo de Investigación se enfoca en el Área de la Ingeniería de Software utilizando el tema Arquitectura Orientada a Modelos, el cual. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. aporta un modelo computacional que permite: . La transformación (Algoritmo) desde un diagrama de clases en. código fuente Java.. . Reducción de tiempo y Complejidad.. . Proporcionar un Modelo con un alto grado de simplicidad..  Desde el punto de vista Académico: . Permitirá incentivar a los alumnos, incursionar en el campo de. modelos de transformación y MDA.. . Promoverá a los interesados en el desarrollo de nuevos diseños. de modelos de transformación de diagramas de clases en código fuente java.. . Permitirá a los alumnos desarrollar la diagramación de sus casos. IO T. de uso.. Limitaciones del Estudio. BI. BL. 1.6.. La presente tesis, tiene las siguientes limitaciones propias de este tipo de investigación:  El modelo computacional está limitado para realizarlo solamente en el lenguaje de Programación Java.  También se limita a corregir errores de notación de un diagrama de clases.  Se limita a dar como resultado código en base a programación orientada a objetos.. Díaz Fernández Pedro Pablo. 15. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(20) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 1.7.. Síntesis Organizativa del Informe El presente trabajo de investigación cuenta con seis (6) capítulos divididos en secciones de acuerdo al nivel de detalle que se consideró necesario, las cuales. CA S. se describen brevemente: El primer capítulo, describe el planteamiento del problema a estudiar, partiendo desde la realidad problemática, el problema concreto, la hipótesis planteada, los. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. objetivos establecidos, la justificación y las limitaciones que se detectaron durante el desarrollo de la tesis.. El segundo capítulo, desarrolla el marco teórico; donde abarca los conceptos teóricos que sustentan el estudio realizado para el desarrollo del modelo computacional, entre ellos, la Arquitectura Orientada a Modelos, Diagrama de clases, el Lenguaje de Programación Java, y finalmente se desarrolla la teoría correspondiente al análisis de complejidad de algoritmos.. El tercer capítulo, se describe el diseño de la investigación utilizado, se detalla la población con la que se trabajará y la muestra sobre la que se aplicarán los modelos de transformación tradicionales y el propuesto. Finalmente se describen las variables dependiente e independiente, el factor de medición de mejora del tiempo, técnicas e instrumentos utilizados durante el desarrollo de la presente. IO T. investigación.. El cuarto capítulo, presenta el análisis de los modelos de transformación tradicionales, la elección de un modelo de referencia utilizando un análisis. BI. BL. comparativo, el diseño del modelo propuesto, el desarrollo de casos de estudio, y finalmente el análisis de la complejidad del modelo propuesto. El quinto capítulo, comprende todos los resultados obtenidos luego de la implementación del modelo de transformación propuesto. El sexto capítulo, comprende las conclusiones a las cuales se llegaron a través del presente trabajo de investigación, las recomendaciones que se consideraron útiles y los trabajos futuros que se pueden realizar. Finalmente, se presenta las referencias bibliográficas, referencias web usadas y los anexos.. Díaz Fernández Pedro Pablo. 16. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(21) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. CAPITULO II: MARCO TEORICO En esta sección se presentaran los conocimientos necesarios para lograr el desarrollo. CA S. del modelo computacional. Esta investigación está centrada en la Transformación de Diagramas de Clases a Código Fuente Java, basándose en Arquitectura Orientada a Modelos, en donde estudiaremos algunos conceptos básicos para lograr esta meta y. 2.1.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. analizaremos los diferentes Modelos de Transformación existentes.. Modelo. Según la definición referencial al libro de Arquitectura Orientada a Modelos, es una representación o abstracción de una situación u objeto real, que muestra las relaciones (directas o indirectas) y las interrelaciones de la acción y reacción en términos de causa y efecto.. Un modelo es una descripción de todo o parte de un sistema escrito en un. lenguaje bien definido. El hecho de que un modelo esté escrito en un lenguaje bien definido tiene una gran importancia para MDA, ya que supone que el modelo tiene asociadas una sintaxis y una semántica bien definidas. Esto permite la interpretación automática por parte de transformadores o compiladores de. IO T. modelos, fundamentales en MDA. (Jonathan, 2009). 2.2.. Modelo Computacional. BL. Es un modelo matemático en las ciencias de la computación que requiere. BI. extensos recursos computacionales para estudiar el comportamiento de un sistema complejo por medio de la simulación por computadora. El sistema bajo estudio es a menudo un sistema complejo no lineal para el cual las soluciones analíticas simples e intuitivas no están fácilmente disponibles. En lugar de derivar una solución analítica matemática para el problema, la experimentación es hecha con el modelo cambiando los parámetros del sistema en la computadora, y se estudian las diferencias en el resultado de los experimentos.. Díaz Fernández Pedro Pablo. 17. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(22) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 2.3.. Arquitectura Orientada a Modelos – MDA MDA se estableció por primera vez en la especificación definida por la OMG en donde se indicaba que: “MDA define una aproximación para la especificación de sistemas de información que separa la funcionalidad del sistema de la implementación para una. CA S. plataforma tecnológica específica”.(Meliá, p.53). Las principales ventajas de la arquitectura dirigida por modelos en la ingeniería. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. de software con modelos independientes de plataformas son dos:.  Durante la fase de diseño, los desarrolladores no tienen que preocuparse por los detalles y las diferencias ente lenguajes de programación..  Se puede transformar un proyecto de un lenguaje a otro.. La directiva MDA del Object Management Group (OMG) propone dos tipos de modelos, uno para la fase de análisis y otro para la fase de diseño, este último derivado del primero. (Peralta, 2013). IO T. Figura 1. Pasos en el desarrollo con MDA. Fuente: Referencia [11]. BI. BL. 2.3.1. CIM. Representa. los. modelos. independientes. de. la. computación. (Computationally – Independent Model) que caracterizan el dominio del problema. Este tipo de modelos surge ante todo en procesos de modelado de negocio e idealmente se conciben antes del levantamiento de requisitos para una aplicación particular. Los lenguajes de transformación populares y transformaciones. (Jonathan, 2009). Díaz Fernández Pedro Pablo. 18. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(23) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 2.3.2. PIM Es un modelo de sistema que muestra mayormente el proceso de análisis y detalles generales de la plataforma que será implementado. El modelo de la fase de análisis es el PIM (Platform Independent Model), que es un modelo independiente de la plataforma, lo cual significa que. CA S. los diagramas que lo componen son vistas del sistema y construidas. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. específicamente en términos del dominio.. Figura 2. Tecnologías PIM. Fuente: Referencia [11]. “PIM es la base para la construcción del modelo de la fase de diseño, que se conoce como PSM (Platform Specific Model), el cual está compuesto por diagramas construidos siguiendo los lineamientos no solo de estructura y comportamiento del sistema, sino también de una plataforma. IO T. específica”. (Jonathan, 2009). PIM sencillo con tres clases interrelacionadas. El PIM se modela mediante el diagrama de clases de UML.. BI. BL. Como podemos ver en la siguiente Figura 3, muestra un ejemplo de un. Figura 3. Ejemplo de PIM. Fuente: Referencia [6]. Díaz Fernández Pedro Pablo. 19. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(24) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. 2.3.3. PSM Es un modelo de sistema con detalles específicos de la plataforma en la que será implementado. Se genera a través de un PIM así que representa el mismo sistema pero a distinto nivel de abstracción. Podemos decir que un PSM es un PIM al que se le añaden detalles específicos para ser implementados en otra plataforma. En MDA se utiliza el lenguaje. CA S. unificado de modelado UML para especificar los modelos.. Según OMG, MDA proporciona una solución para los cambios de. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. tecnología. Permitiendo construir aplicaciones independientes de la plataforma e implementarlas en plataformas como CORBA, J2EE o Servicios Web. (Jonathan, 2009). En la Figura 5, muestra un PSM construido a partir del PIM de la Figura 4, representado también mediante un diagrama de clases UML. Este sencillo ejemplo muestra un posible PSM para la plataforma EJB (Enterprise Java Beans como ejemplo, la herramienta Javadoc para Java). Como vemos, en el paso del PIM al PSM se han producido varias transformaciones: . Se ha añadido el estereotipo <<EJEBEntity>> a cada clase,. para indicar que la clase representa un EJB de tipo Entity.. . Se ha modificado la visibilidad de los atributos del PIM de público. IO T. a privado.. Se han generado métodos públicos de lectura y modificación (get. y set) para cada atributo.. BI. BL. . Figura 4. Ejemplo de PSM. Fuente: Referencia [6]. Díaz Fernández Pedro Pablo. 20. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(25) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. De un mismo PIM pueden generarse varios PSM’s; cada uno. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. CA S. describiendo el sistema desde una perspectiva diferente.. Figura 5. Tipos de Modelos según abstracción. Fuente: Referencia [6]. 2.4.. Herramientas de Transformación en MDA. Según la definición de Ingeniería de Modelos; Un Metamodelo es un Modelo de Modelos que contienen reglas y procedimientos, así como, las herramientas de transformación son software que las conforman reglas o secuencia de pasos que permiten relacionar cada instancia del Metamodelo, se utilizan para producir desde un Metamodelado propuesto por un estándar MDA hacia un código para la implementación que puede obtenerse a partir de este. (Rodríguez, 2004) Una definición de transformación o mapping MDA proporciona la especificación. BI. BL. IO T. de un PIM en un PSM para una plataforma determinada.. Figura 6. Transformación MDA. Fuente: Referencia [12]. Díaz Fernández Pedro Pablo. 21. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(26) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. Tipos Según (Rodríguez, 2004), podemos distinguir dos tipos de definiciones de transformación:.  Transformaciones de Tipos (Model Type Mapping). CA S. Un mapping de tipos especifica un mapping para transformar cualquier modelo construido con tipos del PIM a otro modelo expresado con tipos del PSM. Es decir, a cada tipo de elemento del PIM se le aplica una regla. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. determinada para transformarlo en uno o varios elementos del PSM.. En el caso de UML, estas reglas pueden estar asociadas a tipos el Metamodelo (clase, atributo, relación, etc) o a nuevos tipos definidos mediante estereotipos. También pueden definirse reglas en función de valores de instancias en el PIM..  Transformaciones de Instancias (Model Instante Mapping) Identifica elementos específicos de PIM que deben ser transformados de una manera particular, dada una plataforma determinada. Esto se puede conseguir mediante marcas. Una marca representa un concepto del PSM, y se aplica a un elemento del PIM para indicar como debe ser transformado. Las marcas, al ser específicas de la plataforma, no son parte del PIM. El desarrollador marca el PIM para dirigir o controlar la. IO T. transformación a una plataforma determinada.. 2.4.1. Características. Deseables. de. las. Herramientas. de. BI. BL. Transformaciones  Ajustar las transformaciones El requisito principal que debería cumplir toda herramienta de transformación es permitir que el desarrollador tenga cierto control sobre el proceso de transformación. Se puede lograr de varias maneras:  Control manual.  Condiciones en las transformaciones.  Parámetros de transformación.. Díaz Fernández Pedro Pablo. 22. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(27) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”.  Trazabilidad La trazabilidad implica que pueda conocerse el elemento origen a partir del cual se ha generado cualquier elemento del modelo destino. Es útil para el cambio de nombre de una operación del PSM. CA S. generada a partir del PIM, el cambio debe reflejarse también en el PIM; esto no es posible si la herramienta no dispone de un. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. mecanismo para conocer el origen en el PIM de la operación modificada.. También es útil en la búsqueda y corrección de errores. Las partes de código erróneas pueden encontrarse buscando los elementos del PIM que presentan la funcionalidad defectuosa y siguiendo su traza hasta el código..  Consistencia incremental. Cuando se genera un modelo destino, este necesita algún trabajo extra, como rellenar el código de una operación o refinar la interfaz de usuario. Si regeneramos de nuevo el modelo destino, debido a cambios en el modelo origen, queremos que el trabajo extra se. BI. BL. IO T. conserve; esto es lo que se llama Consistencia Incremental. Cuando se produce un cambio en el modelo origen, el proceso de transformación sabe qué elementos en el modelo destino necesitan cambiarse también. Un proceso de transformación incremental puede reemplazar los elementos viejos con los nuevos, mientras mantiene la información extra del modelo destino en su sitio. Esto significa que cambios en el modelo origen tienen el mínimo impacto en el modelo destino..  Bidireccionalidad La bi-direccionalidad implica que las transformaciones puedan operar en ambas direcciones. Esta propiedad tiene menor prioridad que las anteriores, a pesar de ser interesante.. Díaz Fernández Pedro Pablo. 23. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(28) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. Las transformaciones bidireccionales pueden lograrse de dos formas:  Ambas transformaciones se ejecutan de acuerdo con una única definición de transformación.  Una transformación y u inversa se especifican mediante. CA S. dos definiciones de transformación diferentes.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. 2.4.2. Transformación de PIM a PSM. La transformación de PIM a PSM puede llevarse a cabo de varis formas: . Construyendo manualmente el PSM a partir del PIM.. . De la forma semiautomática, generando un PSM esqueleto que. es completado a mano.. . De forma totalmente automática, generando un PSM completo a. partir del PIM.. Para. las. transformaciones. automáticas. se. usan. herramientas. especializadas. Estas herramientas tienen implementados distintos algoritmos para pasar de un tipo de modelo a otro, y suponen uno de los pilares de MDA. Las herramientas de transformación de modelos se verán a continuación:. BI. BL. IO T.  Herramientas de Transformación de PIM a PSM Permiten transformar un PIM de alto nivel en unos o varios en uno o varios PSM’s. En la actualidad no hay disponibles muchas herramientas de este tipo; ya las que existen, ofrecen escasa funcionalidad..  Herramientas de Transformación de PSM a Código El soporte más popular para MDA lo encontramos en las herramientas que transforman PSM a código. Poseen una definición de transformación integrada que toman un tipo predefinido de modelo de entrada (PSM) y producen otro tipo predefinido como salida (modelo de código). Díaz Fernández Pedro Pablo. 24. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(29) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. Las herramientas CASE tradicionales siguen este patrón para la generación de código. Muchas de estas herramientas mantienen la relación entre el PSM y el código permitiendo que los cambios realizados en cualquiera de los modelos (PSM y código) se reflejen inmediatamente en el otro. Esto es posible porque el PSM y código están muy cerca el. CA S. uno del otro, y poseen casi el mismo nivel de abstracción.. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI.  Herramientas de Transformación de PIM a Código. Otro tipo de herramienta es aquella que soporta las dos transformaciones anteriores, de PIM a PSM y de PSM a Código. En ocasiones el usuario simplemente verá una transformación directa de PIM a código, quedando implícito el PSM. La herramienta ArcStyler podría enmarcarse en este grupo, ya que. no existe PSM explícito, sino que se usa un PIM con marcas para generar directamente el código..  Herramientas de Transformación Ajustables Las herramientas de MDA deberían permitir “refinar” o “ajustar” las transformaciones. Normalmente no se permite acceder a las definiciones de las transformaciones para ajustarlas a tus propios. BI. BL. IO T. requisitos. En el mejor de los casos, las herramientas proporcionan sus definiciones de transformaciones en lenguaje de script específicos de la herramienta, y resulta muy engorroso hacer cambios en dichos lenguajes. Mientras no se estandarice un lenguaje de definición de transformaciones, estas seguirán siendo específicas de cada herramienta..  Herramientas de Definición de Transformaciones Un último tipo de herramientas lo constituirían aquellas herramientas que nos permiten crear y modificar transformaciones sobre. modelos,. imprescindibles. si. necesitamos. usar. transformaciones distintas a las disponibles en las herramientas. Las únicas herramientas disponibles de este tipo usan lenguajes de script específicos. Díaz Fernández Pedro Pablo. 25. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(30) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”. La complejidad de la definición de transformaciones nos lleva de nuevo a la necesidad de un lenguaje estándar de definición de transformaciones (QTV) y a disponer de herramientas mejor preparadas para esta tarea. Por desgracia, todavía queda algo de tiempo para que esto se convierta en realidad. CA S.  Otras herramientas  Editor de código. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Realiza las tareas comunes proporcionadas por un Entorno de Desarrollo Interactivo (IDE), como depuración, compilación y edición de código..  Ficheros de código. Aunque podemos considerar el código como un modelo, usualmente se almacena en forma de ficheros de texto; los cuales no son un formato que otras herramientas pueden entender. Se necesitan los siguientes dos elementos:. o Analizador gramatical de ficheros de texto. Lee un fichero de texto y almacene el código en forma de modelo en el repositorio de modelos, de manera que otras herramientas lo puedan usar.. BI. BL. IO T. o Generador de ficheros de texto.. Lee el código del repositorio de modelos y produzca un fichero de código basado en texto..  Repositorio de modelos Es la base de datos para modelos, donde los modelos se almacenan y se recuperan usando XMI, JMI o IDL..  Editor de modelos Herramienta CASE para construir y modificar modelos.. Díaz Fernández Pedro Pablo. 26. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(31) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “DESARROLLO DE UN MODELO COMPUTACIONAL BASADO EN ARQUITECTURA ORIENTA A MODELOS PARA LA TRANSFORMACION DE UN DIAGRAMA DE CLASES EN CODIGO FUENTE JAVA”.  Verificador de modelos Los modelos usados para la generación de otros modelos deben estar extremadamente bien definidos. Estas herramientas. pueden. chequear. los. modelos. para. comprobar que cumplan unas determinadas reglas y. CA S. asegurarse así que puedan ser transformados..  Editor de definiciones de transformaciones permitir. crear. y. modificar. definiciones. EC Y AD M E AT C EM IEN ÁT CIA IC S AS FÍ SI. Para. de. transformaciones..  Repositorio. de. definiciones. de. transformaciones. Para almacenar las definiciones de transformaciones.. En la Figura 7, muestra un diagrama que resume la funcionalidad. BI. BL. IO T. deseable en un entorno completo de desarrollo con MDA.. Figura 7. Funcionalidad en un entorno de desarrollo MDA. Fuente: Referencia [11]. Díaz Fernández Pedro Pablo. 27. Pastor Cruzado Javier Eduardo. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

Referencias

Documento similar

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

El desarrollo de una conciencia cáritas es esencial para identificar cuando un momento de cuidado se convierte en transpersonal, es necesaria para identificar

En este trabajo estudiamos la obra poética en español del escritor y profesor argelino Salah Négaoui, a través de la recuperación textual y análisis de Poemas la voz, texto pu-

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

cíaco, entonces, no es sólo un “pretexto narrativo”, o una simple guía para el lector menos avispado, es en realidad un marcapasos que antecede, impulsa y conmueve al