Jackson McCann

Hi There - thought I'd add a page just to see how it's done and to show what kind of things I'm doing with Tcl. It's all a bit brief at the minute but I will flesh it out later.


TclTuxedo A Tcl extension that allows Tcl to interact with BEA's Tuxedo TP Monitor.


SVC_tcl A Tuxedo server that contains an embedded Tcl interpreter and used the TclTuxedo extension to allow the creation of what we call 'scripted services'. These scripted services provide transaction routing and data transformation for all of the transactions through our Tuxedo system, we handle in the order of 250,000 transactions on a working day.


hubgen A template based code generator written in Tcl and used to build tuxedo services from a template and a message specification. The scripted services mentioned above will direct transactions to one or more of these generated services.


Graph Stuff I needed some graph algorithms additional to the basic depth first and breadth first searches implemented in the ::struct::graph package in tcllib. I've created two packages that added the extra bits I wanted. Both of these packages are still being worked on. No guarantees of any kind are given about there operation.

Package ASDOT Converts between the internal tcllib graph format and the file format used by the GraphViz tools [L1 ]. It uses the tcLex package [L2 ] to parse the .dot format file and is still a work in progress, some graphs that GraphViz will format and display don't parse properly yet. NB: I needed to rename the tcLex dll to match the version of Tcl that I was using before it would load.

Package DGA Implements the following Directed Graph Algorithms:

  • Edsger Dijkstra's algorithm find a shortest path from the node n to every other node that is reachable from n.
  • Prims's algorithm find a minimum spanning tree starting at the node n and reaching to every other node that is reachable from n.
  • Determine if the graph is a Directed, Acyclic Graph [DAG], that is that it contains no cycles.
  • A topological sort on the graph. This will return a list of nodes giving an ordering on the nodes such that all arcs go from left to right. (Providing the graph is a DAG)

DGA usage examples can be found here.


Cool. More "enterprise-class" Tcl programming.