CACR Research Home

Project Home

Digital Puglia (SARA)

Digital Sky

InSAR
Interferometric
Synthetic Aperture
Radar

GIOD
Globally Interconnected Object Databases

LIGO
Laser Interferometer Gravitational-Wave Observatory)

XSIL
Extensible Scientific Interchange Language

bluerule.gif (857 bytes)

Publications

Events

tinycitlogo.gif (3120 bytes)

 

XSIL: Extensible Scientific Interchange Language
bluerule.gif (857 bytes)

q7.gif (15701 bytes)

The Extensible Scientific Interchange  Language (XSIL) is a flexible, hierarchical, extensible, transport language for scientific data objects.

The entire object may be represented in the file, or there may be metadata in the XSIL file, with a powerful, fault-tolerant linking mechanism to external data. The language is based on XML, and is designed not only for parsing and processing by machines, but also for presentation to humans through web browsers and web-database technology.

It comes with a Java object model that is designed to be extensible, so that scientific data and metadata represented in XML is available to a Java code.

There is also a powerful Swing-based object browser called Xlook, that is also designed to be extensible.

XSIL is directed toward a number of projects, including LIGO, the NPACI Storage Resource Broker, and the Digital Puglia project. For LIGO, the language is known as LIGO_LW: this tag is equivalent to the more general XSIL tag in the examples, the parser, and the visualizer.

For more information, read the paper  (June 00)

XSIL: XML/Java for Scientists

And don't forget to get the software

The XSIL software distribution

More about XSIL

xsilobject.big.jpg (33103 bytes)

All XSIL objects may have Name and Type attributes; these are shown in the XSIL browser, and are used by the API to locate particular objects. For example: "Find the object of type Fruit with the name Apple".

There is a container object in XSIL, with the XSIL tag, that may have Name and Type attributes. The container may contain other containers, so that this object induces a hierarchy.

The elementary objects of XSIL include Param, an association between a keyword and a value; an Array, similar to the array concept of Fortran or C; a Table, which is a set of column headings followed by a set of records.

xsilstream.big.jpg (29897 bytes)

The Stream object in XSIL is a sophisticated mechanism for including data either within the XSIL file itself (a Local Stream), or pointing to an external resource (a Remote Stream). The data may be encoded or compressed; and there may be hints about when to begin reading the data and a timeout value.

Available Software

The XSIL software distribution, including the parser package (uses the IBM XML parser), and the Swing-based Xlook viewer for XSIL files.
XMDS: eXtensible Multi-Dimensional Simulator

More information on XSIL:

XSIL: Java/XML for Scientists
Roy Williams
A sample XSIL file
The XSIL DTD (Document type definition)

Xlook

(click these thumbnail images to view the screenshots)

xsil1.jpg (179994 bytes) The basic XSIL window consists of a message window (bottom). a source-xml window (right), and the hierarchical view (left). The tree viewer is implemented with JTree, part of ther Java2 installation. The tree can expand an collapse, and objects can be selected. Different icons are associated with different types of XSIL object.
xsil2.jpg (182916 bytes) This image shows the table object viewed with LiveTable from KL Group. The table has been sorted on the second column -- which is different from the sorting visible in the source-code window. Sorting occurs with shift-click on the column heading.
xsil3.jpg (241523 bytes) Here we see the TimeSeries viewing component. One window shows the series against time, the other shows the power-spectrum. This is implemented with the JChart component from KL Group. Another window shows the chart customizer to make the chart "just perfect".
xsil4.jpg (169565 bytes) A URL can be a first class object in an XSIL file. Here we see the viewing component for a web-page, which is just the user's familiar browser. Any MIME-typed file can thus be represented: images, documents, databases, spread-sheets, etc.

More information on XML in general:

The World Wide Web Consortium standardization effort for XML:
http://www.w3c.org/XML/
Seybold publishing XML site:
http://www.xml.com/