The 2008 Tcl Conference was held in Manassas, VA.
Our invited guest was
Miguel Sofer,
who explained the improvements to the Non Recursive Engine byte-code interpreter.
The NRE byte code interpreter allows Tcl to support more programming styles
including tail-call recursion and co-routines.
Our Keynote speaker was Dan Foos of
Testing and Evaluation Solutions.
TNES does simulation and modeling studies for the US Navy. They
use Tcl and Sqlite to manage simulations on a cluster of 300 blades and
then analyze the results with another set of Tcl/Tk applications. The
speed with which applications can be created in Tcl/Tk allows TNES to
develop solutions quickly with a very small staff of programmers.
The Tcl Community Association was pleased to award
Larry Virden with
the first Tcl Community Association Service Award. Larry has
maintained the Tcl FAQ, scrutinized the wiki for typos and abuse, and
quietly and selflessly helped keep the community running for nearly 20
years.
Thanks, Larry
A copy of the proceedings can be purchased as hardcopy at the
Tcl Community
Association Press storefront
on Lulu.
Google Summer of Code
Tcl/Tk Community GSoC European report
Daniel A. Steffen
An overview of the European Tcl/Tk GSoC report
A Business Rule Management System based on
the high-level object oriented scripting language XOTcl
Gustaf Neumann, Franz Wirl
High level object oriented scripting languages like XOTcl can be
perfectly used to implement Charles Forgy's Rete algorithm. An
algorithm that has been developed and tested to match between
more than a thousand patterns and objects. Implementing this
fast algorithm into/with XOTcl will provide a fast and dynamic
Rete library in XOTcl.
Google Summer of Code Overview
Tomasz Kosiak
Powerpoint presentation: Overview of the Google Summer of Code
Google Summer of Code Overview
Tomasz Kosiak
MS: Word: Google Summer of Code Projects
State of Tcl
The (Active) State of Tcl
Jeff Hobbs
History and current state of Tcl/Tk development
Domain Specific Languages
A Domain Specific Language for defining Nuclear Physics Experiments.
R. Fox
Tcl's support for the implementation of domain
specific languages (DSLs) has been used to define a language for
describing the readout and initial unpacking of data from nuclear
physics experiments. The DSL described has been tailored to the
Weiner VM-USB USB/VME interface module, and the
NSCLSpecTcl data analysis software. I will describe the
extensions to TCL and a case study where this system was
deployed at Säteilyturvakeskus (STUK) [1], the Radiation and
Nuclear Safety Authority of Finland.
A Domain Specific Language for defining Nuclear Physics Experiments.
R. Fox
Powerpoint slides for presentation above
Networked Applications
mod_tcl: TCL inside the Apache web server
Olly Stephens
mod_tcl is an apache httpd module that
allows TCL code to be executed inside the web server
during any of its phases whilst handling requests. This
tight integration makes possible many things over and
above simple page generation.
dotNyet
Mike Doyle, Cyndy Lilagan, Steve Landers, and Steve Huntley
In recent years, the notion of "cloud computing" has become all the rage. Despite its recent wave of
popularity, distributed computing has been with us in various forms for more than 20 years.
Distributed computational systems are all about allowing one machine on a network to tap into the
computational resources of one or more other systems connected to the same network. Currently popular
frameworks for this range from commercial systems such as Microsoft's .NET to large open source projects
such as the Globus Grid. One characteristic common to these systems is the relatively high level of
complexity inherent in their architectures, deployment requirements, and development resources. The
dotNyet system is a Tcl-based response to the complexity of these other systems. dotNyet exploits a handful
of uniquely-Tcl-empowered technologies to provide a simple yet powerful platform for the easy development
and safe deployment of secure platform-agnostic distributed Tcl applications over untrusted network
environments.
Skybot
Steve Landers and Mike Doyle
The Skype API provides facilities for external applications to be able to
communicate with and control various aspects of the Skype VOIP and IM
application. Originally developed in early 2005, Skybot uses the power and
flexibility of Tcl to dramatically expand the usefulness of the Skype system.
Using Skybot, one can create a variety of programmable responses to incoming
Skype calls and chat messages. The system incorporates a Tcl-based state
machine which can be configured to automatically trigger Tcl code in response
to various Skype events. This provides the user with a surprisingly-broad and
powerful set of capabilities for automating Skype-based communication
operations.
Numerical Applications
Relation Oriented Programming with Raloo
Andrew Mangogna
Raloo is an objected-oriented extension to Tcl that combines the relational data structuring capa-
bility of TclRAL with an object-oriented programming style as provided by TclOO. This paper intro-
duces Raloo and describes how the capabilities of Raloo may be used to capture the semantics
of a software problem in a more declarative manner. Raloo suppor ts problem decomposition into
domains, with domains containing classes, relationships and domain functions. Both synchronous
processing and asynchronous processing via state machines are provided. The relationship of
Raloo to formal software methods is also discussed.
Relation Oriented Programming with Raloo
Andrew Mangogna
Slides for previous paper
Implementation
Eagle: Tcl Implementation in C#
Joe Mistachkin
Eagle, Extensible Adaptable Generalized Logic Engine, is an implementation of the Tcl
scripting language for the Microsoft Common Language Runtime (CLR). It is designed to be a
universal scripting solution for any CLR based language, and is written completely in C#. Superficially, it is similar to Jacl, but it was written from scratch based on the design and implementation of Tcl 8.4. It provides most of the functionality of the Tcl 8.4 interpreter while borrowing selected features from Tcl 8.5 and the upcoming Tcl 8.6 in addition to adding entirely new features.
Eagle: Tcl Implementation in C#
Joe Mistachkin
Powerpoint slides for previous paper
NRE: the non-recursive engine in Tcl8.6
Miguel Sofer
Tcl8.6 has a completely redesigned execution model
that allows among others arbitrary deep recursion in
constant C-stack space. The design is derived from the
ideas already present in mod-8-3-branch, implemented
at a different level and much generalized. It is com-
pletely transparent to extensions, users of the standard
Tcl APIs keep perfect compatibility.
NRE: the non-recursive engine in Tcl8.6
Miguel Sofer
PDF Slides for previous paper
Tailcalls in 8.6
Miguel Sofer
PDF Slides for Tail Recursion talk
Coroutines in 8.6
Miguel Sofer
PDF Slides for Coroutines talk
Tcl Database Connectivity
Kevin B. Kenny
Tcl Database Connectivity is a newly-approved interface in the Tcl
Core as of release 8.6. It fills the need - expressed over many years
- of a uniform interface to Tcl for SQL databases. TDBC is built to
exploit the latest features of 8.6, including its ob- ject-oriented
functionality. It is designed for close integration with Tcl; in
particular, it addresses such issues as immunity to SQL injection
attacks, type mismatches be- tween Tcl and SQL, and the presence of
NULL columns without requiring either spe- cial Tcl code to handle
them. (It approaches everything with the attitude that it should be
more difficult to write insecure code than secure code, and that SQL
should have no impact on "everything is a string.") It is the intent
that TDBC should be one of Tcl's foundational components, so that
database applications in Tcl can have the same ubiquity as Tcl itself.
Testing
Remote Control of Test Equipment Using Distributed Objects
Timothy L. Tomkinson
Many testing environments consist of a heterogeneous mixture of CPUs connected via a
network. These CPUs, in-turn, are used to control various pieces of test equipment over
a wide variety of interfaces. By combining the power of Tcl, the object-oriented
capabilities of Itcl, the remote communication facility of comm and the ability of Ffidl to
access C libraries, an extremely simple remote method call mechanism was developed
that both hides the complexity of network programming and eliminates the need to
write control software in any language other than pure Tcl.
Remote Control of Test Equipment Using Distributed Objects
Timothy L. Tomkinson
Powerpoint slides for previous paper
Agent SMITH: Evolution of a Test Tool in Tcl/Tk
John J. Seal
PDF Presentation slides for previous paper
Agent SMITH: Evolution of a Test Tool in Tcl/Tk
John J. Seal
This paper describes the evolution of the Story Maker Interface Test Harness (SMITH), a test tool
developed by Raytheon Technical Services Company (RTSC) for internal use on one of its
projects. Development started with a sketch made by a project engineer, and proceeded in four
incremental stages: First, implement the sketch as proof of concept; second, automate the tool
using test case files; third, develop a C extension to provide hooks into the target system; and
fourth, analyze the target system's response. These stages tracked the changing needs of the
project, from development of the interface code before real hardware was available, through unit
test, and finally into full-scale system integration and qualification testing.
Education
AnatLab: A Web-based Virtual Anatomy Laboratory
Mike Doyle, Maury Pescitelli, Cyndy Lilagan, Steve Landers, Steve Huntley, Elise Pescitelli
This work represents the convergent evolution of a number of
technologies and research "threads." A project called MetaMAP,
which developed early hypermedia imagemap technology, dates back to
1986. Work on creating a new paradigm for doing client-server
visualization over the Internet began in 1992. Another major project
began in 1993 to turn the Web into a platform for interactive
applications. A project to develop multidimensional imagemap technology
began in 1995. Finally, work on a scalable computational server
architecture called "Dark Iron" began in 1997. The AnatLab project
represents the intersection of these various research efforts to create
a new kind of navigable knowledgespace that leverages the advantages of
each of its constituent technologies.