Agentes Tcl

May 18th, 2007 2 comments

Agentes TCLAnteriormente he hablado de Telescript y Aglets, y no podía olvidar a los Agentes Tcl. El Tool Control Language (Tcl – pronunciado como tickle) y su compañero Tk están relacionados con los sistemas de agentes móviles. Tcl fue creado por el Doctor John Ousterhout y fue principalmente creado para convertirse en un lenguaje de comandos estándar. La idea es que varios aplicaciones proporcionen lenguajes de control (bases de datos, hojas de cálculo, …), pero cada vez que se desarrolla una aplicación, también se desarrolla un nuevo lenguaje de comandos. Tcl ofrece las facilidades de implementar tu propio lenguaje de comandos. Tk es una librería de ventanas basadas en widgets. Tcl/Tk combinado crea un actractivo y simple herramienta de desarrollo de interfaces gráficas, sin embargo, tienen otras características que lo hacen aún más interesante:

  • Tcl es un lenguaje interpretado
  • Tcl es extensible (proporciona un conjunto de primitivas implementadas en C/++)
  • Tcl/Tk puede ser embebido (el intérprete está disponible como código escrito en C++, el cual puede ser embebido en una aplicación)

Las aplicaciones en Tcl se llaman scripts. Muchas de las propiedades de estos scripts son las mismas que poseen los Unix Shell Scripts:

  • Hay aplicaciones de texto plano, que contienen estructuras de control y estructuras de datos (por ejemplo listas, arrays, pilas…) como un lenguaje de programación normal.
  • Se pueden ejecutar como programas de consola (tclsh o wish)
  • Se pueden llamar desde otras aplicaciones externas

Como los programas en Tcl son interpretados, es mucho más sencillo usar un debugger que en otros lenguajes compilados como C/C++. La idea de un agente móvil viene de la sencillez de construir aplicaciones donde se intercambian scripts Tcl a través de una red y se ejecutan en máquinas remotas. El lenguaje Safe Tcl brinda unos mecanismos para limitar el acceso a un script. Por ejemplo, el Safe Tcl controla el los permisos de acceso a una GUI que un posee un script (por ejemplo, estableciéndole límites en el número de veces que se puede modificar una ventana).

En resumen, Tcl/Tk proporciona un rico entorno para construir aplicaciones, particularmente interfaces gráficas. Pero no en un principio fue planificado para un entorno de programación de agentes. Las primitivas que pueden heredar se pueden usar para construir entornos de programación de agentes móviles – el código de fuente es libre, estable, bien diseñado y fácilmente modificable. El framework Agent Tcl fue uno de los primeros que precisamente intentaron hacer eso.

Más información | Agent Tcl

2 Responses to Agentes Tcl

  • DraXus

    Interesante este artículo. Hace tiempo que oí hablar de Tcl, y de hecho lo utilizo en aMSN. Pero desconocía de dónde venía y su relación con IA :)

  • Alfonso Jiménez

    Gracias Manuel. Lo que he querido dejar claro es que aunque no se planeó para ello, se puede usar Tcl/Tk para programar agentes :)

    Saludos!

Leave a Reply