The EXPRESS-Binary Data Project Demonstrators

This document explains the demostrations software related to the EXPRESS/Binary Data mapping project.

1 Examples of Mapping V0.5

The following are a set of example software based on the EXPRESS/HDF5 Mapping Specification Version 0.5. For each example, there is a link to the application code, the resulting HDF 5 files, and the output of the h5dump utility. These examples use both the core HDF5 API and the High Level API.

  • Create File, Groups and Attributes
  • Handle simple EXPRESS Defined and Enumeration Types
  • Handle array EXPRESS Defined Types
  • Handle bag, set and list EXPRESS Defined Types
  • Handle EXPRESS SELECT Types of Defined Types with underlying simple datatypes.
  • Handle entity instances of one EXPRESS Entity Type point; x, y, z = REAL;.
  • Handle entity instances references from EXPRESS Entity Type line; start_point, end_point : point; to Entity Type point; x, y, z = REAL;.

2 pyTables

The STEP TAS developers are doing prototyping and testing of EXPRESS/HDF5 concepts using the Python language and a pre-existing tool called PyTables. PyTables is open source software with a project site at http://www.pytables.org.

3 Initial Approach

At the March 2005 ISO STEP meeting in Lillehammer an approach for for a first set of proof-of-concept implementations was developed. The approach requires at least two implementatations and would proceed as follows.

Warning
This initial prototyping has not yet happened as of October 2006.
  1. All implementors would be provided with the EXPRESS/binary data mapping and same set of example schema and data.
  2. Each implementor would develop software that encoded the example data into a binary file following the documented mapping.
  3. Each implementor would develop software that read a binary encoded dataset based on the example schema.
  4. The files would be exchanged between implementors.
  5. Each implementor would read the binary data files using their software and report issues to other implementors and to the EXPRESS/Binary project.

The result of the initial demonstration would be proving the concept developed by the EXPRESS/Binary team and a set of issues raised against the mapping. The next draft of mapping documentation would then be developed by the EXPRESS/Binary team and another iteration of software development/updated would occur.