Anteriormente 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