Descripción del proyecto
EL OBJETIVO GENERAL DE RISCO ES EL DESARROLLO DE LOS FUNDAMENTOS PARA ESCRIBIR Y EL RAZONAMIENTO FORMAL Y RIGUROSO ACERCA DEL SOFTWARE CONCURRENTE Y DISTRIBUIDO MODERNO, PROBAR MATEMATICAMENTE LA CORRECCION DE LOS PROGRAMAS CONCURRENTES Y DISTRIBUIDOS NO ES UN PROBLEMA NUEVO, Y ALGUNAS DE SUS FACETAS HAN SIDO ESTUDIADAS EN PROFUNDIDAD, A PESAR DE ELLO, LAS APLICACIONES MODERNAS, LAS PLATAFORMAS ACTUALES DE HARDWARE, Y LOS NUEVOS LENGUAJES DE PROGRAMACION IMPONEN NUEVOS REQUISITOS PARA EL DESARROLLO Y PUESTA EN MARCHA DE ESTE TIPO DE PROGRAMAS,POR EJEMPLO, ACTUALMENTE SABEMOS QUE UNA BASE DE DATOS DISTRIBUIDA NO PUEDE OFRECER EL MODELO DE COMPUTACION ASUMIDO EN LOS ESTUDIOS CLASICOSCONOCIDO COMO DE CONSISTENCIA FUERTE (STRONG CONSISTENCY)SI HA DE OFRECER A LA VEZ DISPONIBILIDAD INMEDIATA Y ADEMAS TOLERAR PARTICIONES DE LA RED,EN EL TERRENO DE LA CONCURRENCIA, UN PROGRAMA EFICIENTE MODERNO NO ESTA BASADO UNA IMPLEMENTACION DE LAS ESTRUCTURAS DE DATOS BASADAS EN CERROJOS, QUE SOLO PERMITEN A UN HILO DE EJECUCION ACCEDER, ASI, SE HAN DESARROLLADO NUEVOS MECANISMOS DE SINCRONIZACION QUE MEJORAR LA EFICIENCIA DE LOS PROGRAMAS, MINIMIZANDO EL TIEMPO DE CPU INVERTIDO INNECESARIAMENTE EN LOS MECANISMOS CLASICOS DE SINCRONIZACION, PARA ENTENDER ESTOS NUEVOS PROGRAMAS ES NECESARIO ENTENDER A SU VEZ LOS DETALLES PRECISOS DE BAJO NIVEL DE LA INTERACCION ENTRE LOS HILOS, LO CUAL ES UN NUEVO RETO COMPLICADO,ESTOS RETOS SON EXACERBADOS DEBIDO A QUE LOS PROGRAMADORES NO PUEDEN ABSTRAERSE EN MUCHOS CASOS DE ASPECTOS DE BAJO NIVEL DE LA PLATAFORMA HARDWARE DE EJECUCION, COMO POR EJEMPLO LA GESTION DE MEMORIA EN LOS PROCESADORES MULTICORE, DONDE NO PUEDE ASUMIRSE UN COMPORTAMIENTO DE CONSISTENCIA SECUENCIAL EN EL QUE UNA LECTURA DESPUES DE UNA ESCRITURA SIEMPRE DEVUELVE EL VALOR ESCRITO,EL OBJETIVO DE RISCO ES RELLENAR EL VACIO ENTRE LOS DETALLES DE BAJO NIVEL ESENCIALES PARA IMPLEMENTAR PROGRAMAS EN ARQUITECTURAS CONCURRENTES Y DISTRIBUIDAS MODERNAS, Y LAS ABSTRACCIONES DE ALTO NIVEL NECESARIAS PARA LA VERIFICACION FORMAL, PROPONEMOS ATACAR EL PROBLEMA UTILIZANDO UNA ESTRATEGIA DE 2 APROXIMACIONES SIMULTANEAS: 1, ESTUDIAREMOS HASTA QUE PUNTO ESTE VACIO PUEDE SOLUCIONARSE CON TECNICAS AUTOMATICAS, INVESTIGANDO LA COMPLEJIDAD COMPUTACIONAL DE LOS PROBLEMAS DE VERIFICACION PARA LOS MODELOS DE COMPUTACION CONCURRENTE Y DISTRIBUIDO MENCIONADOS, TAMBIEN DISEÑAREMOS PROCEDIMIENTOS DE DECISION PARA RAZONAR ACERCA DE TIPOS ABSTRACTOS DE DATOS EN ESTOS MODELOS, E IMPLEMENTAREMOS DICHOS PROCEDIMIENTOS DE DECISION EN HERRAMIENTAS, 2, TAMBIEN ESTUDIAREMOS SI ESTE VACIO PUEDE RELLENARSE CON ESTRATEGIAS DE DEMOSTRACION ASISTIDA DE TEOREMAS (O DEMOSTRACION INTERACTIVA), EN ESTA LINEA, EL RETO PRINCIPAL SERA DISEÑAR LAS ABSTRACCIONES DE DEMOSTRACION QUE MINIMICEN LA COMPLEJIDAD DE LAS DEMOSTRACIONES Y EL NUMERO DE OBLIGACIONES DE PRUEBA NECESARIOS, FACILITANDO ASI MANERA QUE LOS DESARROLLADORES PUEDAN ESCRIBIR DEMOSTRACIONES MATEMATICAS CON DEMOSTRADORES ASISTIDOS DE TEOREMAS,CONECTAREMOS LAS DOS ESTRATEGIAS, APROVECHANDO LOS RESULTADOS DE LA UNA EN LA OTRA: LAS ABSTRACCIONES DESARROLLADAS EN EL CAMPO DE LA DEMOSTRACION INTERACTIVA PUEDE UTILIZARSE PARA REDUCIR EL TAMAÑO Y LA COMPLEJIDAD DE LA OBLIGACIONES DE VERIFICACION, ANTES DE QUE ESTAS SEAN DESPACHADAS A LOS PROCEDIMIENTOS AUTOMATICOS, VICEVERSA, LOS PROCEDIMIENTOS DE DECISION PUEDEN SER IMPLEMENTADOS EN DEMOSTRADORES INTERACTIVOS, Y USADOS POR EL DESARROLLADOR PARA FACILITAR SU TAREA, VERIFICACIÓN FORMAL\MÉTODOS FORMALES\ANÁLISIS DE PROGRAMAS\CONCURRENCIA AVANZADA\SISTEMAS DISTRIBUIDOS\APLICACIONES DE LA LÓGICA AL SOFTWARE