Descripción del proyecto
EL DESARROLLO DE SOFTWARE ORIENTADO A ASPECTOS (ASPECT-ORIENTED SOFTWARE DEVELOPMENT, AOSD) PRETENDE MEJORAR LA MODULARIZACION DE LOS SISTEMAS COMPLEJOS, CON EL OBJETIVO DE REDUCIR LOS TIEMPOS DE DESARROLLO Y MANTENIMIENTO DE LOS PRODUCTOS FINALES HASTA PARAMETROS ACEPTABLES, DOS DE LOS PRINCIPALES PROBLEMAS QUE SE PONEN DE MANIFIESTO AL USAR TECNOLOGIAS DE DESARROLLO SOFTWARE TRADICIONALES SON LA DISPERSION DE PROPIEDADES ENTRE COMPONENTES ASI COMO SU ENTRELAZADO CON LA FUNCIONALIDAD BASICA, ESTO HACE QUE SE REDUZCA DRASTICAMENTE LA REUTILIZACION, LA MANTENIBILIDAD Y LA ADAPTABILIDAD DE LOS COMPONENTES DEL SISTEMA, LA TECNOLOGIA AOSD PROPONE SUPERAR ESTOS PROBLEMAS MODELANDO DICHAS PROPIEDADES EN UNA NUEVA ENTIDAD LLAMADA ASPECTO, AUNQUE EXISTEN NUMEROSAS PROPUESTAS DE ASPECTOS DESDE REQUISITOS HASTA IMPLEMENTACION, AUN NO PODEMOS HABLAR DE PROCESOS INTEGRADOS DE DESARROLLO ORIENTADOS A ASPECTOS QUE ABARQUEN TODAS LAS FASES DEL CICLO DE VIDA DEL SOFTWARE, Y LO QUE ES MAS IMPORTANTE, QUE DEFINA DE FORMA PRECISA Y/O AUTOMATIZADA COMO PASAR DE UNA PROPUESTA A OTRA, PARA SOLUCIONAR ESTAS LIMITACIONES, EL OBJETIVO DE ESTE PROYECTO ES PROPORCIONAR UN ENTORNO DE DESARROLLO INTEGRADO DE APLICACIONES ORIENTADAS A ASPECTOS, QUE ASISTA A LOS EQUIPOS DE DESARROLLO SOFTWARE EN LA CREACION Y MANTENIMIENTO DE PRODUCTOS DESDE REQUISITOS HASTA IMPLEMENTACION, CON EL OBJETIVO DE CONSEGUIR EL MAYOR GRADO DE AUTOMATIZACION POSIBLE Y DADO QUE EXISTEN DIVERSAS PROPUESTAS PARA CADA FASE DEL CICLO DE VIDA, UTILIZAREMOS UN ENFOQUE DE DESARROLLO DIRIGIDO POR MODELOS (MODEL-DRIVEN DEVELOPMENT, MDD), Y LO PONDREMOS AL SERVICIO DE LOS ¿ASPECTOS¿, LA RED DE EXCELENCIA AOSD-EUROPE DE LA QUE FORMAMOS PARTE, PERSIGUE OBJETIVOS SIMILARES, SIN EMBARGO, EN ESTA RED NO SE HA SEGUIDO UN ENFOQUE MDD, LO QUE HA IMPOSIBILITADO LA AUTOMATIZACION DEL PASO DE REQUISITOS A ARQUITECTURA, DE ARQUITECTURA A DISEÑO Y DE DISEÑO A IMPLEMENTACION, PARA FACILITAR ESTE PROCESO DE AUTOMATIZACION, CONCRETAMENTE IDENTIFICAREMOS LOS REQUISITOS ASPECTUALES MAS RECURRENTES Y A NIVEL DE ARQUITECTURA SOPORTAREMOS SU TRANSFORMACION EN LO POSIBLE SEGUN PATRONES ARQUITECTONICOS CON ASPECTOS, ESTOS PATRONES SE ESPECIFICARAN MEDIANTE LA DEFINICION DE PLANTILLAS DE CONECTORES ASPECTUALES PARA EL LENGUAJE DE DESCRIPCION DE ARQUITECTURA AO-ADL, LA ARQUITECTURA GENERADA SE REFINARA HASTA LLEGAR AL DISEÑO DETALLADO, UNA VEZ QUE OBTENGAMOS EL DISEÑO FINAL, EXPLORAREMOS TANTO SU TRANSFORMACION A CODIGO, COMO LA VERIFICACION DE LA CORRECION DE DICHO DISEÑO MEDIANTE SIMULACION, COMO CONTRIBUCION A LA SIMULACION DE MODELOS ORIENTADOS A ASPECTOS PRETENDEMOS EXTENDER EL LENGUAJE DE ACCIONES DE UML (ACTION SEMANTICS) CON CONCEPTOS PROPIOS DE LA TECNOLOGIA DE ASPECTOS, TAMBIEN ABORDAREMOS LA PROBLEMATICA DE LA TRAZABILIDAD Y ANALISIS DE DEPENDENCIAS ENTRE ASPECTOS A LO LARGO DEL CICLO DE VIDA, PARA LA VALIDACION DE RESULTADOS APLICAREMOS LA PROPUESTA AL DESARROLLO DE LINEA DE PRODUCTOS SOFWARE (FUNDAMENTALMENTE MODELANDO LAS PARTES VARIABLES DE UNA LINEA DE PRODUCTO COMO ASPECTOS), LOS AGENTES SOFTWARE (SISTEMAS ADAPTABLES QUE PUEDEN SER MAS RECONFIGURABLES GRACIAS AL USO DE ASPECTOS), Y LOS SISTEMAS EMPOTRADOS (SISTEMAS CON FUERTES REQUISITOS DE EVOLUCION, HETEROGENEIDAD Y ADAPTABILIDAD, QUE CLARAMENTE PUEDEN SATISFACERSE CON EL USO DE ASPECTOS), VALIDAREMOS CUANTITATIVAMENTE LOS BENEFICIOS DEL USO DE ASPECTOS EN LOS CASOS DE ESTUDIO ABORDADOS USANDO METRICAS ORIENTADAS A ASPECTOS PROPUESTAS EN LA LITERATURA, Desarrollo del Software Orientado a Aspe\Desarrollo Dirigido por Modelos\Proceso de Desarrollo Integrado\Arquitectura Software\Modelado Orientado a Aspectos\UML Ejecutable