SlideShare una empresa de Scribd logo
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
Proyecto de Fin de Carrera de Ingeniero Informático
DESARROLLO DE UN INTERFAZ GRÁFICO PARA BABYLON
Realizado por: SANTIAGO CARBONELL FORMENT
Dirigido por: RAFAEL MARTÍNEZ TOMÁS
Curso: Junio de 2.013
Índice
• ¿Qué es Babylon?
• Entorno híbrido
• Problemática
• Propuesta de solución
• Primer problema
• Segundo problema
• Integración Lisp en Java
• Protocolo de intercomunicación
• Metodología de desarrollo
• JBabylon
• Demostraciones: Animales, Reactor y Cruce de calles
¿Qué es Babylon?
• Sistema Experto, híbrido, desarrollado en los años 80 en Lisp
para la plataforma Macintosh.
• Su principal característica es que podemos representar
conocimiento en varios formalismos tal como objetos/marcos,
reglas de producción, Prolog y restricciones.
• El usuario es libre de desarrollar e integrar su propio método
de representación del conocimiento.
Entorno híbrido
Problemática
• A pesar de la indiscutible potencia de Babylon como
SE híbrido, dicho sistema es complicado de manejar.
• Para poder utilizar Babylon, el usuario debe conocer
los comandos y debe teclearlos en una consola de
comandos.
Problemática
• Pantalla inicial de Babylon
• Y ahora ¿Qué comando ejecutamos?
Propuesta de solución
• Desarrollar un interfaz gráfico para Babylon en Java,
que mejorará la experiencia de uso del usuario,
pudiéndose utilizar desde distintos dispositivos y/o
lugares: JBabylon
• Este es el cometido de este PFC.
Primer problema
• Babylon es un software desarrollado en los años 80 y
no hay mucha información en internet.
• No hay blogs, webs, foros con información
actualizada sobre Babylon.
• Únicamente hay 3 libros que no se encuentran en
bibliotecas de la UNED.
Segundo problema
• Babylon está desarrollado en Lisp y la interfaz
gráfica en Java. Dos mundos muy distintos.
Integración Lisp en Java
• Se investigaron varios traductores Lisp-Java pero no funcionaron. Se
decidió intentar comunicar CLISP y Java de alguna forma.
Protocolo de intercomunicación
• Se investigó cómo comunicar CLISP con Java y se decidió redirigir toda la
Entrada/Salida de CLISP usando sockets.
Proceso CLISPProceso JAVA
1. Inicialmente tenemos cargada la imagen de Babylon en CLISP.
S
O
C
K
E
T
S
O
C
K
E
T
BABYLON
2. Redirigimos la E/S de CLISP usando la función servidor.
3. Iniciamos el interfaz gráfico de Java que se conecta vía sockets a CLISP.
4. Desde la consola de Java enviamos un comando a CLISP y luego a Babylon.
5. La contestación es devuelta hasta el proceso de Java usando la redirección.
6. Se utilizan algunos caracteres ASCII como delimitadores.
¤ ¥
Metodología de desarrollo
• Se usó el modelo incremental como metodología de desarrollo.
1. Clase inicial que implementa REPLREPL
Delimitadores
Interfaz gráfico
Menús nuevas funcionalidades
2. Se añaden delimitadores para
mejorar la comunicación.
3. Se diseña la interfaz gráfica
añadiendo ventanas.
4. Se mejora la aplicación añadiendo
nuevos menús con funcionalidades.
JBabylon
• Finalmente se obtuvo JBabylon la interfaz gráfica de Babylon.
Demostraciones
Animales
Reactor
Cruce de calles
Animales
Reactor
Cruce de calles
Gracias por todo
Santiago Carbonell Forment
Carbonell.santiago@gmail.com
https://bitbucket.org/santiago_carbonell/jbabylon

Más contenido relacionado

Similar a Development of a GUI for Babylon: JBabylon

Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
jmosorio777
 
Clase 41
Clase 41Clase 41
Clase 4
Clase 4Clase 4
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
Francisco Javier Altamirano
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
Diuxy Martinez
 
Desarrollando KDevelop Ruby
Desarrollando KDevelop RubyDesarrollando KDevelop Ruby
Desarrollando KDevelop Ruby
kdeespana
 
scilab-manual
scilab-manualscilab-manual
scilab-manual
fgu
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
campus party
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
Óscar Andrés López
 
Netbeans manual
Netbeans manual Netbeans manual
Netbeans manual
Esmeralda Salvador
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
Hiram Yasser Leija Salas
 
Netbean
Netbean Netbean
Manual netbeans_2
Manual netbeans_2Manual netbeans_2
Manual netbeans_2
Beydasanchezhernandez
 
Manualnetbeans2 141
Manualnetbeans2 141Manualnetbeans2 141
Manualnetbeans2 141
Joselyn Aguirre
 
manual de netbeans
manual de netbeansmanual de netbeans
manual de netbeans
ariannalizeeth
 
MANUAL NETBEANS 2
MANUAL NETBEANS 2MANUAL NETBEANS 2
MANUAL NETBEANS 2
ariannalizeeth
 
manual 1
manual 1manual 1
manual 1
ariannalizeeth
 
MANUAL
MANUAL MANUAL
MANUAL
arecerv
 
Manualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjjManualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjj
Joselyn Aguirre
 
Manual netbeans 2
Manual netbeans 2Manual netbeans 2
Manual netbeans 2
Camila Liliana Perez Perez
 

Similar a Development of a GUI for Babylon: JBabylon (20)

Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
 
Clase 41
Clase 41Clase 41
Clase 41
 
Clase 4
Clase 4Clase 4
Clase 4
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
 
Desarrollando KDevelop Ruby
Desarrollando KDevelop RubyDesarrollando KDevelop Ruby
Desarrollando KDevelop Ruby
 
scilab-manual
scilab-manualscilab-manual
scilab-manual
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
 
Netbeans manual
Netbeans manual Netbeans manual
Netbeans manual
 
1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans1 introduccioi81n-a-netbeans
1 introduccioi81n-a-netbeans
 
Netbean
Netbean Netbean
Netbean
 
Manual netbeans_2
Manual netbeans_2Manual netbeans_2
Manual netbeans_2
 
Manualnetbeans2 141
Manualnetbeans2 141Manualnetbeans2 141
Manualnetbeans2 141
 
manual de netbeans
manual de netbeansmanual de netbeans
manual de netbeans
 
MANUAL NETBEANS 2
MANUAL NETBEANS 2MANUAL NETBEANS 2
MANUAL NETBEANS 2
 
manual 1
manual 1manual 1
manual 1
 
MANUAL
MANUAL MANUAL
MANUAL
 
Manualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjjManualnetbeans2 141006101152-conversion-gate02jjj
Manualnetbeans2 141006101152-conversion-gate02jjj
 
Manual netbeans 2
Manual netbeans 2Manual netbeans 2
Manual netbeans 2
 

Último

TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Festibity
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
asrielgamer3421
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 

Último (20)

TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 

Development of a GUI for Babylon: JBabylon

  • 1. UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Proyecto de Fin de Carrera de Ingeniero Informático DESARROLLO DE UN INTERFAZ GRÁFICO PARA BABYLON Realizado por: SANTIAGO CARBONELL FORMENT Dirigido por: RAFAEL MARTÍNEZ TOMÁS Curso: Junio de 2.013
  • 2. Índice • ¿Qué es Babylon? • Entorno híbrido • Problemática • Propuesta de solución • Primer problema • Segundo problema • Integración Lisp en Java • Protocolo de intercomunicación • Metodología de desarrollo • JBabylon • Demostraciones: Animales, Reactor y Cruce de calles
  • 3. ¿Qué es Babylon? • Sistema Experto, híbrido, desarrollado en los años 80 en Lisp para la plataforma Macintosh. • Su principal característica es que podemos representar conocimiento en varios formalismos tal como objetos/marcos, reglas de producción, Prolog y restricciones. • El usuario es libre de desarrollar e integrar su propio método de representación del conocimiento.
  • 5. Problemática • A pesar de la indiscutible potencia de Babylon como SE híbrido, dicho sistema es complicado de manejar. • Para poder utilizar Babylon, el usuario debe conocer los comandos y debe teclearlos en una consola de comandos.
  • 6. Problemática • Pantalla inicial de Babylon • Y ahora ¿Qué comando ejecutamos?
  • 7. Propuesta de solución • Desarrollar un interfaz gráfico para Babylon en Java, que mejorará la experiencia de uso del usuario, pudiéndose utilizar desde distintos dispositivos y/o lugares: JBabylon • Este es el cometido de este PFC.
  • 8. Primer problema • Babylon es un software desarrollado en los años 80 y no hay mucha información en internet. • No hay blogs, webs, foros con información actualizada sobre Babylon. • Únicamente hay 3 libros que no se encuentran en bibliotecas de la UNED.
  • 9. Segundo problema • Babylon está desarrollado en Lisp y la interfaz gráfica en Java. Dos mundos muy distintos.
  • 10. Integración Lisp en Java • Se investigaron varios traductores Lisp-Java pero no funcionaron. Se decidió intentar comunicar CLISP y Java de alguna forma.
  • 11. Protocolo de intercomunicación • Se investigó cómo comunicar CLISP con Java y se decidió redirigir toda la Entrada/Salida de CLISP usando sockets. Proceso CLISPProceso JAVA 1. Inicialmente tenemos cargada la imagen de Babylon en CLISP. S O C K E T S O C K E T BABYLON 2. Redirigimos la E/S de CLISP usando la función servidor. 3. Iniciamos el interfaz gráfico de Java que se conecta vía sockets a CLISP. 4. Desde la consola de Java enviamos un comando a CLISP y luego a Babylon. 5. La contestación es devuelta hasta el proceso de Java usando la redirección. 6. Se utilizan algunos caracteres ASCII como delimitadores. ¤ ¥
  • 12. Metodología de desarrollo • Se usó el modelo incremental como metodología de desarrollo. 1. Clase inicial que implementa REPLREPL Delimitadores Interfaz gráfico Menús nuevas funcionalidades 2. Se añaden delimitadores para mejorar la comunicación. 3. Se diseña la interfaz gráfica añadiendo ventanas. 4. Se mejora la aplicación añadiendo nuevos menús con funcionalidades.
  • 13. JBabylon • Finalmente se obtuvo JBabylon la interfaz gráfica de Babylon.
  • 18. Gracias por todo Santiago Carbonell Forment Carbonell.santiago@gmail.com https://bitbucket.org/santiago_carbonell/jbabylon