Aplicaciones del cómputo científico : mantenimiento del software heredado

Detalles Bibliográficos
Autor Principal: Méndez, Mariano
Otros autores o Colaboradores: Tinetti, Fernando Gustavo (Director/a)
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