Aplicaciones de Prolog en Java

Anuncio
Informatica Avanzada .
Aplicación de Programación Lógica en Java.
Manuel Iván Barrera Cerna
mbarrera@inf.uach.cl
Valdivia, 10 de Junio de 1999.
Introducción
La Programación Lógica hoy en dia ya se encuentra relacionada con Java. Y es de esta relación que aparecen
una serie de aplicaciones de Programación lógica en Java, también existen algunas en Jess, de las muchas
aplicaciones existentes se entregará una breve descripción del interpretador de Prolog en Java (W−Prolog).
Al escribir un sistema Prolog en Java(Programación orientada a Objetos) se tienen una serie de ventajas entre
ellas : Portabilidad, Mayor Poder, Flexibilidad y Modificaciones de Código. Cada sistema de programación
lógica tiene disponible una capa extra de Orientación a Objetos, esto para representación de Conocimiento.
También existen aplicaciones de Java más Programación lógica como por ejemplo : Basado en JNI como :
JASPER(Sictus), JPL(Swi) JIPL(K−Prolog) o también Basado en Socket como: Interprolo(XSB) y Prolog IV.
Desarrollo
W−PROLOG es un interpretador implementado en JAVA para un lenguaje como PROLOG. La
implementación es extremadamente portable y puede ser ejecutada como un applet en un Browser .
W−PROLOG tiene una agradable interfaz para usuarios mejor que los sistemas prolog( los cuales
proporcionan una interfaz típica con líneas de comandos).
El sistema W−Prolog es pequeño y es comparativamente simple. Sin embargo esto no lo hace particularmente
rápido.
W−Prolog es actualmente usado Como parte de la Guía para programación en prolog de Roman Barták en el
centro de antropología y de Computación de la Universidad de Kent.
W−Prolog esta disponible tanto para Unix como para Windows, además puede ser ejecutado como un applet o
como una aplicación individual, también puede ser llamada desde otro programa.
Para ejecutar W−Prolog como una aplicación individual se necesita tener un Kit desarrollador de java(JDK).
La interfaz de usuario es diferente en applets. La fila de arriba contiene el campo de texto en el cual un prolog
atom puede ser tipeado, el primer botón (ejecuta la pregunta) y el segundo(more?) buscara alternativas para
una pregunta exitosa.
El botón del área de texto contiene la salida del W−Prolog, el botón clear limpia los resultados del área de
texto .
Para salir del W−Prolog basta con cerrar la ventana o bien seleccionado salir(Quit) del menú.
1
Los applets tienen un número de limitaciones, por ejemplo, ellos no pueden escribir los archivos o abrir
conexiones de redes. Como una consecuencia de esto los applets del W−Prolog no permiten cargar ni guardar
programas.
La versión applet de W−Prolog tiene 4 botones :
Benchmatk: Ejecuta el benchmark, la formula 496/(tiempo de ejecución) da la velocidad en interferencias
lógicas por segundo.
About : Entrega información sobre el autor (Michael Winikkoff) y la versión (actualmente 1.2) dentro del área
de texto del programa.
Append: Entrega un simple apendice dentro del area de texto.
Documentation: Abre una ventana de navegador (Browser) en este archivo
Fig. Nº1 Versión applet del W−PROLOG.
Cuando se ejecuta como una aplicación individual los 4 botones son reemplazados por cargar(load) archivos y
guardar(save). El nombre del archivo es mostrado en un campo de texto no editable, el boton load permite
2
selecionar y cargar el archivo deseado, el botón de save permite guardar el archivo cambiado.
Fig. Nº2 Versión de ejecución individual del W−PROLOG.
Es recomendable que el W−PROLOG sea ejecutado en forma individual. Versiones anteriores de
W−PROLOG apoyan la carga de archivos en la versión applet. Este tipo no tiene inconvenientes cuando se
ejecuta con un visor de applet de SUN pero se rehusa a trabajar bajo netscape.
Además del W−PROLOG existen otros interpretadores de Prolog en Java como por ejemplo MINERVA,
JAVALOG, JINNI, PROLOG CAFÉ, DGKS PROLOG E INTERPROLOG.
En una visión breve de alguno de ellos se tiene :
MINERVA: Proporciona la funcionalidad de prolog tanto como las clases de java y puede a la vez acceder a
objetos java. Minerva asimismo esta implementada en java.
JINNI: Jinni tiene una buena integracion de mecanismos java dentro de una implementacion de prolog
distribuida. Además Jinni o BinProlog tiene un gran nivel de llamadas remotas.
INTERPROLOG(XSB PROLOG): Programas en Java se conectan a otros Programas en Java a través de
Sockets. Uso intensivo de reflexión y serialización en Java, Fácil de portar aunque esta recien siendo
desarrollado por XBS Prolog.
Conclusión
Como se vio en este corto informe hoy en día existe una estrecha relación entre la programación lógica y el
lenguaje Java, de esta relación han nacido muchas aplicaciones que son de mucha ayuda, una de ellas es el
interpretador de Prolog en Java (W−Prolog), este programa muestra las ventajas de esta unión entre la
programación lógica y Java ya que W−Prolog es muy Portable, de mayor poder y a la vez muy Flexible.
Además se sabe que otra ventaja es que con esta unión se obtienen mayores beneficios si lo que se desea es
poder representar el conocimiento.
INFORMATICA AVANZADA APLICACION DE PROLOG EN JAVA
1
5
MANUEL BARRERA CERNA
INFO − 263
3
Universidad Austral de Chile.
Faculta de Ciencias de la Ingeniería.
Escuela de Ingeniería Civil en Informática.
4
Descargar