Separación dinámica de aspectos independiente del lenguaje y plataforma mediante el uso de reflexión computacional
Autor(es) y otros:
Director(es):
Centro/Departamento/Otros:
Fecha de publicación:
Descripción física:
Resumen:
El principio de la Separación de incumbencias o competencias se fundamenta en separar las partes principales de una aplicación de aquellas con un concepto o propósito especial típicamente ortogonal a la funcionalidad principal, construyendo las aplicaciones finales mediante la unión del código de su funcionalidad más el de sus incumbencias de dominio específico. El Desarrollo de Software Orientado a Aspectos (DSOA) es una de las aproximaciones a este principio. El DSOA ofrece soporte directo en el lenguaje para modularizar incumbencias que cortan transversalmente al código de la funcionalidad básica de la aplicación. Separando esta funcionalidad de los aspectos ortogonales, el código de la aplicación no estará entremezclado, siendo más fácil de mantener, depurar y modificar. Ejemplos de incumbencias transversales típicas son la persistencia, autenticación, logging, etc. La mayoría de los sistemas que ofrecen DSOA son estáticos: una vez que la aplicación se ha generado sus aspectos no se pueden adaptar en tiempo de ejecución. Sin embargo, en determinados escenarios es necesario poder adaptar una aplicación en ejecución en respuesta a cambios del entorno. Además, pueden surgir nuevos requerimientos cuando el sistema está ejecutándose, no siendo posib le detenerlo. Existe una serie de sistemas que ofrecen DSOA de forma dinámica, pero restringen la forma en que se pueden adaptar las aplicaciones, y muchos de ellos no ofrecen una adaptabilidad plena en tiempo de ejecución. Adicionalmente, la mayoría de los sistemas existentes (ya sean dinámicos o estáticos) presentan una restricción muy importante como es la dependencia del lenguaje: sólo se puede utilizar un lenguaje fijado por el sistema. En esta Tesis Doctoral se presenta un sistema DSOA que ofrece una adaptación dinámica plena sin sufrir dependencias de una plataforma específica, permitiendo la utilización de diversos lenguajes de programación. La reflexión computacional (...)
El principio de la Separación de incumbencias o competencias se fundamenta en separar las partes principales de una aplicación de aquellas con un concepto o propósito especial típicamente ortogonal a la funcionalidad principal, construyendo las aplicaciones finales mediante la unión del código de su funcionalidad más el de sus incumbencias de dominio específico. El Desarrollo de Software Orientado a Aspectos (DSOA) es una de las aproximaciones a este principio. El DSOA ofrece soporte directo en el lenguaje para modularizar incumbencias que cortan transversalmente al código de la funcionalidad básica de la aplicación. Separando esta funcionalidad de los aspectos ortogonales, el código de la aplicación no estará entremezclado, siendo más fácil de mantener, depurar y modificar. Ejemplos de incumbencias transversales típicas son la persistencia, autenticación, logging, etc. La mayoría de los sistemas que ofrecen DSOA son estáticos: una vez que la aplicación se ha generado sus aspectos no se pueden adaptar en tiempo de ejecución. Sin embargo, en determinados escenarios es necesario poder adaptar una aplicación en ejecución en respuesta a cambios del entorno. Además, pueden surgir nuevos requerimientos cuando el sistema está ejecutándose, no siendo posib le detenerlo. Existe una serie de sistemas que ofrecen DSOA de forma dinámica, pero restringen la forma en que se pueden adaptar las aplicaciones, y muchos de ellos no ofrecen una adaptabilidad plena en tiempo de ejecución. Adicionalmente, la mayoría de los sistemas existentes (ya sean dinámicos o estáticos) presentan una restricción muy importante como es la dependencia del lenguaje: sólo se puede utilizar un lenguaje fijado por el sistema. En esta Tesis Doctoral se presenta un sistema DSOA que ofrece una adaptación dinámica plena sin sufrir dependencias de una plataforma específica, permitiendo la utilización de diversos lenguajes de programación. La reflexión computacional (...)
Otros identificadores:
Notas Locales:
Tesis 2007-155
Colecciones
- Tesis [7513]