Replied: Tue, 26 Sep 2000 21:16:52 -0400 Replied: "MARLON E.. PIERCE/ADMIN/WPASC/CONTR/SYRACUSE UNIVERSITY" Return-Path: pierceme@asc.hpc.mil Return-Path: Delivered-To: fox@csit.fsu.edu Received: from sas.asc.hpc.mil (sas.asc.hpc.mil [129.48.245.116]) by mailer.csit.fsu.edu (Postfix) with ESMTP id E254E23A0B; Tue, 26 Sep 2000 19:24:44 -0400 (EDT) Received: from asc.hpc.mil (pet03.asc.hpc.mil [129.48.244.213]) by sas.asc.hpc.mil (8.9.3/8.9.3) with ESMTP id TAA677745; Tue, 26 Sep 2000 19:24:44 -0400 (EDT) Sender: pierceme@asc.hpc.mil Message-ID: <39D1303C.C9B4952D@asc.hpc.mil> Date: Tue, 26 Sep 2000 19:24:44 -0400 From: "MARLON E.. PIERCE/ADMIN/WPASC/CONTR/SYRACUSE UNIVERSITY" X-Mailer: Mozilla 4.75 [en] (X11; U; IRIX 6.5 IP32) X-Accept-Language: en MIME-Version: 1.0 To: fox@csit.fsu.edu, cyoun@csit.fsu.edu, shko@csit.fsu.edu Subject: XSIL update Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I've spent some time looking over the XSIL distribution and how we could use it in the generic object wrapping project. XSIL provides an XML based scientific markup language, a connection between the XML and java objects, and graphics capabilities. See http://www.cacr.caltech.edu/SDA/xsil and particularly the documentation xsil_spec.pdf, linked on that page. * The distribution comes with a simple DTD and java packages for manipulating the XML (org.escience.XSIL) and viewing it (org.escience.Xlook). * The XSIL.java program and its children come with a number of convenient methods for extracting information from the XML document. We should use the XSIL DTD whenever possible, even for non-scientific input, since this saves us from having to write our own methods for digesting the XML. For example, last Friday the files I sent out included ApplDesc.dtd, ApplDesc.xml, and parseXMLBean.java. If I used xsil.dtd instead and defined all the queue information, etc., using tags, I could greatly simplify the coding of parseXMLBean.java. I now just have to extend XSIL instead of writing all the accessor methods myself. * As for handling scientific data with XSIL, we have to consider cases. For Gaussian, the user manual contains 150 pages of user options, so constructing a Gaussian input file for the user seems to be out of the question for now. Instead, the gaussian.xml file might be as simple as test000 test000.com and we leave the construction of the input file test000.com to the Chemistry (and Guassian) expert. On the other hand, simpler input may be completely specified in XSIL. So we need something like __ parseIsingBean.java / xsil.java-->parseXSILBean.java-- |__ parseGaussianBean.java |__ parseParssimBean.java |... | \__ parseGenericBean.java where we have a specialized class to handle the input for a particular code and a Factory method to retrieve the appropriate class. The GenericBean would be a catch-all for new applications. The tag's Type attribute can be used to specify which child to use for processing. * We can use the tag for input for parametric studies. Simple example: a user may want to run calculations at temperatures from 0.1 to 3.0 K, incrementing by 0.1 K. This job can be summarized by the table
"Job1", 0.1 "Job2", 0.2 ...
* I was suprised that XSIL only defines input streams, not output streams. Perhaps we will want to extend XSIL to do this. * The XSIL disrtibution comes with a viewer called Xlook, which may be extended to provide specialized visualization. It would be interesting to see if we could tie this into an applet. In any case, visualization is going to be application-specific. Marlon