The EXPRESS-Binary Data Project Demonstrators
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.
- All implementors would be provided with the EXPRESS/binary data mapping and same set of example schema and data.
- Each implementor would develop software that encoded the example data into a binary file following the documented mapping.
- Each implementor would develop software that read a binary encoded dataset based on the example schema.
- The files would be exchanged between implementors.
- 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.





