Generadores de Codigo - Ideas sobre Inteligencia Artificial y Codigo Generado

7 - Ideas sobre Inteligencia Artificial y Codigo Generado

[editar]
Curso gratis creado por Vieravictor Balanta.
07 de Marzo de 2006
 Y LA GENERACIÓN DE CÓDIGO

Unas de las definiciones sobreinteligencia artificial son las siguientes:

-    Unos dicen que es hacer que las computadoras piensen (Haugeland 1985)
Automatización de actividades que se vinculan con procesos de pensamiento humano (Bellman 1978)
-    Automatización de la conducta inteligente (Luger  Stubblefield 1993)

El objetivo que persigue este capítulo es brindar algunas ideas, desde el punto de vista del autor, sobre la combinación de la Inteligencia Artificial y la generación de código.

El factor crítico a la hora de la construcción de un generador de código es la tarea bastante difícil de la automatización de la codificación de las reglas del negocio. Los planteamientos hasta el momento sobre generación de código del presente libro, tratan sobre la generación de código para aquellas capas de una arquitectura que no pertenecen a la codificación de las reglas del negocio. Como ejemplo de estas capas tenemos:

La capa de acceso a datos Los procedimientos de inserción, modificación y actualización. La generación de las clases con sus atributos y la declaración de los métodos. Los métodos solamente se declaran. Algunos tipos de procedimientos almacenados de consulta. Inclusive se ha planteado la generación de la capa de presentación, con unos estándares previamente definidos. Scripts de Creación de la base de datos y sus objetos.

La capa donde se codifican las reglas del negocio, esta capa es llamada habitualmente BL (Business Logic), es la capa donde se concentra la mayor complejidad de la codificación de software; y que decir cuando las reglas del negocio afectan el comportamiento de los eventos en formularios y ventanas.

                         

Figura 7.1. Arquitectura de una aplicación basada en el enfoque de capas. 

Para un ejemplo de reglas del negocio  se puede pensar en un programa para nómina con que ,entre otras, tiene estas dos Características:
-  Cuando los trabajadores pertenecen a arreas administrativas el pago se realiza quincenalmente. A los trabajadores de contratos por prestación de servicios el pago se realiza mensualmente.
-  Para algunos trabajadores que tienen prestamos se les hace un descuento de una cuota mensual, quincenal o semanal; dependiendo del área y tipo de contrato del trabajador.
-  A los trabajadores con contrato de prestación de servicios no se les debe cobrar los aportes de salud y pensión.

Pero el interrogante a resolver es: ¿ se puede construir un generador de código "inteligente" capaz de ayudar en la generación de código para la capa dereglas del negoció?

El primer concepto que se abordará será el de los Agentes. Específicamente programas agentes. El agente en su estructura más simple seria:

Aquel que acepta percepciones desde un ambiente y genera acciones respectivas. Para nuestro enfoque seria: La aceptación de las reglas del negocia y la generación del código para el lenguaje respectivo.

              
               Figura 7.2. Posible agente generador de código

Este hipotetico agente generador de código consta de un almacenador de Reglas del negocio, donde las percibe y almacena. Un estado del mundo o sintaxis del lenguajes de programación actualizada por versiones. Las reglas de codificación, acción representada en código a generar y el motor generador de código.

SISTEMAS EXPERTOS

En lo que se refiere a la teoria de los sistemas expertos, estos concuerdan con la idea de software para hacer software.

Los sistemas expertos encapsulan el conocimiento de una persona en un campo especifico. Con este conocimiento los sistemas expertos pueden solucionar problemas, tomar decisiones y hasta perfeccionar su comportamiento e incrementar su conocimiento.

En un acercamiento a un hipotetico sistema experto generador de código, que encapsule las habilidades de un programador con experiencia y pueda crear software.

El cuestionamiento aquí es el siguiente: ¿se puede desarrollar un sistema experto que cumpla con la teoria de: "Programas con un nivel habilidades profesionales,similares a las de una persona experta en un area especifica" ?

Se puede pensar en la construcción de un sistemas experto que contenga el conocimiento y la experiencia de un habilidoso programador. Por supuesto actualmente esto puede sonar un poco lejano, pero es necesario el contemplamiento de otros enfoques en el campo de la ingeniería del software.

Las ideas presentes en este capitulo tratan de incentivar a los desarrolladores, estudiantes,  profesionales a plantear nuevas alternativas para los proceso de actuales de construcción de software. 

[editar]

2 opiniones

oracle 9i

deberian de abrir un curso de oracle 9i seria maravilloso gracias
Orale curso "gratis".

Pues seria super , uno de los mejores cursos gratis , pues si se animan me apunto sale , sin nada mas que agregar les envio un cordial saludo bye.

Cursos gratis relacionados con 'Generadores de Codigo'

En la ingenieria del software existe trabajo repetitivo que se puede automatizar. Unas sugerencias para... Más »
Este es un lenguaje para para describir expresiones matemáticas. Su utilidad es permitir escribir con... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Completo curso acerca de los virus informáticos, historia, clasificación, protección...
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »