17 A Framework for Dynamic Simulation of Interconnected …
615
Fig. 19 Results of simulation of the agglomeration process in the Dyssol system
6 Data Storage Subsystem
6.1 Organisation of Data Storage
The data storage subsystem is responsible for writing, storing and reading all the
data generated during the operation of Dyssol. Based on the requirements for
the developed simulation framework, this subsystem should provide the following
functionality:
• serialization/deserialization of complex data structures with various types of
information;
• cross-platform access to the data regardless of operating system or file system;
• availability of data for third-party tools without using the Dyssol framework.
To ensure the fulfilment of all the requirements, the Hierarchical Data Format
HDF5 and the HDF5 library [60] were utilized in the simulation system. HDF5 has
been specifically designed to store and manage large and complex data sets. It is used
in various applications where fast data processing and/or storage of a large amount
of dynamically generated data is required. It allows developing easily extensible
platform-independent solutions for organizing complex data structures and efficient
work with large data sets. The use of the standardized data storage format and the
availability of application programming interfaces for many tools and programming
languages (for example, C/C++, Java, MATLAB, Python) allows organizing access
to simulation results from external programs and utilities.
The provided programming interface for the C++ programming language [20]
was used to integrate HDF5 into the Dyssol simulation environment. The HDF5
615
Fig. 19 Results of simulation of the agglomeration process in the Dyssol system
6 Data Storage Subsystem
6.1 Organisation of Data Storage
The data storage subsystem is responsible for writing, storing and reading all the
data generated during the operation of Dyssol. Based on the requirements for
the developed simulation framework, this subsystem should provide the following
functionality:
• serialization/deserialization of complex data structures with various types of
information;
• cross-platform access to the data regardless of operating system or file system;
• availability of data for third-party tools without using the Dyssol framework.
To ensure the fulfilment of all the requirements, the Hierarchical Data Format
HDF5 and the HDF5 library [60] were utilized in the simulation system. HDF5 has
been specifically designed to store and manage large and complex data sets. It is used
in various applications where fast data processing and/or storage of a large amount
of dynamically generated data is required. It allows developing easily extensible
platform-independent solutions for organizing complex data structures and efficient
work with large data sets. The use of the standardized data storage format and the
availability of application programming interfaces for many tools and programming
languages (for example, C/C++, Java, MATLAB, Python) allows organizing access
to simulation results from external programs and utilities.
The provided programming interface for the C++ programming language [20]
was used to integrate HDF5 into the Dyssol simulation environment. The HDF5
