<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>USING BINARY FILE FORMAT DESCRIPTION LANGUAGES FOR DOCUMENTING, PARSING, AND VERIFYING RAW DATA IN TAIGA EXPERIMENT</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>I. Bychkov</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Demichev</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>J. Dubenskaya</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>O. Fedorov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Hmelnov</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Y. Kazarina</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E. Korosteleva</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Kostunin</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Kryukov</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Mikhailov</string-name>
          <email>mikhailov@icc.ru</email>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M.D. Nguyen</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S. Polyakov</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E. Postnikov</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Shigarov</string-name>
          <email>shigarov@icc.ru</email>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Shipilov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Zhurov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Applied Physics Institute, Irkutsk State University</institution>
          ,
          <addr-line>Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Nuclear Physics, Karlsruhe Institute of Technology</institution>
          ,
          <addr-line>Karlsruhe</addr-line>
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Irkutsk State University</institution>
          ,
          <addr-line>Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory, SB RAS</institution>
          ,
          <addr-line>Irkutsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Skobeltsyn Institute of Nuclear Physics, Lomonosov Moscow State University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>2018 Igor Bychkov, Oleg Fedorov, Alexey Hmelnov, Elena Korosteleva</institution>
          ,
          <addr-line>Dmitriy Kostunin, Alexander Kryukov, Andrey Mikhailov, Alexey Shigarov</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>563</fpage>
      <lpage>567</lpage>
      <abstract>
        <p>The paper is devoted to the issues of raw binary data documenting, parsing and verifying in astroparticle data lifecycle. The long-term preservation of raw data of astroparticle experiments as originally generated is essential for re-running analyses and reproducing research results. The selected high-quality raw data should have detailed documentation and accompanied by open software tools for access to them. We consider applicability of binary file format description languages to specify, parse and verify raw data of the Tunka Advanced Instrument for cosmic rays and Gamma Astronomy (TAIGA) experiment. The formal specifications are implemented for five data formats of the experiment and provides automatic generation of source code for data reading libraries in target programming languages (e.g. C++, Java, and Python). These libraries were tested on TAIGA data. They showed a good performance and help us to locate the parts with corrupted data. The format specifications can be used as metadata for exchanging of astroparticle raw data. They can also simplify software development for data aggregation from various sources for the multi-messenger analysis.</p>
      </abstract>
      <kwd-group>
        <kwd>data format description language</kwd>
        <kwd>binary data</kwd>
        <kwd>astroparticle physics</kwd>
        <kwd>data lifecycle management</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The current trend in science is that the researchers from all over the world can immediately get
access to research data as soon as they are published. An important topic for modern science in general
and astroparticle physics in particular is open science, the model of free access to data (e.g. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). It
declares that scientific data should be accessible not solely to collaboration members but to all levels
of an inquiring society. This approach is especially important in the age of Big Data, when a complete
analysis of the experimental data cannot be performed within one collaboration.
      </p>
      <p>
        Some experiments in astroparticle physics have already adopted this fascinating idea. They
have involved their scientific data in electronic publishing, such as KCDC (KASCADE Cosmic ray
Data Centre) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. KCDC is a web portal where KASCADE-Grande [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] scientific data are made
available for the interested public. KCDC is driven within KASCADE-Grande experiment, which is
already dismantled. However, TAIGA [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], an operating experiment in Russia, is producing the data for
more than ten years. Obviously, various activities should be performed continuously across all stages
of the data life cycle in these experiments: collection and storage of data, its processing and analysis,
refining the physical model, publication and share, as well as archive and reuse of the data in the
future.
      </p>
      <p>
        One of the important issues is how to efficiently curate raw binary data to support their
availability and reuse in future. TAIGA has five unique binary file formats for representing raw data:
TAIGA-IACT, Tunka-HiSCORE [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Tunka-133 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Tunka-Grande [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and Tunka-REX [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The
long-term preservation of raw binary data as originally generated is essential for re-running analyses
and reproducing research results. To be accessible for the scientific community the raw data should be
documented in details and accompanied by open and freely available software for accessing to these
data. The neglect of this issues may lead to the need for a reverse engineering of their formats.
      </p>
      <p>The state-of-the-art toolsets for formal describing binary data formats provide a satisfactory
solution for the issues of raw data documenting, parsing and verifying. This work demonstrates
applicability of binary file format description languages to specify, parse and verify raw data of
TAIGA experiment. The formal specifications implemented for five formats of the experiment gives
possibility for automatic generation of source code of data accessing libraries in target programming
languages (e.g. C++, Java, and Python). These libraries were tested on real data. They demonstrated a
good performance and helped us to locate files with corrupted data. This result shows ways for
describing binary file formats for astroparticle raw binary data share and reuse. It can be interested in
other experiments where raw binary data formats remain weakly documented or some parsing libraries
for contemporary programming languages are required.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Binary Data Format Description Languages</title>
      <p>There are several alternatives for formal specification of a binary data format. Some of them
allow one to generate program libraries for reading binary data in specified formats. Here we consider
some of them to choose ones for describing raw data of astroparticle experiments.</p>
      <p>
        Some tools for specifying network protocols (e.g. NetPDL [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], NetPDLFltr [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and BinPAC
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) can serve for describing binary file formats. Since the nature of network protocols requires the
sequential reading of data, these languages are appropriate only for formats with a sequential form of
information storage (i.e. without pointers). Some of them provide also a program code generation for
processing of binary data. NetPDLFltr generates binary code for network packet filtering. BinPAC
allows one generating C++ code for reading packets. The listed tools are very specialized for the
network protocols. HUDDL [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], an XML-based language, serves for specifying hydrographic data
formats. It is intended to describe streams of binary data. HUDDL specifications can be used for
generating a source code in C, C++, and Python language for data reading. Typically, hydrological
files contain some sequences of measurements. Therefore, the generated code performs a sequential
reading of the data blocks.
      </p>
      <p>
        The parser generators, namely ANTLR [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and Bison [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], can be used for automatically
building of program code for data reading. However, the use of a binary file format specification as a
grammar imposes severe limitations on its capabilities. The parser generators require presenting a
binary file format specification as a grammar with fragments in a target language. As a result, the
specification is not declarative. In DataScript [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] data format specifications are used to generate
libraries for reading data in Java language. Instead of pointers, DataScript uses labels that contain
expressions with file fragment addresses. A specification is considered as a set of data type definitions.
A separate set of simple bit data types (bit fields) allows one describing bit-oriented data. However,
the project has not been updated since 2003 [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        FlexT [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], adeclarative language, is intended for presenting specifications of binary data
formats. Its syntax allows one expressing the specifications in a neat and well understandable form.
FlexT is accompanying by a code generator that can produce data reading source code in the
imperative languages: Pascal and C++. Now, it implements the code generation for the most widely
used data types, but some complex types like that used in specifications of machine instruction
encoding are not supported yet. Kaitai Struct [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] toolkit suggests a declarative language for
describing formats of binary data and network packets. The language is primarily designed to describe
communication protocols and container data formats. Specifications presented in this language can be
translated into a source code for reading files in the one of the supported programming languages:
C++, Java, JavaScript, Perl, PHP, Python, Ruby, and Go. The toolkit implements a set of standard
methods, which implement reading data from the stream in accordance with the type from the
description. Its approach to code generation is similar to DataScript: all the data from the stream are
sequentially loaded into the fields of the data structures.
      </p>
      <p>Among the tools listed above, FlexT and Kaitai Struct are the most suitable to be used in our
case. Both provide the declarative languages for presenting file format specifications. Similarly, they
consider a specification as a set of data type definitions. They support bit-oriented data (bit fields) and
variant blocks. Both allow one generating source code of reading libraries for the raw data formats
from the specifications. FlexT language is more expressive, but Kaitai Struct language is based on
well-known format, namely YAML. Moreover, Kaitai Struct supports more programming languages
for the source code generation. We used both of them, for formally describing the raw data formats of
TAIGA experiments. As a result, we generated reading libraries for each file format in the widespread
programming languages including C/C++, Java and Python.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Using Binary File Formats Specifications for Astroparticle Experiments</title>
      <p>The considered raw data are generated and transmitted as packages by the facilities using the
TCP protocol. Their file formats implement containers with simple structure. The developed format
specifications consequentially match byte streams against data structures interpreting them. First, a
specification optionally introduces format metadata and then it defines the section of data types and
the data section containing definitions of variables.</p>
      <p>A specification expressed in FlexT consist of some definition blocks. The main blocks are the
following: const defines constants that are results of calculations with variables of data blocks; type
contains data type definitions; data is the data block with definitions of variables; code presents code
block including address (shifts from the beginning of a file) and names of code parts. Figure 1 shows
the simplified specification of Tunka-133 format specification expressed in FlexT language: (a) ―
unit, a type for displaying time as two digits of integer; (b) ― THeader, a header of data package; (c)
― TCompTime, a computer time of a registered event; (d) ― TLinkData, a data container using the
defined types (TCompTime, THeader); (e) ― data section specifies that data are an array of
TLinkData structures.</p>
      <p>A specification presented with Kaitai Struct includes the following blocks: meta ― metadata
(section describing format name, version, file extension); doc — a description of regular fields; seq
sequentially lists definitions of variables used in the described format; instances ― a description of
fields that require additional processing; enums matches integer constants and some names; types
contains user-defined data types. Figure 2 demonstrates the auto-generated diagram for Tunka-133
file format specification presented in Kaitai Struct. It shows the defined sections of the specification
and the relations between their definitions.</p>
      <p>We implemented the specifications for all file formats of the considered experiments in both
FlexT and Kaitai Struct languages. It allowed us generating automatically source code of program
libraries represented in the target programming languages (C++, Java, Python, etc.) for parsing and
verifying the raw experiment data.</p>
    </sec>
    <sec id="sec-4">
      <title>6. Conclusion</title>
      <p>
        The best practices of scientific data maintenance recommend keeping raw (unprocessed) data
[
        <xref ref-type="bibr" rid="ref18 ref19">18-19</xref>
        ]. This allows facilitating future re-analysis with some improved analytical and data processing
techniques as well as analytical reproducibility of published results. Astroparticle experiments involve
with accumulating and processing a big volume of raw data. Each experiment uses some specific file
formats for representing raw data. The considered case with raw data TAIGA experiment showed that
such file formats could be insufficiently and weakly documented. Only a few experts involved in the
experiments can interpret these data.
      </p>
      <p>The paper considers our research experience on describing formally the binary file formats
used in TAIGA experiment. We used FlexT and Kaitai Struct toolsets to specify, parse and verify raw
data of these formats. The implemented format specifications allowed us to generate source code for
parsing and verifying the raw binary data in the target languages. The libraries were evaluated on real
data. Tunka-133, Tunka-Grande, and Tunka-REX formats were tested on about 89K files.Thanks to
these libraries, we found that about 1.2% of these files contain corrupted data. TAIGA-IACT and
Tunka-HiSCORE formats were tested on about 120K files and 0.6% of them contains corrupted data.
We suggest to use this approach for exchanging of astroparticle raw data. They can also simplify the
software development for data aggregation from various sources in the case of multi-messenger
analysis. We plan to share our experience of exporting raw data with other scientific collaborations.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This work was financially supported by the Russian Scientific Foundation (Grant No
18-41</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>David P. Understanding</surname>
          </string-name>
          <article-title>the emergence of `open science' institutions: functionalist economics in historical context // Industrial</article-title>
          and
          <string-name>
            <given-names>Corporate</given-names>
            <surname>Change</surname>
          </string-name>
          .
          <year>2004</year>
          . V. 13, N. 4. P.
          <volume>571</volume>
          -
          <fpage>589</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Haungs</surname>
            <given-names>A.</given-names>
          </string-name>
          et al. [
          <string-name>
            <surname>KASCADE-Grande</surname>
            <given-names>Collaboration</given-names>
          </string-name>
          ].
          <source>The KASCADE Cosmic-ray Data Centre KCDC: Granting</source>
          Open Access to Astroparticle Physics Research Data // ARXIV:
          <year>1806</year>
          .05493.
          <year>2018</year>
          .https://arxiv.org/abs/
          <year>1806</year>
          .05493
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Apel W.D</surname>
          </string-name>
          . et al. [
          <string-name>
            <surname>KASCADE-Grande</surname>
            <given-names>Collaboration]. The</given-names>
          </string-name>
          <string-name>
            <surname>KASCADE-Grande</surname>
            <given-names>experiment</given-names>
          </string-name>
          // Nucl. Instrum. Meth.
          <year>2010</year>
          . V.
          <volume>620</volume>
          ,
          <string-name>
            <surname>Issues</surname>
          </string-name>
          2-3, P.
          <fpage>202</fpage>
          -
          <lpage>216</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Budnev</surname>
            <given-names>N.</given-names>
          </string-name>
          et al. [
          <article-title>TAIGA Collaboration]. The TAIGA experiment: from cosmic ray to gamma-ray astronomy in the Tunka valley</article-title>
          // Nucl. Instrum. Meth.
          <year>2017</year>
          . V. 845, P.
          <fpage>330</fpage>
          -
          <lpage>333</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Prosin</surname>
            <given-names>V.</given-names>
          </string-name>
          et al.
          <source>[TAIGA Collaboration]. Results</source>
          from Tunka-
          <volume>133</volume>
          (
          <article-title>5 years observation) and from the Tunka-HiSCORE prototype</article-title>
          .
          <source>EPJ Web Conf</source>
          .
          <year>2016</year>
          .
          <volume>121</volume>
          . 03004.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Monkhoev</surname>
            ,
            <given-names>R.D.</given-names>
          </string-name>
          et al. [
          <article-title>TAIGA Collaboration]. The Tunka-Grande experiment: Status and prospects</article-title>
          .
          <source>Bull. Russ. Acad. Sci</source>
          .
          <year>2017</year>
          .
          <volume>81</volume>
          .
          <fpage>468</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Bezyazeekov</surname>
            <given-names>P.</given-names>
          </string-name>
          et al. [TAIGA Collaboration].
          <article-title>Measurement of cosmic-ray air showers with the Tunka Radio Extension (Tunka-Rex)</article-title>
          .
          <source>Nucl. Instrum. Meth</source>
          .
          <year>2015</year>
          . A802.
          <fpage>89</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Risso</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baldi</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>NetPDL: An extensible XML-based language for packet header description // Comput</article-title>
          . Netw.
          <year>2006</year>
          . V. 50, N. 5. P.
          <volume>688</volume>
          -
          <fpage>706</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Morandi</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Risso</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baldi</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baldini</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Enabling flexible packet filtering through dynamic code generation //</article-title>
          <source>Proc. IEEE Int. Conf. on Communications</source>
          .
          <year>2008</year>
          . P.
          <volume>5849</volume>
          -
          <fpage>5856</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>BinPAC</surname>
          </string-name>
          . Available at: https://www.bro.org/sphinx/components/binpac/README.html.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Calder</surname>
            <given-names>B.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masetti</surname>
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Huddler:</surname>
          </string-name>
          <article-title>A multi-language compiler for automatically generated formatspecific data drivers /</article-title>
          / Proc. U.S. Hydrographic Conference.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Parr</surname>
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>ANTLR</surname>
          </string-name>
          . Available at: http://www.antlr.org.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>GNU</given-names>
            <surname>Bison</surname>
          </string-name>
          . Available at: https://www.gnu.org/software/bison.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Back G. DataScript - A Specification</surname>
          </string-name>
          and
          <article-title>Scripting Language for Binary Data //</article-title>
          <source>Proc. 1st ACM SIGPLAN/SIGSOFT Conf. on Generative Programming and Component Engineering</source>
          .
          <year>2002</year>
          . P.
          <volume>66</volume>
          -
          <fpage>77</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Back</surname>
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>DataScript</surname>
          </string-name>
          . Available at: http://datascript.sourceforge.net.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Hmelnov</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <article-title>Mikhailov A. A declarative language FlexT for analysis and documenting of binary data formats //</article-title>
          <source>Proc. ISP RAS</source>
          .
          <year>2016</year>
          . V. 28, N. 5. P.
          <volume>239</volume>
          -
          <fpage>268</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Kaitai</given-names>
            <surname>Struct</surname>
          </string-name>
          . Available at: http://kaitai.io.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Wilson</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bryan</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cranston</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kitzes</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nederbragt</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teal</surname>
            <given-names>T.K.</given-names>
          </string-name>
          <article-title>Good enough practices in scientific computing</article-title>
          .
          <source>PLOS Comp. Biology</source>
          .
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Hart</surname>
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barmby</surname>
            <given-names>P.</given-names>
          </string-name>
          , LeBauer D.,
          <string-name>
            <surname>Michonneau</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mount</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mulrooney</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poisot</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woo</surname>
            <given-names>K.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zimmerman</surname>
            <given-names>N.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hollister</surname>
            <given-names>J.W. Ten</given-names>
          </string-name>
          <article-title>Simple Rules for Digital Data Storage</article-title>
          .
          <source>PLOS Comp. Biology</source>
          .
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>