Descripción del proyecto
ACTUALMENTE ASISTIMOS A LA APARICION DE NUEVOS TIPOS DE APLICACIONES, CADA VEZ MAS COMPLEJAS, INHERENTEMENTE DISTRIBUIDAS, Y QUE SE EJECUTAN EN ENTORNOS HETEROGENEOS Y CONSTANTEMENTE CAMBIANTES, EJEMPLOS DE DICHAS APLICACIONES SON LOS SISTEMAS DE TIEMPO REAL, LAS APLICACIONES MOVILES Y PERVASIVAS, Y LOS SISTEMAS PEER-TO-PEER, ENTRE OTROS, QUE PRECISAN SER ADAPTABLES, FLEXIBLES, RECONFIGURABLES Y AUTO-GESTIONABLES, EL PROBLEMA ES QUE ESTOS REQUISITOS NO SOLO LOS HACEN MAS PROCLIVES A ERRORES, SINO QUE TAMBIEN DIFICULTAN SU DISEÑO, ANALISIS E IMPLEMENTACION, ESTO ES AUN MAS IMPORTANTE EN ENTORNOS DE EJECUCION EN LOS QUE LA CALIDAD DE SERVICIO (QOS) CAMBIA CONTINUAMENTE (COMO SUCEDE POR EJEMPLO EN LAS APLICACIONES MOVILES O UBICUAS, ESPECIALMENTE SOBRE INTERNET), HASTA AHORA LA MAYOR PARTE DE LOS ESFUERZOS DE LA COMUNIDAD DE INGENIERIA DEL SOFTWARE SE HAN CENTRADO EN EL DESARROLLO DE MIDDLEWARES Y OTRAS TECNOLOGIAS RELACIONADAS QUE OFRECEN UN CONJUNTO DE PRIMITIVAS Y SERVICIOS PARA PERMITIR EL DESARROLLO DE ESTE TIPO DE SISTEMAS, SIN EMBARGO, CONTAR CON ESE TIPO DE INFRAESTRUCTURA Y TECNOLOGIAS NO ES SUFICIENTE, PUES LA COMPLEJIDAD INTRINSECA DE ESOS SISTEMAS DIFICULTA ENORMEMENTE SU ANALISIS Y VALIDACION (PROCESOS ESENCIALES EN EL CASO DE MUCHOS SISTEMAS EMPOTRADOS, SOBRE TODOS LOS QUE SE UTILIZAN PARA CONTROLAR Y GESTIONAR DISPOSITIVOS CRITICOS EN AVIONES, AUTOMOVILES, TRENES, O BIEN EN CENTRALES NUCLEARES), LA SITUACION SE COMPLICA AUN MAS EN EL CASO EN QUE LAS APLICACIONES SE EJECUTAN EN ENTORNOS CON CONDICIONES CAMBIANTES DE CALIDAD DE SERVICIO, EN DONDE SON PRECISOS ADEMAS CONTAR CON MECANISMOS DE MONITORIZACION EN TIEMPO REAL Y AUTO-ADAPTACION DE ACUERDO A LAS CONDICIONES EN CADA MOMENTO,EL OBJETIVO DEL PRESENTE PROYECTO ES ELEVAR EL NIVEL DE ABSTRACCION EN EL QUE SE ESPECIFICAN, DISEÑAN, DESARROLLAN, ANALIZAN, MONITORIZAN Y AUTO-ADAPTAN LAS APLICACIONES EMPOTRADAS Y DE TIEMPO REAL, MEDIANTE EL USO DE: (1) TECNICAS DE DESARROLLO DE SOFTWARE DIRIGIDO POR MODELOS (MDD) PARA EXPRESAR LOS MODELOS DE ALTO NIVEL Y GENERAR AUTOMATICAMENTE A PARTIR DE ELLOS TANTO LAS IMPLEMENTACIONES CONCRETAS COMO EL CODIGO DE MONITORIZACION Y AUTO-ADAPTACION DE LAS APLICACIONES; (2) METODOS FORMALES TANTO PARA ANALIZAR LOS SISTEMAS COMO PARA GARANTIZAR QUE LOS CODIGOS DE MONITORIZACION Y ADAPTACION SON CORRECTOS,EN PRIMER LUGAR, USAREMOS TECNICAS DE MDD PARA ESPECIFICAR TODAS LAS PARTES Y ASPECTOS DE LOS SISTEMAS A DESARROLLAR AL NIVEL DE ABSTRACCION ADECUADO EN CADA CASO, SEPARANDO LOS ASPECTOS FUNCIONALES DE LOS NO FUNCIONALES, Y LOS INDEPENDIENTES DE LAS PLATAFORMAS TECNOLOGICAS DE LOS QUE DEPENDEN DE ELLAS, ASIMISMO, SE ESPECIFICARAN LAS TRANSFORMACIONES QUE PERMITAN GENERAR LAS IMPLEMENTACIONES A PARTIR DE LOS MODELOS DE ALTO NIVEL, EN SEGUNDO LUGAR, PRETENDEMOS INVESTIGAR EL USO DE TECNICAS DE MDD PARA VALIDAR Y MONITORIZAR EL FUNCIONAMIENTO DE LAS APLICACIONES DURANTE SU EJECUCION, ALGO QUE NO HA SIDO EXPLORADO A FONDO Y QUE PUEDE REPORTAR IMPORTANTES VENTAJAS Y BENEFICIOS, FINALMENTE, NUESTRO TERCER OBJETIVO ES EL DISEÑO E IMPLEMENTACION DE LOS MECANISMOS DE ADAPTACION AUTOMATICA A PARTIR DE LA INFORMACION QUE SUMINISTRAN LOS MONITORES DURANTE LA EJECUCION DE LAS MISMAS,LA PROPUESTA SERA PROBADA Y VALIDADA MEDIANTE EL DESARROLLO DE DOS APLICACIONES REALES DE CIERTA ENVERGADURA EN DOS DOMINIOS DISTINTOS, COMO SON LA MONITORIZACION AMBIENTAL EN CENTRALES INDUSTRIALES Y LA TELEFONIA MOVIL EN EL CONTEXTO DE LAS CASAS INTELIGENTES, Desarrollo de software dirigido por mode ransformationes de modelosmonitorizacion de softwaresistemas empotrados y de tiempo real