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