domingo, 1 de diciembre de 2013

TERCER PARCIAL


PROGRAMACION GENERATIVA

La programación generativa son una serie de técnicas de desarrollo de software que combina la generación de programas con el desarrollo basado en componentes. Otra forma con la que se conoce es como desarrollo de software orientado en aspectos. Esta programación aborda uno de los problemas mayores del diseño de software, esto es, la separación de intereses. Los intereses son un principio básico. Esto se refiere a que cada componente de un programa tiene una tarea diferente. Es decir en un software de editor de texto por ejemplo, un componente se dedica a la elaboración de documento y otro componente a la impresión, otro componente a la búsqueda de documentos y así sucesivamente. El problema actual es que muchas veces estos componentes no están bien definidos y se afectan entre todos. En este tipo de programación los intereses se programan como aspectos.  Y dentro de la programación se definen donde se deben asociar estos aspectos. A esto se le conoce como puntos de enlace. Los aspectos se desarrollan en forma separada. El entrelazado de aspectos es una forma de generación de programas.
(Recopilado del libro Ingeniería del Software, Ian Sommerville, 2005).
Actualmente este tipo de programación esta en investigación y todavía no se genera un desarrollo para la industria. Ya que existen problemas con esta programación uno de ellos es que el código generado nunca es tan eficiente como el código escrito manualmente. Se necesitan mejores conocimientos sobre las relaciones de aspectos y las propiedades no funcionales del sistema. Sin embargo se espera que en unos años esta programación se convierta en un aspecto importante en la reutilización de software.
La programación generativa incluye los aspectos de: programación orientada a aspectos, líneas de producción de software, programación funcional, programación genérica, meta-programacion,generadores, programación intencional, componentes de software, programación automática, arquitecturas reconfigurables, entre otras.
(Consultar astreo.ii.uam.es/~jlara/doctorado.2006/intro_DSDM.pdf).
La programación automática pretende que sea el propio ordenador o software el que escriba los programas que necesitan las personas, siguiendo las indicaciones de estas. Haciendo que la tarea para los programadores sea más sencilla. Todo esto se ha logrado gracias a que desde la aparición de las computadoras, los investigadores han buscado la forma de simplificar el trabajo a los programadores. Creando diversos software y formas de desarrollo del mismo. Una de las dificultades de lograr la programación automática es que los programas generados serían muy largos y difíciles de comprender.



No hay comentarios:

Publicar un comentario