Aplicaciones del cómputo científico : mantenimiento del software heredado
Autor Principal: | |
---|---|
Otros autores o Colaboradores: | |
Formato: | Tesis |
Lengua: | español |
Datos de publicación: |
2015
|
Temas: | |
Acceso en línea: | http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2539 Consultar en el Cátalogo |
Descripción Física: | 1 archivo (29,7 MB) : il. col. |
Tabla de Contenidos:
- 1 Introducción
- 1.1. Antecedentes y Motivación
- 1.2. Objetivo
- 1.3. Publicaciones Científicas
- 1.4. Estructura
- 2 Foco Teórico y Literatura Relacionada
- 2.1. El Software Científico
- 2.2. Fortran
- 2.3. La Evolución de Fortran
- 2.4. El Software Heredado
- 2.5. El Software Científico Heredado
- 2.6. El Software Científico, La Ingeniería de Software, HPC y Fortran
- 2.7. Trabajos Relacionados
- 2.7.1. Mantenimiento de Software
- 2.7.2. Reestructuración de Código Fuente
- 2.7.3. Herramientas de Reestructuración y Mantenimiento para Fortran
- 2.7.4. Resumen
- 3 Un Proceso de Desarrollo/Mantenimiento Dirigido por el Cambio
- 3.1. Mantenimiento de los Sistemas Heredados Escritos en Fortran
- 3.2. De lo Desconocido a lo Conocido
- 3.3. Un Modelo de Proceso de Desarrollo de Software Orientado al Cambio
- 3.3.1. El Proceso de Desarrollo Guiado por el Cambio
- 3.4. Las Cuatro Fases
- 3.4.1. La Fase de Comprensión
- 3.4.2. La Fase de Transformación
- 3.4.3. La Fase de Verificación
- 3.4.4. La Fase de la Retroalimentación
- 3.5. El Flujo de Trabajo
- 3.5.1. Establecer una versión inicial del código fuente
- 3.5.2. Transformar el código fuente
- 3.5.3. Verificar el código fuente obtenido
- 3.5.4. Validar los resultados numéricos
- 3.5.5. Aceptar/Rechazar el cambio en base a los resultados numéricos
- 3.5.6. Documentar
- 3.6. Resumen
- 4 La Comprensión: Análisis de Código Fuente y Métricas para Fortran
- 4.1. La Comprensión del Código Fuente Heredado Fortran
- 4.2. Marco de Trabajo e Implementación
- 4.2.1. La Infraestructura
- 4.3. Análisis Estático
- 4.4. Métricas para Fortran
- 4.4.1. Métricas de Complejidad
- 4.4.2. El Índice de Mantenibilidad de Coleman
- 4.5. Características Obsoletas del Lenguaje
- 4.6. Análisis de COMMON BLOCKS
- 4.7. Resumen
- 5 La Transformación: Transformaciones de Código
- 5.1. Transformación de Código Fuente
- 5.2. Implementación de las Transformaciones de Código Fuente Fortran
- 5.2.1. Ejemplo Uno: Modernización de las Instrucciones DO
- 5.2.2. Ejemplo Dos: Pasar de FORTRAN77 a Fortran 90 con Formato Libre
- 5.2.3. Ejemplo Tres: Agregar el INTENT IN a los Parámetros de una Rutina
- 5.3. Transformaciones Orientadas a la Paralelización
- 5.4. Resumen
- 6 La Verificación:los resultados
- 6.1. La Verificación
- 6.1.1. Los Contadores de Hardware
- 6.2. La Biblioteca PAPI
- 6.2.1. Integración de los Contadores de Hardware
- 6.2.2. La transformación
- 6.3. Resumen
- 7 Aplicación del Proceso: Caso de Estudio 1
- 7.1. Caso de Estudio 1: Introducción
- 7.1.1. Aplicación del proceso
- 7.2. Resumen
- 8 Aplicación del Proceso: Caso de Estudio 2
- 8.1. Caso de Estudio 2: Introducción
- 8.1.1. Iteración 4.1: Eliminar Etiquetas no Referenciadas
- 8.2. Iteración 5: Paralelización
- 8.2.1. Instrucción DO a Paralelizar
- 8.3. Resumen
- 9 Aplicación del Proceso para Paralelización: Caso de estudio 3 y 4
- 9.1. Caso de Estudio 3: Prime Numbers
- 9.1.1. Iteración 1: Instalación y Perfilado
- 9.1.2. Iteración 2: Cambiar a formato libre
- 9.1.3. Iteración 3: Paralelización
- 9.2. Caso de Estudio 4: Estimación del Valor de una Integral
- 9.2.1. Iteración 1: Instalación y Perfilado
- 9.2.2. Iteración 2: Cambiar a formato libre
- 9.2.3. Iteración 3: Paralelización
- 9.3. Resumen
- 10 Conclusiones
- 10.1. Contribuciones
- 10.2. Trabajos Futuros
- A Código Fuente y Resultados del Caso de Estudio 1
- A.1. Programa: FIRST.f
- A.1.1. Versión Original
- A.1.2. Versión Iteración 1
- A.1.3. Versión Iteración 2
- A.1.4. Versión Iteración 3
- A.1.5. Versión Iteración 4
- A.1.6. Versión Iteración 5
- A.1.7. Versión Iteración 6
- A.1.8. Versión Iteración 7
- A.1.9. Versión Iteración 8
- A.1.10.Versión Iteración 9
- A.1.11.Versión Iteración 10
- A.1.12.Versión Iteración 11
- A.1.13.Versión Final
- A.1.14.Versión publicada en la edición 5 del libro re-escrita por el autor en Fortran 90
- A.1.15. Resultados Primera ejecución
- A.1.16. Resultados Fin de la Iteración 1
- A.1.17. Resultados Fin de la Iteración 2
- A.1.18. Resultados Fin de la Iteración 3
- A.1.19. Resultados Fin de la Iteración 4
- A.1.20. Resultados Fin de la Iteración 5
- A.1.21. Resultados Fin de la Iteración 6
- A.1.22. Resultados Fin de la Iteración 7
- A.1.23. Resultados Fin de la Iteración 8
- A.1.24. Resultados Fin de la Iteración 9
- A.1.25. Resultados Fin de la Iteración 10
- A.1.26. Resultados Fin de la Iteración 11
- B Código Fuente y Resultados de: Caso de Estudio 2, Caso de
- Estudio 3 y Caso de Estudio 4
- B.1. Programa: geokerr.f
- B.1.1. Versiones
- B.1.2. Formato de los Resultados
- B.1.3. Resultados de la Versión Original
- B.1.4. Resultados de las Subsiguiente Versiones
- B.2. Ejemplo 2: geokerr.f90
- B.2.1. Perfilado del Programa geokerr.f90
- B.2.2. Lista de Funciones Candidatas a la Paralelización de geokerr.f90
- B.3. Caso de estudio 3: Prime Numbers
- B.3.1. Código Fuente Inicial
- B.3.2. Código Fuente Paralelizado por los Autores
- B.3.3. Perfilado con Gprof
- B.3.4. Corrida Original
- B.4. Caso de estudio 4: QUAD_SERIAL
- B.4.1. Código Fuente Original
- B.4.2. Perfilado del Programa QUAD_SERIAL: Ejecución Secuencial
- B.4.3. Salida de la ejecución del Programa Original QUAD_SERIAL
- B.4.4. Salida de la ejecución al Inicio del Proceso
- B.4.5. Ejecución de la iteración previa a la paralelización
- B.4.6. Salida de la Ejecución Tras la Paralelización
- C Generador de árboles para latex
- Bibliografía
- Índice de figuras