Descripción del proyecto
LA PROGRAMACION DISTRIBUIDA Y CONCURRENTE ESTA EVOLUCIONANDO MUY DEPRISA EN LAS ULTIMAS DECADAS DEBIDO PRINCIPALMENTE AL USO CADA VEZ MAS EXTENDIDO DE PROCESADORES MULTI-CORE Y A SU EFECTO EN LAPRODUCCION DE SOFTWARE. POR TODO ELLO, RESULTA MUY INTERESANTE Y DECISIVO EL PROBLEMA DE DESARROLLAR TECNICAS PARA ENTENDER, ANALIZAR Y VERIFICAR EL COMPORTAMIENTO DE DICHOS PROGRAMAS. LOS LENGUAJES DE PROGRAMACION QUE SOPORTAN CONCURRENCIA DIFIEREN PRINCIPALMENTE EN EL MODELO DE CONCURRENCIA SUBYACENTE. SE PUEDEN DISTINGUIR DOS GRANDES MODELOS: EL BASADO EN HILOS (MULTITHREADED) Y EL BASADO EN OBJETOS CONCURRENTES. EN EL PRIMERO, TIPICO POR EJEMPLO DEL LENGUAJE JAVA, SE PROPORCIONAN AL PROGRAMADOR SOFISTICADOS MECANISMOS QUE LE PERMITEN CONTROLAR TODOS LOS ASPECTOS DE UN HILO (THREAD) DEL PROGRAMA. EN EL SEGUNDO MODELO SOLO SE FACILITAN MECANISMOS DECONCURRENCIA DE ALTO NIVEL, SIN CENTRARSE EN LAS PRIMITIVAS DE CONCURRENCIA SUBYACENTES. PESE A QUE LOS MODELOS BASADOS EN HILOS SON MAS EXPRESIVOS QUE LOS BASADOS EN OBJETOS CONCURRENTES, EL USO DE PRIMITIVAS DE BAJO NIVEL PARA CONTROLAR LAS HEBRAS HACE QUE LAS HERRAMIENTAS EXISTENTESDE ANALISIS ESTATICO PARA ESTE MODELO SEAN A MENUDO POCO PRECISAS E INEFICIENTES PARA TRATAR PROGRAMAS DE CIERTO TAMAÑO. POR EL CONTRARIO, EL MODELO DE OBJETOS CONCURRENTES, AUNQUE ESMAS RESTRICTIVO, ES SUFICIENTE PARA MODELAR EL COMPORTAMIENTO DE GRAN CANTIDAD DE APLICACIONES, COMO POR EJEMPLO LOS SISTEMAS DISTRIBUIDOS. ADEMAS, DEBIDO A SU RELATIVA SENCILLEZ, ES MASFACIL DESARROLLAR ANALISIS ESTATICOS DE UNA EFICIENCIA Y ESCALABILIDAD ACEPTABLES.EN ESTE SUBPROYECTO ESTUDIAREMOS Y DESARROLLAREMOS, PARA AMBOS MODELOS DE CONCURRENCIA, DISTINTOS ANALISIS ESTATICOS QUE NOS PERMITIRAN VERIFICAR DE FORMA AUTOMATICA PROPIEDADES CONCRETAS DE UN PROGRAMA EN TIEMPO DE EJECUCIṕN. PARA EL MODELO DE OBJETOS CONCURRENTES TENDRA ESPECIALRELEVANCIA LOS ANALISIS ESTATICOS ORIENTADOS A OPTIMIZAR LA DISTRIBUCION DE TAREAS ENTRE PROCESADORES DE TAL MANERA QUE LA EJECUCION DE LA APLICACION DISTRIBUIDA SEA EFICIENTE. PARA CONSEGUIR ESCALABILIDAD, INTRODUCIREMOS TECNICAS DE ANALISIS MODULAR E INCREMENTAL, QUE PERMITEN REUTILIZAR PARTE DE LA INFORMACION INFERIDA CON ANTERIORIDAD. PARA EL MODELO MULTIHILO, QUE HABITUALMENTE NO PONE RESTRICCIONES SOBRE EL USO DE LAS PRIMITIVAS DE CONCURRENCIA POR LO QUE LAS TECNICAS DE ANALISIS ESTATICO SE VUELVEN INVIABLES, IDENTIFICAREMOSCIERTOS PATRONES SOBRE LOS CUALES APLICAR LOS ANALISIS ESTATICOS DESARROLLADOS PARA EL MODELO DE OBJETOS. TODOS LOS RESULTADOS TEORICOS SERAN IMPLEMENTADOS DENTRO DE UN PROTOTIPO A TRAVES DEL CUAL PODREMOS OBSERVAR LA PRACTICABILIDAD DE LOS ANALISIS PROPUESTOS.