<!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>
      <journal-title-group>
        <journal-title>CEUR Workshop Proceedings</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.18287/1613-0073-2016-1638-828-837</article-id>
      <title-group>
        <article-title>UNIVERSAL DATA MODEL FOR SOLVING RESEARCH PROBLEMS</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>D.E. Yablokov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V.A. Saleev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara National Research University</institution>
          ,
          <addr-line>Samara</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1638</volume>
      <fpage>828</fpage>
      <lpage>837</lpage>
      <abstract>
        <p>The article deals with the methodology of creation a universal data storage for applications oriented to the specialists who participate in scientific researches. It is assumed that the storage structure is not rigidly bound to any scientific domain, and it will be demanded in many projects related to the data accumulation, data analysis and processing. The proposed approach to the organization of the storage system is based on fundamental principles, concepts and technologies that used in the software design process. This process is based on the subject domain analysis and the detection criteria of commonality and variability which guarantee high abstraction level as one of the main tools for working with data.</p>
      </abstract>
      <kwd-group>
        <kwd>universal data model</kwd>
        <kwd>storage structure</kwd>
        <kwd>the abstraction level</kwd>
        <kwd>data typification</kwd>
        <kwd>internal classification</kwd>
        <kwd>data categorization</kwd>
        <kwd>external classification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The creation of software systems for scientific researches is a difficult task. As
increasing their complexity, the appropriate software products building require more
and more time, and the development costs grow exponentially. It also related to
design process and implementation of the storage subsystems for applications, which are
used in scientific activity, and also provide researchers of diverse, but at the same
time actual and complete information. Many scientific laboratories or research centers
could work with applications based on the proposed data model because of its
universality and the high level of abstraction when describing the properties of objects and
their classification. For the specialists making an experiment it is necessary to obtain
and process the correct and complete information connected with research problems,
but during of such researches is negatively influenced some factors requiring change
the structures of data storage [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] with information about studied data domain or the
solvable tasks. Among them: need of careful selection of the experimental data
according to a storage format, use of varied initial information for complex research
and, as a result, need for data interpretation or normalization for use their within
ex2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Main idea</title>
      <p>
        Objects of any type can be described in terms of some simplified data model for
which the basic concepts are entities and attributes. Attributes are the predefined
lexical units or descriptors needed to describe the basic semantic meaning of the key
concepts in the data domain.
When such concepts are defined, it is not difficult to move to a more specific
description. It is possible to extend semantics of the selected conceptual model to the entities
relationships and relationships attributes.
This example is a very simplistic, but at the same time it can support most
applications and provide adding data of any type without specific names of tables or fields
that are required when using a relational data model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] in native form. When using
the universal model it is possible to input information which structure is not defined
in advance, and change of structural links like “entity–attribute”, “entity–entity” or
“relationship–attribute” can be made in runtime.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Data classification</title>
      <p>
        Classification is the most simple and at the same time, the most often solvable task of
the universal model of data storage. The result of classification is the detection of the
signs characterizing groups of the researched objects as classes to which is possible to
refer new object. It is important to keep common concepts that defines the
commonality and variability, and also other features already classified or again obtainable or
analyzable information. In fact, classification is any system distribution of objects,
phenomena or concepts by any essential signs selected for convenience of their
representation and processing. Thus, the classified information can be provided as the set
of the abstract or concrete entities ordered by some principle, which have similar
classification criteria (one or more properties). It is necessary for determination of
criteria of a commonality in the description, behavior or any other dimensions of
source unstructured data. Usually classification tools are separate by a method of their
impact on the classified element of information. For example, it is possible to
organize internal classification, which can be made on the essential signs characterizing a
commonality of objects, concepts or phenomena. The data domain, in this case,
describes by the elementary units of data, related to some primitives, which are
determined a priori. The main concepts are “meta-type”, “instance type”, “instance”,
“hierarchy type” and “relationship attribute”.
These concepts determine a set of tables that fixes the entity-relation structure in the
database. A unique feature of such approach is the possibility of arrangement of
unlimited number of objects over a limited set of concepts. For example, the concepts in
the materials science are connected to definitions of graph theory that allows one to
describe crystal-chemical data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] using graph abstractions. With interrelated concepts
from chemistry and discrete mathematics, it is possible to classify the basic objects,
such as atom or bond as well as more difficult objects, such as molecules, rings,
ligands, nets, etc… Applying such classification for the applications of storage and
processing crystallographic data, the information about the molecule as a set of atoms,
can be represented as a spatial graph, i.e. non-empty set of vertices and the set of its
two-element subsets – edges. Applying the concept of "is a" [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] allows to store
information on objects with similar behavior and to consider their relations as hierarchy by
the principle "from the general to the particular". Applying the concept "part of" [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
allows storing information on objects and their relations, using the principles of
aggregation and composition. This allows considering their relationships in accordance
with the principle "from the whole to the part". The concept "is a" allows storing
information about similar behavior of objects, such as atoms and void centers or bonds
and channels. Concept "part of" allows describing the data hierarchies “atom–
structure fragment–net” or “atom-bond-ring-tile”, etc. Also possible the artificial or
additional classification by external sign and used for giving to a set of the researched
elements of data necessary criterion of ordering. Such classification can be expressed
through categorization when categories provide the necessary level of indirection. In
this case, the commonality criteria definition for data elements is independent of their
belonging to a specific class of data. The entity can be connected to one or more
categories that makes possible in the analysis or decomposition obtaining the information
about entity in terms of a set of the related categories. In this case the main concepts
are “category type”, “category”, “subcategory” and “linked category”.
Such classification can be used for periodic table of chemical elements where the
mechanism of categorization can be applied to specifying to what group belongs
chemical element, for example, of alkali metals, halogens, etc.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Scope of application</title>
      <p>
        The storage structure is constructed by the principles of universal data model logically
can be separated into some interdependent components. These include: classification
tools (typification and categorization), entity instances (with a possibility of
assignment for instance type a specific property set), entity relationships (allowing to
specify the relationship types and values of the appropriate attributes), properties palette
(combining mechanisms to define primitive and composite properties).
This makes it possible to use the proposed universal data model in different fields of
scientific research. These problems can be in the scope of theoretical and
experimental chemistry connected with design and structural analysis of compounds and
new materials [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], classification and systemized data representation about compound
framework types [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], prediction chemical properties of the crystal structures [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In
addition, in number of physics problems the proposed universal data model can be
used to store various information about results of experiments with different level of
details or to be a source of data for creation of mathematical models during
researches. These include the problem of analysis and recognition of the nanoscale images [
        <xref ref-type="bibr" rid="ref10 ref9">9,
10</xref>
        ], spectral-spatial classification of hyperspectral images [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], increasing of sensor
sensitivity [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], etc.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Implementation</title>
      <p>The following are code samples from the DDL-script for the database creation using
the universal model of data storage.
1. Code sample of creation of the meta-types table, as a set of the elementary
primitives related to some internal base concepts of data domain, which are defined a
priori.</p>
      <sec id="sec-5-1">
        <title>CREATE TABLE IF NOT EXISTS meta_type</title>
        <p>(
row_id uuid NOT NULL DEFAULT uuid_generate_v4(),
alias varchar(128) NOT NULL,
description text,
CONSTRAINT meta_type_pkey PRIMARY KEY(row_id),</p>
        <p>CONSTRAINT meta_type_uindex UNIQUE(alias)
);
2. Code sample of creation of the instance types table, as a list of the concepts
defining the criterion of identity that distinguish the corresponding entity from other
entities, which aren’t corresponding to this criterion.</p>
        <p>CREATE TABLE IF NOT EXISTS instance_type
(
row_id uuid NOT NULL DEFAULT uuid_generate_v4(),
meta_type_id uuid NOT NULL,
alias varchar(128) NOT NULL,
description text,
CONSTRAINT instance_type_pkey PRIMARY KEY(row_id),
CONSTRAINT instance_type_fkey</p>
        <p>FOREIGN KEY(meta_type_id)</p>
        <p>REFERENCES meta_type(row_id),</p>
        <p>CONSTRAINT instance_type_uindex UNIQUE(alias)
);
3. Code sample of the table creation of category types, as a set of the elementary
primitives related to some external concepts of data domain, which are determined
a priori.</p>
        <p>CREATE TABLE IF NOT EXISTS category_type
(
row_id uuid NOT NULL DEFAULT uuid_generate_v4(),
alias varchar(128) NOT NULL,
description text,
CONSTRAINT category_type_pkey PRIMARY KEY(row_id),
CONSTRAINT category_type_uindex UNIQUE(alias)
4. Code sample of creation of the categories table as a tool providing necessary
flexibility through the additional level of indirection in case of determination of criteria
of commonality for entities independent of their typification.</p>
        <p>CREATE TABLE IF NOT EXISTS category
(
row_id uuid NOT NULL DEFAULT uuid_generate_v4(),
category_type_id uuid NOT NULL,
alias varchar(128) NOT NULL,
description text,
not_available boolean,
CONSTRAINT category_pkey PRIMARY KEY(row_id),
CONSTRAINT category_fkey</p>
        <p>FOREIGN KEY(category_type_id)</p>
        <p>REFERENCES category_type(row_id),</p>
        <p>CONSTRAINT category_uindex UNIQUE(alias)
YablokovDE,SaleevVA. Universal…
5. Code sample of creation of the categories hierarchy table for determining external
criteria of commonality by the principle of similar behavior.</p>
        <p>CREATE TABLE IF NOT EXISTS category_hierarchy
(
category_id uuid NOT NULL,</p>
        <p>parent_category_id uuid NOT NULL,
CONSTRAINT category_hierarchy_pkey</p>
        <p>PRIMARY KEY(category_id, parent_category_id),
CONSTRAINT category_hierarchy_fkey_1</p>
        <p>FOREIGN KEY(category_id)</p>
        <p>REFERENCES category(row_id),
CONSTRAINT category_hierarchy_fkey_1</p>
        <p>FOREIGN KEY(parent_category_id)</p>
        <p>REFERENCES category(row_id)
6. Code sample of creation the table of linked categories that contains data on the
external of commonality by the principle from part to whole.
CREATE TABLE IF NOT EXISTS category_link
(
category_id uuid NOT NULL,
linked_category_id uuid NOT NULL,
CONSTRAINT category_link_pkey</p>
        <p>PRIMARY KEY(category_id,linked_category_id),
CONSTRAINT category_link_fkey_1</p>
        <p>FOREIGN KEY(category_id)</p>
        <p>REFERENCES category(row_id),
CONSTRAINT category_link_fkey_2</p>
        <p>FOREIGN KEY(linked_category_id)</p>
        <p>REFERENCES category(row_id)
7. Code sample of procedures for creation the data row in the table meta_type.</p>
        <p>CREATE OR REPLACE FUNCTION create_meta_type_row
(
meta_type_id uuid,
alias varchar(128),
description text = NULL
)
RETURNS VOID AS
$BODY$
BEGIN</p>
        <p>INSERT INTO meta_type(row_id, alias, description)
VALUES(meta_type_id, $2, $3);
Information Technologyand Nanotechnology(ITNT-2016)
END;
$BODY$</p>
        <p>LANGUAGE plpgsql;
8. Code sample of procedure for update the data row in the table instance_type.</p>
        <p>CREATE OR REPLACE FUNCTION update_instance_type_row
(
instance_type_id uuid,
bit_mask integer,
meta_type_id uuid = NULL,
alias varchar(123) = NULL,
description text = NULL
)
RETURNS void AS
$BODY$
BEGIN</p>
        <p>UPDATE instance_type t SET
meta_type_id =</p>
        <p>CASE bit_mask &amp; 1</p>
        <p>WHEN 1 THEN $3</p>
        <p>ELSE t.meta_type_id</p>
        <p>END,
alias =</p>
        <p>CASE bit_mask &amp; 2</p>
        <p>WHEN 2 THEN $4</p>
        <p>ELSE t.alias</p>
        <p>END,
description =</p>
        <p>CASE bit_mask &amp; 4</p>
        <p>WHEN 4 THEN $5</p>
        <p>ELSE t.description</p>
        <p>END</p>
        <p>WHERE t.row_id == instance_type_id;
END;
$BODY$</p>
        <p>LANGUAGE plpgsql;
9. Code sample of data reading from the table category_type.</p>
        <p>CREATE OR REPLACE FUNCTION read_category_type_rows
(</p>
        <p>category_type_ids VARIADIC UUID[]
)
RETURNS SETOF record AS
$BODY$</p>
      </sec>
      <sec id="sec-5-2">
        <title>BEGIN</title>
        <p>RETURN QUERY SELECT t.* FROM category_type t</p>
        <p>WHERE t.row_id == ANY(category_type_ids);
END;
$BODY$</p>
        <p>LANGUAGE plpgsql;
10. Code sample of procedure for deleting data row from the table category_link.</p>
        <p>CREATE OR REPLACE FUNCTION delete_catgory_link_rows
(
category_id uuid,
use_linked boolean = NULL
)
RETURNS void AS
$BODY$
BEGIN</p>
        <p>DELETE FROM category_link t
WHERE $1 =</p>
        <p>CASE COALESCE($2, false)</p>
        <p>WHEN true THEN t.linked_category_id</p>
        <p>ELSE t.category_id</p>
        <p>
          END;
The problem of creation of universal data storage becomes significant in the case of
implementation of unstructured data collection using an object-oriented approach [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
for information representation and a relational database. During the creation of system
of such type, the most appropriate approach is a deductive method. It provides
decomposition of complex concepts into elementary units of data with mathematically
and semantic expected behavior. Units of information, in accordance with some
predefined concepts, describe the data domain. The universal data model allows storing
information of any type and complexity by using elementary primitives to describe
the hierarchical links and data relationships. Using such primitives is a prerequisite
for the development of an effective and reliable method of the description and
extraction of information necessary for researches. The article provides explanations on
proposed solutions and methodologies based on fundamental concepts of
programming [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and data analysis. The main advantage of the proposed approach is the
possibility of applying a universal model for any type of information, and also a
possibility of determination of system of the concepts that provide the foundation for the
creation a domain-specific language [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. Closest to the context of the specific
scientific knowledge, such language can represent correlations between structure of the
data domain and how it expressed through the criteria of commonality and variability.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ambler</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadalage</surname>
            <given-names>P</given-names>
          </string-name>
          . Refactoring Databases:
          <article-title>Evolutionary Database Design</article-title>
          .
          <source>AddisonWesley</source>
          ,
          <year>2006</year>
          ; 384 p.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Silverstone L. The Data Model Resource Book</surname>
          </string-name>
          , Vol.
          <article-title>1: A Library of Universal Data Models for All Enterprises</article-title>
          . Wiley,
          <year>2001</year>
          ; 542 p.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Rajan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Informatics for Materials Science</article-title>
          and Engineering. Butterworth-Heinemann,
          <year>2013</year>
          ; 610 p.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Blatov</surname>
            <given-names>VA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shevchenko</surname>
            <given-names>AP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Proserpio</surname>
            <given-names>DM</given-names>
          </string-name>
          .
          <article-title>Applied Topological Analysis of Crystal Structures with the Program Package ToposPro</article-title>
          .
          <source>Cryst. Growth Des</source>
          ,
          <year>2014</year>
          ;
          <volume>14</volume>
          (
          <issue>7</issue>
          ):
          <fpage>3576</fpage>
          -
          <lpage>3586</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Booch</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>Object-Oriented Analysis and Design with Applications</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>2007</year>
          ; 720 p.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>O</given-names>
            <surname>'Keeffe</surname>
          </string-name>
          <string-name>
            <given-names>M</given-names>
            ,
            <surname>Peskov</surname>
          </string-name>
          <string-name>
            <given-names>MA</given-names>
            ,
            <surname>Ramsden</surname>
          </string-name>
          <string-name>
            <given-names>SJ</given-names>
            ,
            <surname>Yaghi</surname>
          </string-name>
          <string-name>
            <surname>OM</surname>
          </string-name>
          .
          <article-title>The Reticular Chemistry Structure Resource (RCSR) Database of, and Symbols for</article-title>
          ,
          <source>Crystal Nets. Acc. Chem. Res.</source>
          ,
          <year>2008</year>
          ;
          <volume>41</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1782</fpage>
          -
          <lpage>1789</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Baerlocher</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCusker</surname>
            <given-names>LB</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olson</surname>
            <given-names>DH</given-names>
          </string-name>
          .
          <article-title>Atlas of Zeolite Framework Types Sixth revised edition</article-title>
          . London: Elsevier,
          <year>2007</year>
          ; 398 p.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Blatov</surname>
            <given-names>VA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Proserpio</surname>
            <given-names>DM</given-names>
          </string-name>
          .
          <article-title>Periodic-Graph Approaches in Crystal Structure Prediction</article-title>
          . Modern Methods of Crystal Structure Prediction, ed.
          <source>Oganov AR. Weinheim: WileyVCH</source>
          ,
          <year>2011</year>
          :
          <fpage>1</fpage>
          -
          <lpage>28</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Soifer</surname>
            <given-names>VA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kupriyanov</surname>
            <given-names>AV</given-names>
          </string-name>
          .
          <article-title>Analysis and recognition of the nanoscale images: Conventional approach and novel problem statement</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2011</year>
          ;
          <volume>35</volume>
          (
          <issue>2</issue>
          ):
          <fpage>136</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kupriyanov</surname>
            <given-names>AV</given-names>
          </string-name>
          .
          <article-title>Texture analysis and identification of the crystal lattice type upon the nanoscale images</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2011</year>
          ;
          <volume>35</volume>
          (
          <issue>2</issue>
          ):
          <fpage>151</fpage>
          -
          <lpage>157</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Zimichev</surname>
            <given-names>EA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazanskiy</surname>
            <given-names>NL</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serafimovich</surname>
            <given-names>PG</given-names>
          </string-name>
          .
          <article-title>Spectral-spatial classification with kmeans++ particional clustering</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2014</year>
          ;
          <volume>38</volume>
          (
          <issue>2</issue>
          ):
          <fpage>281</fpage>
          -
          <lpage>286</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Egorov</surname>
            <given-names>AV</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazanskiy</surname>
            <given-names>NL</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Serafimovich</surname>
            <given-names>PG</given-names>
          </string-name>
          .
          <article-title>Using coupled photonic crystal cavities for increasing of sensor sensitivity</article-title>
          .
          <source>Computer Optics</source>
          ,
          <year>2015</year>
          ;
          <volume>39</volume>
          (
          <issue>2</issue>
          ):
          <fpage>158</fpage>
          -
          <lpage>162</lpage>
          . DOI:
          <volume>10</volume>
          .18287/
          <fpage>0134</fpage>
          -2452-2015-39-2-
          <fpage>158</fpage>
          -162.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Fowler</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>Patterns of enterprise application architecture</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>2003</year>
          ; 560 p.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Yablokov</surname>
            <given-names>DE</given-names>
          </string-name>
          .
          <article-title>Programming paradigms. XIV MNPK “Nauchnoe obozrenie fizikotekhnicheskikh nauk v XXI veke”</article-title>
          , Moscow, Prospero,
          <year>2015</year>
          ;
          <volume>14</volume>
          (
          <issue>2</issue>
          ):
          <fpage>94</fpage>
          -
          <lpage>98</lpage>
          . [In Russian]
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Fowler</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Domain-Specific Languages</surname>
          </string-name>
          .
          <source>Addison-Wesley</source>
          ,
          <year>2010</year>
          ; 640 p.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>