ebook img

Marco de trabajo para el desarrollo de arquitecturas software orientado a aspectos PDF

362 Pages·2008·2.73 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Marco de trabajo para el desarrollo de arquitecturas software orientado a aspectos

MMaarrccoo ddee ttrraabbaajjoo ppaarraa eell ddeessaarrrroolllloo ddee aarrqquuiitteeccttuurraass ssooffttwwaarree oorriieennttaaddoo aa aassppeeccttooss TESIS DOCTORAL Departamento de Ingeniería de Sistemas Informáticos y Telemáticos Universidad de Extremadura Dirigida por: Presentada por: D. Juan Manuel Murillo Rodríguez Dña. Amparo Navasa Martínez Titular de Universidad para optar al grado de Doctor Área de Lenguajes y Sistemas Informáticos en Ingeniería Informática Cáceres, Diciembre 2008 Edita: Universidad de Extremadura Servicio de Publicaciones Caldereros 2. Planta 3ª Cáceres 10071 Correo e.: [email protected] http://www.unex.es/publicaciones D. Juan Manuel Murillo Rodríguez, Titular de Universidad en el Área de Lenguajes y Sistemas Informáticos del Departamento de Ingeniería de Sistemas Informáticos y Telemáticos de la Universidad de Extremadura Certifica que Dña. Amparo Navasa Martínez, Licenciada en Matemáticas, ha realizado en el Departamento de Ingeniería de Sistemas Informáticos y Telemáticos de la Universidad de Extremadura, bajo mi dirección, el trabajo de investigación correspondiente a su Tesis Doctoral titulada Marco de trabajo para el desarrollo de arquitecturas software orientado a aspectos Revisado el presente trabajo, estimo que puede ser presentado al tribunal que ha de juzgarlo y autorizo la presentación de esta Tesis Doctoral en la Universidad de Extremadura Cáceres a 15 de Julio de 2008 Fdo.: Juan Manuel Murillo Rodríguez Titular de Universidad Área de Lenguajes y Sistemas Informáticos Universidad de Extremadura AAggrraaddeecciimmiieennttooss Esta tesis doctoral es la culminación de muchos años de trabajo, que no hubiera podido llevar a cabo sin el apoyo y la ayuda de mi familia, mis amigos y mis compañeros. A todos ellos quiero agradecer el haber estado siempre ahí, en los buenos y en lo malos momentos, que han sido muchos. No puedo, ni debo dejar de mencionar a mi director de tesis, Juan Manuel, y la confianza que depositó en mí al empezar a trabajar juntos. Sólo él sabe la dedicación y el tiempo que ha supuesto dirigir mis pasos, dándome siempre libertad para aportar mis ideas a lo largo de estos años. Una mención especial tiene que ser para mi familia, mi marido y mis hijos, que, casi sin comprender lo que hacía, han estado siempre cerca apoyándome, dándome ánimos y como no, soportando mi estrés, mis viajes y mi dedicación a la tesis, en lugar de a ellos. A mis padres, que veían con preocupación que el trabajo me quitaba el tiempo que tenía que dedicar a vivir. Gracias, ellos me han dado fuerzas para seguir luchando. Prometo compensar todas esas carencias que en ningún momento me han reprochado. Espero que no sea demasiado tarde. Quiero nombrar aquí a mis amigos y compañeros de fatigas, Miguel Ángel, Marisol, Pedro, Pedro Luís y Myriam, que me han soportado estos largos años de angustias y de algunos triunfos. A pesar de todo, me quedo con los buenos ratos que hemos pasado, sus consejos y sus ánimos. Sin ellos, probablemente hubiera tirado la toalla hace tiempo. Quiero agradecer los comentarios y revisiones que han realizado sobre los borradores de esta tesis. Un recuerdo merecen los alumnos que a lo largo de estos años han trabajado conmigo. De entre ellos, destacaría, por ser los últimos, a Maria, Iván y Cristina, que me han facilitado el trabajo y, tras el tiempo que hemos compartido, creo que puedo decir que somos amigos. Esta tesis es fruto del tesón y del trabajo. Quiero dar gracias a Dios por darme fuerza para soportar todos los contratiempos y tantos años de sinsabores. Por fin, hoy presento este trabajo, que debe ser el punto de partida para afrontar nuevos retos. A la memoria de mi padre A mi fmilia RReessuummeenn La gestión de sistemas de software complejos es uno de los retos más importantes de la Ingeniería del Software (IS). El ingeniero de software debe afrontar el desarrollo de sistemas software cada vez más complejos y con requisitos más estrictos. Además, el mundo real cambia, evoluciona y los sistemas deben adaptarse a él para seguir siendo útiles. Por esta razón, la adaptación debe realizarse de manera sencilla; los ingenieros de software deben encontrar técnicas y herramientas que se lo permitan. Sin embargo, los métodos tradicionales (métodos estructurados o paradigmas orientados a objetos) sólo permiten una reconfiguración y adaptación parcial de los sistemas. Se han considerado muchas soluciones a esta cuestión, siendo la separación de aspectos una de ellas. La Programación Orientada a Aspectos se propuso como una manera de aplicar la separación de aspectos, tratando de superar las limitaciones de la Programación Orientada a Objetos. Desde entonces, la Programación Orientada a Aspectos y otras técnicas centradas en la modularización del código transversal se agruparon bajo el nombre de “Separación avanzada de intereses (concerns)”. La idea es extraer el código relacionado con los crosscutting concerns (un concern captura los requisitos que atraviesan múltiples módulos en un sistema), que está disperso a lo largo del código del sistema, en módulos independientes. Esta separación evita el código enmarañado y permite la reutilización de un aspecto. En muchos trabajos de investigación, los aspectos se consideran como una parte importante del proceso de desarrollo de los sistemas complejos y proponen técnicas para extraerlos de una manera efectiva. Muchos de estos métodos Orientados a Aspectos se centran principalmente en la especificación y extracción de éstos en el diseño detallado o en el nivel de implementación, prestando menos atención al impacto de los aspectos en las primeras fases del ciclo de vida. Desarrollo de Software Orientado a Aspectos (DSOA) es la denominación utilizada para referirse a las técnicas y tecnologías de modularización de los crosscutting concerns a lo largo del ciclo de vida. Por otra parte, los nuevos métodos de la Ingeniería del Software consideran a la Arquitectura del Software (AS) como una parte importante de la etapa de diseño que ayuda a controlar la complejidad de los sistemas. En ella éstos se definen como un conjunto de componentes que describen su funcionalidad a alto nivel y se conectan a través de un conjunto de conectores arquitectónicos. Durante el diseño arquitectónico se lleva a cabo la definición estructural del sistema. El interés de definir un diseño arquitectónico Orientado a Aspectos surge cuando se observa que los crosscutting concerns atraviesan también a los componentes arquitectónicos. Además, considerar los aspectos en esta fase facilita la gestión de la evolución al poder considerarlos artefactos software. Por ello, es necesario disponer de mecanismos que permitan identificar los aspectos durante la arquitectura del software. A su vez, el Desarrollo Software Basado en Componentes (DSBC) es otro paradigma de la ingeniería del software que pretende facilitar la construcción de grandes sistemas software de calidad, que evolucionen fácilmente, reduciendo el coste y el tiempo de los desarrollos. La filosofía de DSBC puede provocar un cambio en cuanto a la forma de afrontar los desarrollos, pasándose de considerar líneas de código a la definición de modelos. El uso combinado de los paradigmas y disciplinas mencionadas (DSOA, AS y DSBC) puede facilitar el desarrollo de sistemas software complejos, proporcionándose métodos, procedimientos y herramientas. El trabajo que aquí se presenta considera conjuntamente el Desarrollo de Sistemas Orientado a Aspectos, la Arquitectura del Software y las características generales del Desarrollo de Sistemas Basado en Componentes. Así, el objetivo de esta tesis es proporcionar un marco de trabajo para el desarrollo de sistemas software orientado a aspectos (AOSA Space), que está formado por un modelo arquitectónico: AOSA Model, una metodología de trabajo, un lenguaje de descripción arquitectónica (LDA) orientado a aspectos y una herramienta para su utilización. El modelo propone hacer una especificación estructural de un sistema orientado a aspectos (OA) considerando los aspectos como entidades de primera clase, concretamente como componentes arquitectónicos. AOSA Model se basa en un LDA convencional y un modelo de coordinación. Sin embargo, surge un problema al tratar de representar sistemas OA pues los LDA convencionales no soportan conceptos de OA. Además se ha considerado fundamental que la inserción de los aspectos se realice observando el principio de inconsciencia. De este modo, los componentes que constituyen el sistema en el que se insertan los aspectos no cambian. Además, para resolver el problema de la ejecución coordinada de componentes y aspectos, en AOSA Model se ha considerado un modelo de coordinación; concretamente Coordinated Roles que se basa en protocolos de notificación de eventos. Por otra parte, hay varias propuestas para desarrollar sistemas OA a lo largo del ciclo de vida, pero sólo algunas de ellas proporcionan un soporte lingüístico. A lo largo de este trabajo se ha considerado interesante dotar a los sistemas OA de un soporte formal, igual que se hace en el desarrollo de sistemas convencionales. Así, igual que los sistemas convencionales se representan en esta etapa mediante LDA, los sistemas OA deberían expresarse también mediante LDA adecuados. En este trabajo se muestra cómo es posible dotar al proceso de desarrollo de un sistema OA de un soporte lingüístico durante la fase de diseño arquitectónico. En otro orden de cosas, los sistemas software tienen que adaptarse al mundo cambiante en el que se definen. Por ello, cuando se trabaja desde el punto de vista de la evolución de los sistemas, es especialmente interesante considerar que los componentes que forman el sistema a actualizar no cambien al incluir nuevos requisitos. En estos casos, tales modificaciones pueden considerarse como aspectos, por lo que se podrían aplicar los principios de DSOA. Por ello, cuando la evolución se trata desde la fase de diseño arquitectónico se puede aplicar AOSA Space, pues también facilita la evolución de los sistemas complejos, su representación formal y el chequeo de la arquitectura obtenida.

Description:
Descomposición del sistema en componentes de diseño . herramientas de soporte: los diseños de Rapide también se pueden probar con Aladdin
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.