HR: 0800h
AN: IN11B-0468 [Abstracts]
TI: Toolkits for Automatic Service Generation: WATT and Kill-A-WATT
AU: * Qu, Y
EM: yenanqu@scs.fsu.edu
AF: School of Computational Science, Dirac Science Library,
Florida State University, Tallahassee, FL 32306, United States
AU: Bollig, E F
EM: bollig@scs.fsu.edu
AF: School of Computational Science, Dirac Science Library,
Florida State University, Tallahassee, FL 32306, United States
AU: Erlebacher, G
EM: erlebach@scs.fsu.edu
AF: School of Computational Science, Dirac Science Library,
Florida State University, Tallahassee, FL 32306, United States
AB:
As part of the NSF funded VLab consortium [1], we have been involved
in the automatic generation of visualization web services using the
Web Automation and Translation Toolkit (WATT) compiler. The WATT
compiler converts VTK Tcl input scripts into equivalent yet more
efficient C++ web services by interpreting code structure, translating
and then integrating bindings to the gSOAP library. WATT seeks to
completely automate code distribution, integration of transport
protocols and interface generation. Ideally, developers should
concentrate on writing core applications, and let WATT
transform them into web services in the background.
Currently, the WATT compiler is limited to converting known
Tcl commands and types to C++. For VTK a simple one to one mapping
between Tcl and C++ is enforced, but Tcl commands without direct
mappings slow the compilation process and require new mappings to be
created. Loops and conditional statements are not yet implemented.
In an effort to move forward with automation and not get caught up in the
details of cross-language compilation, we developed a new
application: Kill-A-WATT (KWATT).
KWATT is a C++ application that utilizes
the C++/Tcl library [2] to evaluate Tcl input scripts using the
official Tcl interpreter. During evaluation of the input script, KWATT
interprets code structure, integrating communication details via a
Tcl-specific SOAP library [3]. Since KWATT drives the Tcl interpreter,
the application has access to the full Tcl command base plus the
ability to load new commands from other packages. KWATT is not a
compiler; instead, it is a stand-alone application that is itself a
web service. When KWATT consumes Tcl input, the generated web methods
extend the list of previously available commands. This implies that
C++ web methods statically defined in KWATT provide a set of standard
methods available to every service. Also, since KWATT uses the Tcl
interpreter, it has the potential to accept additional Tcl at any time
while running, thereby allowing for patches or updates to the running
service without downtime.
We will discuss the current development status of KWATT (work in
progress), and some of its future applications. In particular we will
provide a comparison of KWATT to the original WATT and consider
benefits/limitations of using KWATT for cases to which WATT was
previously applied.
This work is supported by NSF through the ITR grant NSF-0426867.
[1] Virtual Laboratory for Earth and Planetary Materials,
http://vlab.msi.umn.edu, September 2007
[2] C++/Tcl Library, http://cpptcl.sourceforge.net, September 2007
[3] TclSOAP Library, http://tclsoap.sourceforge.net/, September 2007
DE: 9810 New fields (not classifiable under other headings)
DE: 9820 Techniques applicable in three or more fields
SC: Earth and Space Science Informatics [IN]
MN: 2007 Fall Meeting