The information below relates to the initial phase of the edikt project, which ended in May 2005. Information on the current phase is available via the edikt portal.


 

Welcome to edikt::BinX .

BinX 1.2 is now available for Download as a pre-compiled library for Linux and Solaris.

BinX 1.2 includes example utilities and full documentation.

Academic users click here to download Open source version.

For information on the BinX Editor, click here .

 

 

 

 

Introduction: Representing Scientific Data on the Grid

The datasets for many scientific users are stored in very large (tens of gigabytes), binary files, often one or more large arrays or tables. Tools for reading and manipulating these files are often written in languages like Fortran with primitive file handling capabilities. Although it is possible to represent such data in XML, there are drawbacks:
• In XML, it would be around 2-4 times larger than the binary representation, taking longer to write, transport etc.
• The proposed representation for a multidimensional array in XML is effectively a tree of lists (like everything in XML).

This is unhelpful for scientific users because common operations such as extracting a slice or a diagonal are hard to do.

However, there is enormous value, and interest, in representing the ‘metadata’ associated with the data in XML. The meta- data will typically describe such things as how the data was produced (parameters, algorithms used etc), when and by whom. It would be very useful if that metadata also contained a description of the structure and representation of the data itself. BinX is a proposal for an XML Schema to address that need.

What is BinX?

• Developed by edikt , BinX is the Binary XML Description Language.
• BinX is used to describe the content, structure and physical layout (endian-ness, blocksize…) of binary files.
• BinX is designed to enable transparent transfer of data between diverse platforms.

What is the BinX library?

The BinX library allows the reading and writing of BinX XML files and the associated binary data. It supports (or will support) functionality to:
• Browse – read data from binary files
• Extract – select partial data from the dataset
• Transform – Use XSL to transform structure of binary data
• Create – create binary data and the associated BinX
descriptions

The BinX library is currently written in C++ with bindings to other languages in progress.

How does BinX Work?

 

When to use BinX?

Where easy transport or transformation of binary data is a concern. In particular, edikt has identified a number of areas where BinX can be applied now:
• Astronomy – the edikt Astronomy Testbed is investigating the use of BinX for transparent conversion between binary file formats (e.g. FITS) and astronomy standard XML like VOTable.
edikt::Eldas – grid and enterprise data service for binary files.

 

BinX Document Editor

The BinX Editor (BinXed) is a visualisation tool to help design BinX documents. A BinX document (as shown in the diagram above) is an XML text file based on the BinX mark-up language for the purpose of describing a binary data file.

The BinX Editor is a Java application which has been developed using Java version 1.4.2 for Solaris, Linux and Windows. The compressed Java archive (InstallBinXed.jar) can be downloaded by clicking on the Download BinX Editor button. To install on Solaris and Linux use the following command: java -jar InstallBinXed.jar . To install on Windows, double-click on the file to start the installation.


   
If you have any problems, comments or queries about this website, please email the webmaster