Vous êtes sur la page 1sur 3

Programacin Generativa Canseco Gutirrez Ana Silvia http://www.issi.uned.es/doctorado/generative/Bibliografia/TesisCzarnecki.

pdf

Introduccin En la actualidad los desarrolladores de sistemas de informacin se encuentran con diversas problemticas a la hora de realizar sistemas de informacin, principalmente al momento de estructurar el cdigo por lo cual surge la necesidad de una tcnica para generar automticamente el cdigo para evitar el trabajo tedioso de escribir y ajustar repetidamente el cdigo. En este breve ensayo mencionaremos un tipo de programacin el cual nos ayuda a resolver esta problemtica, este tipo de programacin se le conoce como Generative Programming (Programacin Generativa). La programacin generativa tiene como objetivo crear componentes de software, el cual, despus de la configuracin adecuada, generar sistemas u otros componentes. Esto permite construir familias de productos (o lneas de producto) de los cuales varios sistemas concretos se pueden crear. En comparacin con los marcos, esto tiene la ventaja de que la configuracin se lleva a cabo antes de tiempo de ejecucin, mejorando el rendimiento en tiempo de ejecucin. Desarrollo Comenzaremos definiendo la programacin generativa como un estilo de programacin la cual hace uso de herramientas que automatizan la creacin de cdigo fuente a travs de frames, clase, prototipos, plantillas y generadores de cdigo para mejor la productividad al momento de programar. A menudo se relaciona con temas de reutilizacin de cdigo o como componente basado en la ingeniera del software. Se dice que el objetivo principal de la programacin generativa es sustituir la bsqueda manual, la adaptacin y montaje de componentes con la generacin automtica de los componentes necesarios de la demanda, de igual manera puede aumentar la productividad, la calidad y el tiempo de salida al mercado de desarrollo de software gracias a la implementacin de ambos componentes estndar y automatizacin de la produccin. Un cambio de paradigma importante implicado al momento de desarrollar software es la generacin de cdigo a travs de herramientas en lugar de generarlo manualmente. Para ello es necesario pensar en trminos de familias de sistemas en lugar de los sistemas individuales. Otro importante cambio es sustituir bsqueda manual, la adaptacin y montaje de componentes con la generacin automtica de los componentes necesarios de la demanda de software.

Herramientas Automatizadas

2NM50

Programacin Generativa Canseco Gutirrez Ana Silvia http://www.issi.uned.es/doctorado/generative/Bibliografia/TesisCzarnecki.pdf

La ingeniera de software generativa trata de integrar los enfoques de ingeniera de dominio, los enfoques basados en componentes y enfoques generativos. Este tipo de ingeniera maneja ciertos principios los cuales mencionaremos a continuacin: El primero es la separacin de problemas, mencionando que cada uno se debe separar para despus generar un conjunto de cdigo distinto el cual se combina para generar un componente final. El segundo es la parametrizacin de diferencias, la cual permite representar de forma compacta cada uno de los componentes. El tercer principio es de anlisis y modelizacin de las dependencias e interacciones, se hace uso de este principio debido a que no todas las combinaciones de valores de los parmetros son generalmente vlidas, y los valores de algunos parmetros pueden implicar los valores de otros parmetros. Estas dependencias se conocen como conocimiento configuracin horizontal, puesto que se encuentran entre los parmetros en un nivel de abstraccin. El siguiente consiste en la separacin de espacio del problema del espacio de soluciones, esto para generar ms software generativo. En este principio los conocimientos de configuracin se utilizan para asignar entre el espacio del problema y de la solucin de espacio. Por ltimo el principio de la eliminacin de los gastos generales y la realizacin de dominios especficos de optimizaciones, el cual genera componentes en tiempo de ejecucin, gran parte de los gastos generales debido al cdigo no utilizado, controles de tiempo de ejecucin, y los niveles de rodeos innecesarios pueden ser eliminados. Las tcnicas DSLs se utilizan para mejorar la intencionalidad del cdigo del programa, y para habilitar las optimizaciones especficas de dominio y comprobacin de errores. La programacin generativa funciona si cumple con los siguientes puntos: 1. Los componentes de ejecucin se ajustan a una arquitectura de producto de lnea comn. 2. El conocimiento de configuracin indica cmo traducir requisitos abstractos en componentes especficos. 3. Poner en prctica los conocimientos de configuracin mediante generadores. Por mencionar algn ejemplo de este tipo de programacin tenemos uno conocido como Jenerator, el cual nos permite generar cdigo del lenguaje java, proporcionndonos clases para crear clases, mtodos, miembros, interfaces, etc.

Herramientas Automatizadas

2NM50

Programacin Generativa Canseco Gutirrez Ana Silvia http://www.issi.uned.es/doctorado/generative/Bibliografia/TesisCzarnecki.pdf

Conclusin Para los programadores el uso de la programacin generativa se est volviendo algo muy comn, ya que este tipo de programacin ofrece grandes beneficios como la disminucin de tiempo al momento de desarrollar software, al igual que el aumento de calidad del producto final. Este tipo de programacin es confundida a menudo con la reutilizacin de cdigo lo cual es completamente falso, esta programacin lo que hace es el uso de distintas herramientas para la generacin de cdigo ya sean frames, plantillas y/o dispositivos. Para concluir la programacin generativa es algo muy til que genera grandes beneficios tanto a los programadores como a las empresas pero sobretodo a los programadores a quienes brinda tcnicas para resolver problemas en grupos de trabajo y no solo individualmente logrando as mejorar el proceso de desarrollo de software.

Herramientas Automatizadas

2NM50

Vous aimerez peut-être aussi