Free Apple TM Cursors at www.totallyfreecursors.com

sábado, 7 de noviembre de 2015


Herramientas para Desarrollo de SBC
Para pasar desde el diseño abstracto hasta un sistema implementado y listo para ser ejecutado en una computadora, se debe lo debe expresar en una forma que el sistema computacional entienda. Para ello se puede utilizar un lenguaje programación o un sistema especialmente diseñado para desarrollar SBC. La pregunta inmediata es ¿Cuál de ellos utilizar? En las siguientes secciones se puede encontrar una posible respuesta.
Lenguajes de Programación
En principio, cualquier lenguaje de programación puede ser utilizado. Siendo así de amplio el espectro del cual se puede escoger un lenguaje para programar un SBC, se debe considerar como factor importante de decisión, la extensión en la cual el lenguaje cubre o se adecua a los requerimientos de diseño. Atendiendo a la forma de estructurar sus instrucciones, se los puede dividir en:
  • IMPERATIVOS: PASCAL, C/C++.
  • FUNCIONALES: LISP.
  • DECLARATIVOS: PROLOG, CHIP, OPS5.
  • ORIENTADOS A OBJETOS: SmallTalk, Hypercard, CLOS.
Tradicionalmente LISP y PROLOG han sido los lenguajes que se han utilizado para la programación de SBC. Estos lenguajes ofrecen características especialmente diseñadas para manejar problemas generalmente encontrados en IA. Por este motivo se los conoce como lenguajes de IA.
Una de las principales características que comparten los lenguajes LISP y PROLOG, como consecuencia de su respectiva estructura, es que pueden ser utilizados para escribir programas capaces de examinar a otros programas, incluyendo a ellos mismos. Esta capacidad se requiere, por ejemplo, para hacer que el programa explique sus conclusiones. Esto sólo puede hacerse si el programa tiene la capacidad de examinar su propio modo de operación.
Lisp
Su nombre se deriva de LISt Processor. LISP fue el primer lenguaje para procesamiento simbólico. John McCarthy lo desarrolló en 1958, en el Instituto de Tecnología de Massachusetts (MIT), inicialmente como un lenguaje de programación con el cual los investigadores pudieran implementar eficientemente programas de computadora capaces de razonar. Rápidamente LISP se hizo popular por su capacidad de manipular símbolos y fue escogido para el desarrollo de muchos sistemas de IA.
Existen varios dialectos de LISP en el mercado informático, sin embargo COMMON LISP puede considerarse como el estándar de facto. Actualmente, LISP se lo utiliza en varios dominios que incluyen la escritura de compiladores, sistemas para diseño VLSI, sistemas para diseño mecánico asistido por computadora (AUTOCAD), animaciones gráficas y sistemas basados en conocimiento.
Prolog
PROgramming in LOGic (PROLOG), es otro de los lenguajes de programación ampliamente utilizados en IA. PROLOG fue desarrollado en Francia, en 1973 por Alain Colmenauer y su equipo de investigación en la Universidad de Marseilles. Inicialmente fue utilizado para el procesamiento de lenguaje natural, pero posteriormente se popularizó entre los desarrolladores de aplicaciones de IA por su capacidad de manipulación simbólica. Utilizando los resultados del grupo francés, Robert Kowalski de la Universidad de Edimburgo, en Escocia, desarrolló la teoría de la programación lógica. La sintaxis propuesta por Edimburgo, se considera el estándar de facto del PROLOG.
A partir de 1981 tuvo una importante difusión en todo el mundo, especialmente porque los japoneses decidieron utilizar PROLOG para el desarrollo de sus sistemas de computación de quinta generación. Actualmente existen varios dialectos del PROLOG para diferentes plataformas.
OPS5
Official Production System 5 (OPS5), es un lenguaje para ingeniería cognoscitiva que soporta el método de representación del conocimiento en forma de reglas. Incorpora un módulo unificador, un intérprete que incluye un mecanismo de encadenamiento progresivo, y herramientas para edición y depuración de los programas. OPS5 es un miembro de la familia de lenguajes de programación desarrollados en la Universidad Carnegie - Mellon. Varias compañías han desarrollado implementaciones comerciales de OPS5, para diferentes plataformas.
Sistemas de Desarrollo
Históricamente, los primeros SBC fueron desarrollados utilizando lenguajes de programación como el LISP y el PROLOG. A medida que el desarrollo de SBC iba aumentado en cantidad y complejidad, la comunidad científica comenzó a buscar formas de desarrollar los sistemas en menor tiempo y con menor esfuerzo.
Esto dio lugar al aparecimiento, en primer lugar a sistemas vacíos como el EMYCIN, a los que denominó shells, ya que ofrecen toda la arquitectura de un SBC a la que hay que incorporar la base de conocimientos.
Posteriormente ingresaron al mercado otras herramientas que incorporaron, además de opciones de representación del conocimiento, esquemas de inferencia y control. Estas herramientas tomaron el nombre de Entornos de Desarrollo de SBC.
A continuación se dan algunos ejemplos de sistemas comerciales:
  • Sistemas Vacíos (shells): EMYCIN, Crystal, Leonardo, XiPlus, EXSYS, VP-Expert, Intelligence Compiler.
  • Entornos híbridos de desarrollo: CLIPS, KEE, ART, EGERIA, Kappa, Nexpert Object, Goldworks, LOOPS, Flavors.

Plataformas de Computación
Intimamente asociado a los SBC, están los sistemas computacionales (Hardware). Actualmente el software disponible para el desarrollo de SBC, cubre todo el rango de computadoras y sistemas operativos, desde PC’s hasta máquinas especialmente dedicadas para procesamiento simbólico:
  • Computadoras Personales (DOS, OS, Mac, WINDOWS, UNIX, LINUX).
  • Estaciones de trabajo (VMS, UNIX).
  • Máquinas simbólicas (LISP, PROLOG).
  • Máquinas de arquitectura paralelo.

No hay comentarios.:

Publicar un comentario