<!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>Valeriy Mironov, Artem Gusarenko, Nafisa Yusupova</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ufa State Aviation Technical University</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Russia</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>1975</year>
      </pub-date>
      <fpage>238</fpage>
      <lpage>247</lpage>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>АННОТАЦИЯ
КЛЮЧЕВЫЕ СЛОВА
Introduction
data-base design, as required to generate an executable code for the model and its interpretation during
operation of the system for processing data within an information sys-tem, and external services. UML is a
general-purpose language, whereas SODB database design requires a specialized language. UML can be used
as a secondary tool for designing information systems. The language contains a large number of diagrams,
among which there are structural diagrams and charts to describe the behavior of their analytics provide
advantages in designing, as it is close to many object-oriented programming languages and using a behavior
chart describes the behavioral aspects of the future system. The user can easily read charts as charts syntax
is easy to learn.</p>
      <p>Case-tools. On the basis of existing notations developed specialized Case-tools for UML has several
commercial solutions, including the development of databases, for example, Oracle Designer Suite. These
tools allow graphically construct relational database model and generate the SQL-code for the application.</p>
      <p>The SODB uses a dynamic model based on XML which has its own syntax for defining data
structures required in situations and conditions associated with DPO-model objects with the data
processing specifications. Thus, for SODB it requires special tool Case-oriented dynamic model of language.</p>
      <p>
        Currently, the document-oriented databases are actively developing within the NoSQL movement
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Web application services to provide clients with access to remote information resources are developed
on this basis. Situation-oriented databases (SODB), the concept of which was proposed in 2010 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] can be
assigned to this area. Since that time, some aspects of SODB functionality were studied with the sup-port of
Russian Fund of Basic Research:
• SODB use as the basis for web applications [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ];
• Processing of XML documents in SODB based on dynamic DOM objects [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ];
• The hierarchical organization of the user interface based on SODB [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ];
• OLAP-oriented organization of the user interface based on SODB [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ];
• Processing JSON documents and documents provided by web services [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ].
      </p>
      <p>These results were published in Russian in Vestnik UGATU – the journal of Ufa State Aviation
Technical University. During the investigation the original concept, the terminology, and the general
understanding of the SODB purpose have been corrected. This article presents an attempt to consistently
explain the key principles underlying the SODB as a new approach to building data-processing applications.</p>
    </sec>
    <sec id="sec-2">
      <title>SODB and Data Processing Applications</title>
      <p>We consider SODB as a new, more effective approach to the problem of the development of data
processing applications. Let's see how this problem is solved on the basis of SODB at a higher level of
abstraction.</p>
      <p>Fig.1. SODB Architecture</p>
      <p>SODB Architecture. Fig. 1 shows an architectural model of SODB, which includes the following
components:
• A storage of documents Docs Store, containing a set of electronic documents Docs;
• A set of HSM (Hierarchical Situation Models or Hierarchical State Models). Each HSM is a
finitestate model corresponding to the business process and defines its states and jumps;
• A set of CSM (Current State Models). Each CSM corresponds to one parent HSM, while one HSM can
match zero or more child CSM. Thus, CSM corresponds to an independent implementation of HSM
and determines the current state of the implementation;
• A set of buffers DPO (Data Processing Objects), intended for documents processing. Each DPO
corresponds to one parent CSM (i.e. to one HSM implementation). Several DPO can be created for a
single CSM depending on the current state of the HSM;
• HSM Interpreter – an information processor that manages the database on the basis of the
interpretation of HSM and CSM.</p>
      <p>SODB functioning. The Interpreter receives a Query, which defines the hierarchical model HSM,
the current state CSM and processing parameters Params. Interpreter executes processing cycle
(interpretation cycle). It processes the HSM (1) indicated in the Query starting from a state specified in the
CSM (3) indicated in the Query, or starting from the initial state, if the CSM is not indicated in the Query.
During the processing the Interpreter monitors the current state jumps in accordance with the
specifications of HSM (3). The current state changes are reflected in the CSM.</p>
      <p>Furthermore, the Interpreter manages the Docs Store (2) and creates / manages run-time buffers
DPO (4) (in accordance with HSM specification). For example:
• It loads the DPO certain documents from the repository (Load);
• Processes documents in the DPO;
• Saves the modified documents in storage (Save);
• Uploads the documents as a result of the query (Upload).</p>
      <p>Thus, the result of the interpretation cycle may be tripartite:
1. Change the current state of the processed HSM in CSM;
2. Change the content of the documents store;
3. Creating the resulting document.</p>
      <p>Thus, the Model Driven Approach is implemented in the SODB architecture. Using the embedded
highly abstract dynamic models aims to facilitate the design of the application software. A higher level of
abstraction is achieved through the use of HSM declarative form to define the rules of monitoring the current
situation and the rules of data processing (and not a procedural form, as in the case with the traditional use
of scripts and stored procedures). In these circumstances, the developer is required to create a highly
abstract situational model, and the interpreter runs the application in accordance with this model.</p>
    </sec>
    <sec id="sec-3">
      <title>Hierarchical Situational Model HSM</title>
      <p>HSM Elements. HSM is an ordered set of elements forming a hierarchy (tree) in the sense that the
model has a single root element, and each non-root element has a single parent element and may have
several ordered child elements. Each element contains three components: Type (mandatory); Name
(mandatory); Attributes (optional).</p>
      <p>HSM Notations. Two equivalent notations can be used to represent HSM: graphical notation
designed for developers, and text notation designed for the interpreter.</p>
      <p>When using the graphical notation, the element type is specified as an icon, and the element name
and element attributes are written to the right of the icon. The hierarchy of elements is formed by a
connector according to the following rules:
• Connectors attached to the bottom of the element icon, or on the right, leading to its child;
• Connectors attached to the element icon on the left, or from above, leading to its parent.</p>
      <p>When using the text notation, the XML syntax is used. The HSM element type is specified as XML
namespace prefix. The HSM element name is specified as the name of XML element. The HSM element
attributes are specified as the XML element attributes, respectively. The hierarchy is formed by embedding
elements in accordance with the rules of XML.</p>
    </sec>
    <sec id="sec-4">
      <title>HSM Main Elements:</title>
      <p>State – the root of HSM (root state), or child of submodel element (submodel state);</p>
      <p>Submodel – a child of a certain State. It used to specify a set of internal states, one of which is the
current at each moment;</p>
      <p>Action – a child of a certain State. Used to specify certain activities to be performed when the parent
State is the current state;</p>
      <p>Jump – a child of a certain State. It is used to change the current state in accordance with the specified
activity predicate.</p>
      <p>HSM Example. Fig. 2 shows an example of a two-level business process model that we use to
illustrate the HSM. Fig. 3 shows an example of the HSM graphical notation. The equivalent representation in
a text notation is shown in Listing 1.</p>
      <p>The model (see Fig. 2) corresponds to a typical multi-user web application that serves both
anonymous and registered users. Anonymous users are granted access to shared (Public) data. Registered
users have access to additional special (Private) data. The logic of the application (Application Level) is
represented as a transition graph, which nodes correspond to the possible states (situations), and the arcs
correspond to the state jumps. BP symbol indicates the initial state of the model. Activity predicates which
marked arcs, define the conditions of the current state jumps.</p>
      <p>The model contains three aggregated states: A (Anonymous) – the initial state corresponding to the
anonymous user. Any user begins as an anonymous; I (Identified) – the state corresponding to the identified
registered user; R (Registration) – the state corresponding to the user registration process.</p>
      <p>Activity predicates have the following meanings: AI – an anonymous user successfully passed the
authentication procedure; AR – an anonymous user wished to register; RI – a user has successfully passed
the registration procedure; RA – a user has not passed the procedure of registration; IA – identified user has
completed the session.</p>
      <p>Data Level includes three types of data: Public and Private electronic documents, and a table of
registered Users. Public documents are available in states A and I. Private documents are available only in
state I, and the table Users is available in states A and R.</p>
      <p>Root state sta: Main (see Fig. 3) contains submodel sub:User, implements the business logic to
manage users. This submodel includes three states: sta: Anony-mous is initial state of the submodel
corresponding to an anonymous user; sta:Registration is a state corresponding to the registration of the
user; sta:Identified is a state corresponding to the identified user.</p>
      <p>Each state in the submodel sub: User includes actions which form the result of the query: act:
Anonymous – the image formed on the basis of documents Public (see Fig. 2) and the form for entering the
identification data or a command for registration are sent to anonymous users; act:Identified – the image
formed on the basis of documents Private (see. Fig. 2), as well as the control to return to the anonymous
user, are sent to the identified user; act: Registration – the form to enter personal data for registration or
refusal of registration is sent to the user.</p>
      <p>Changing the current states mediated by jump elements that refer to the predicates that verify user
input, which came in the parameters of the query: jmp:Identified provides a jump from sta:Anonymous to
sta:Identified, if a user enters the correct username and password (Login-check function is OK); jmp:
Registration provides a jump to sta:Registration, if a user pressed the registration button (Reg-btn function
is OK); jmp:Identified provides a jump from sta:Registration to sta:Identified, if a user correctly filled out
the registration form (Reg-OK function is OK); jmp:Anonymous returns to the state sta:Anonymous from
states sta:Registration or sta:Identified, if a user clicks the Exit button (R-exit or I-exit function is OK).</p>
      <p>State sta:Identified also contains submodel sub:Stages, which define two internal sub-states:
sta:Stages-0 and sta:Stages-1.</p>
      <p>Thus, HSM is a declarative representation of a hierarchy of states, jumpss between states, and
actions associated with the states.</p>
      <p>Listing 1. An example of the HSM text notation</p>
    </sec>
    <sec id="sec-5">
      <title>HSM Interpretation</title>
      <p>Consider how processing is performed in the situational model interpretation cycle for query
processing and results forming.</p>
      <p>Multi-pass Interpretation. HSM processing is performed by downward traversal of HSM elements
according to their hierarchical order. Traversing begins with the root state; state handling involves the
processing of its child elements, and so on. Submodel processing begins with processing of the current state
element in accordance with a CSM. Multi-pass interpretation in which the interpreter performs several
passes under one HSM interpretation cycle holds. Usually two passes are enough (the initial pass and the
final pass), in special cases, additional passes (intermediate passes) are require.</p>
      <p>The initial pass is intended for creating and updating the Current State Model (CSM). The initial
states of the submodels are set as the current states in creating CSM. Updating the current state, it is
performed in accordance with the activity of the jump elements. When jump activity is detected (activity
predicate is true), new current state of the processed submodel is recorded in CSM.</p>
      <p>The final pass is intended to form the query result in accordance with the reached current state. In
this pass, the jump elements are ignored, and only the state elements corresponding to the current states of
the CSM are processed.</p>
      <p>Changing the Current State. Changing the state is only performed on the first pass when
processing jump element. If the processing jump element shell reveals its activity, the following actions are
performed:
• The parent state is processed in the epilogue mode (in epilogue mode jump elements are ignored);
• Target state element for the active jump is searched and is recorded to the CSM as the current state
of the submodel;
• The new current state element is processed in the prologue mode.</p>
      <p>Possibility to lock the HSM elements processing depending on the pass and processing mode using
attributes pass and mode is provided.</p>
      <p>Current States Model. CSM is a subtree of the HSM, where submodels are represented only by their
current states. Fig. 3 shows an example of CSM, corresponding HSM, discussed above (see. Fig. 3 and Listing
1). CSM corresponds to the current state sta:Identified for submodels sub:User and the current state sta:
Stage-1 for submodels sub:Stages.</p>
      <p>Special types of action element, called Document Processing Object elements (DPO elements) are
provided for the processing of documents from the SODB document store. DPO elements enable us to
explicitly specify the document processing in the HSM, not hiding it inside the implementation of actions
program code. Currently, two kinds of DPO elements are designed:</p>
      <p>
        • DOM element focused on the processing XML documents using XSL transformation technology
[
        <xref ref-type="bibr" rid="ref7 ref8 ref9">7–9</xref>
        ];
      </p>
      <p>
        • Smarty-element focused on the processing JSON documents using the technology of filling
templates [
        <xref ref-type="bibr" rid="ref16 ref17 ref18 ref19 ref20 ref21 ref22 ref23 ref24 ref25">16–25</xref>
        ].
      </p>
      <p>We explain the concept of DPO on the example of DOM elements. DOM elements are placed inside
the state elements and are specified DOM objects that are created and used for loading, modifying and
uploading XML-content during HSM interpretation cycle. These functions are supported by three types of
HSM-elements:</p>
      <p>DOM element is a child of a state element. It is used to create a DOM object, which exists during
interpretation cycle;</p>
      <p>Source element is a child of DOM element or of another source element. It refers to the XML document
placed in the document store. It is used to specify XML content loading to the DOM-object created by the
parent DOM element. Nested source elements allow forming the content of the DOM object on the basis of
several XML documents;</p>
      <p>Receiver element is a child of DOM element. It is used to upload data from the DOM object created by
the parent DOM element to the document store or as a result of a query.</p>
      <p>Fig. 5, 6 and 7 show the use of DOM elements for XML documents processing. Fig. 5 shows a simple
case of DOM object creating on the base of a single XML document.</p>
      <p>Fig. 6 shows a more complex case, when the content of DOM object is based on the two XML
documents.</p>
      <p>Models of initial XML documents are presented in Fig. 7a and 7b. Model of resulting XML document
formed in the DOM object on the basis of two initial XML documents is presented in Fig. 7c.</p>
      <p>DOM Objects Creating and Loading. In the state sta:Users-brief-report (see Fig. 5) the element
dom:Users create DOM object containing a summary of the registered users. File users.xml is loaded into
this DOM object from the data store directory users by using the source src:Users.</p>
      <p>
        In the state sta:Users-extended-report (see Fig. 6) the element dom:Users create the DOM object
containing detailed information in addition to the summary of registered users. For this the auxiliary object
dom:Details is created and file details.xml containing detailed information [
        <xref ref-type="bibr" rid="ref26 ref27 ref28 ref29 ref30 ref31">26-31</xref>
        ] users is loaded. Next, the
interpreter creates and loads the object dom:Users by merging (equijoin) summary and detailed user
information. Each XML element user of the users.xml document is attached as a child to XML element detail
of the object dom:Details such that their XML attributes id have the same value (see Fig. 7c). For this the
source element src:Details enclosed in the source element src:Users is used (see Fig. 6).
      </p>
      <p>Source src:Details contains the following attributes:
• targChild contains XPath expression that specifies a set of target (parent) nodes (the set of all
elements user from the document users.xml), to which child nodes of the source must be attached;
• dom is a reference to the previously created DOM object containing the nodes of the source;
• join contains XPath expression that specifies the set of attached (child) nodes (the set of all
elements detail from the document details.xml), which must be attached to the target node;
• on defines join condition (requires that the id attributes of joined nodes have the same value).</p>
      <p>This example, in particular, demonstrates the use of multiple DOM objects handed in the same state.
Noting that the XML documents merging can be performed without auxiliary DOM object dom:Details and
apply the sources pointing directly to the files in the documents store.</p>
      <p>Formation of the Results. Fig. 8 explains the formation of the query result via receiver rcv:Report
(see Fig. 6). The result is formed as a HTML-document.</p>
      <p>a
b</p>
      <p>This receiver defines the XSL transformation of content of parent DOM object in accordance with
the style sheet, placed in a documents store in the directory xsl. Transformation model, whereby the
interpreter generates the detailed report is shown in Fig. 8a. The resulting screen form is shown in Fig. 8b.</p>
      <p>Note that in Fig. 6 receiver, forming a detailed report, is placed in duplicate element dom:Users.
Generally speaking, said receiver can be placed in the same element dom:Users, which placed sources
src:Users and src:Details. Separation is done to illustrate reusability of DOM elements having the same name
to refer to the corresponding DOM object (in both single and several states).</p>
      <p>1. SODB is a new approach to building data-processing applications based on the principles of
Model Driven Approach.</p>
      <p>2. SODB contains an embedded dynamic finite states model in the form of transition states graphs,
reflecting the logic of the corresponding business process.</p>
      <p>3. Data management is performed by interpreting the embedded dynamic model tracking the
current states and access to the data associated with the current states.</p>
      <p>4. To construct embedded dynamic models the declarative language HSM is proposed. It allows you
to describe in graphic or text form a hierarchy of submodels containing several states, which, in turn, can be
specified state jumps, actions and other submodels.</p>
      <p>5. HSM interpreter performs several downstream passes of the dynamic model for each
interpretation cycle. Current state model CSM is formed as a HSM subtree, wherein for the submodels
provides their current states.</p>
      <p>6. To specify document processing the document processing elements DPO, generating DOM and
Smarty objects, are provided in HSM. Source elements provide loading documents into objects.</p>
      <p>7. To specify loaded documents processing and results unloading the receiver elements are
provided in the HSM. XML documents are processed by the XSL transformation, and JSON-documents are
processed by templates compiler processing.</p>
      <p>Литература
Юсупова Нафиса Исламовна, декан фак. информатики и робототехники. Дипл. радиофизик (Воронежск. гос. ун-т, 1975).
Др техн. наук по упр. в техн. системах (УГАТУ, 1997). Иссл. в обл. иерархических моделей, ситуационного
управления в техн. и соц. системах.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Sadalage</surname>
            ,
            <given-names>P. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>NoSQL Distilled: a Brief Guide to the Emerging World of Polyglot Persistence</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yusupova</surname>
            ,
            <given-names>N.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shakirova</surname>
            ,
            <given-names>G.R.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Situation-Oriented</surname>
            <given-names>Databases</given-names>
          </string-name>
          : Concept, Architecture,
          <string-name>
            <given-names>XML</given-names>
            <surname>Realization</surname>
          </string-name>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>14</volume>
          , no.
          <volume>2</volume>
          (
          <issue>37</issue>
          ), pp.
          <fpage>233</fpage>
          -
          <lpage>244</lpage>
          (
          <year>2010</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malikova</surname>
            ,
            <given-names>K.E.</given-names>
          </string-name>
          :
          <article-title>Internet Applications Based on Embedded Dynamic Models: Architecture, Data structure, Interpretation</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>14</volume>
          , no.
          <volume>1</volume>
          (
          <issue>36</issue>
          ), pp.
          <fpage>154</fpage>
          -
          <lpage>163</lpage>
          (
          <year>2010</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malikova</surname>
            ,
            <given-names>K.E.</given-names>
          </string-name>
          :
          <article-title>Internet Applications Based on Embedded Dynamic Models: User Interface Controls</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>14</volume>
          , no.
          <volume>5</volume>
          (
          <issue>40</issue>
          ), pp.
          <fpage>170</fpage>
          -
          <lpage>175</lpage>
          (
          <year>2010</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gusarenko</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          :
          <article-title>Situation-Oriented Databases: the Concept of Managing XML Data Based on Dynamic DOM Objects</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>16</volume>
          , no.
          <volume>3</volume>
          (
          <issue>48</issue>
          ), pp.
          <fpage>159</fpage>
          -
          <lpage>172</lpage>
          (
          <year>2012</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gusarenko</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          :
          <article-title>Dynamic DOM Objects in Situation-Oriented Databases: Lingware and Knoware of Data Sources</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>16</volume>
          , no.
          <volume>6</volume>
          (
          <issue>51</issue>
          ), pp.
          <fpage>167</fpage>
          -
          <lpage>176</lpage>
          (
          <year>2012</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanashin</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Hierarchical Widgets: User Interface Organization in Web Applications on the Basis of Situation-Oriented Databases</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>17</volume>
          , no.
          <volume>2</volume>
          (
          <issue>55</issue>
          ), pp.
          <fpage>138</fpage>
          -
          <lpage>149</lpage>
          (
          <year>2013</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanashin</surname>
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Hierarchical Widgets: User Data Control Algorithms in Web Applications on the Basis of Situation-Oriented Databases</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>18</volume>
          , no.
          <volume>1</volume>
          (
          <issue>62</issue>
          ), pp.
          <fpage>204</fpage>
          -
          <lpage>213</lpage>
          (
          <year>2014</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Makarova</surname>
            ,
            <given-names>E.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Web OLAP Conceptual Data Model Design on the Basis of Situation-Oriented Database</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>16</volume>
          , no.
          <volume>6</volume>
          (
          <issue>51</issue>
          ), pp.
          <fpage>177</fpage>
          -
          <lpage>188</lpage>
          (
          <year>2012</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Makarova</surname>
            ,
            <given-names>E.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Analytical Functions in Web Applications Based on Situation-Oriented Databases</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>17</volume>
          , no.
          <volume>5</volume>
          (
          <issue>58</issue>
          ), pp.
          <fpage>150</fpage>
          -
          <lpage>165</lpage>
          (
          <year>2013</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gusarenko</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Smarty-Objects</surname>
          </string-name>
          :
          <article-title>Use Case of Heterogeneous Sources in Situation-Oriented Databases</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>18</volume>
          , no.
          <volume>3</volume>
          (
          <issue>63</issue>
          ), pp.
          <fpage>242</fpage>
          -
          <lpage>252</lpage>
          (
          <year>2014</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Gusarenko</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mironov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Using of RESTful Services in Situation-Oriented Databases</article-title>
          .
          <source>Vestnik UGATU</source>
          , vol.
          <volume>19</volume>
          , no.
          <volume>1</volume>
          (
          <issue>67</issue>
          ), pp.
          <fpage>204</fpage>
          -
          <lpage>211</lpage>
          (
          <year>2015</year>
          )
          <article-title>(in Russian)</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Aguilar J. A</surname>
          </string-name>
          . et al.
          <article-title>An Analysis of Techniques and Tools for Requirements Elicitation in Model-Driven Web Engineering Methods // Computational Science</article-title>
          and
          <string-name>
            <surname>Its Applications</surname>
          </string-name>
          --ICCSA
          <year>2015</year>
          . - Springer International Publishing,
          <year>2015</year>
          . pp.
          <fpage>518</fpage>
          -
          <lpage>527</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Rumpe</surname>
            <given-names>B</given-names>
          </string-name>
          .
          <article-title>Executable Modeling with UML. A Vision or</article-title>
          a Nightmare? // arXiv preprint arXiv:
          <volume>1409</volume>
          .
          <fpage>6597</fpage>
          . -
          <lpage>2014</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Agustin</surname>
            <given-names>J. L. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Del Barco P. C.</surname>
          </string-name>
          <article-title>A model-driven approach to develop high performance web applications //</article-title>
          <source>Journal of Systems and Software. - 2013</source>
          . - Vol.
          <volume>86</volume>
          . - No.
          <year>12</year>
          . pp.
          <fpage>3013</fpage>
          -
          <lpage>3023</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Delgado</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marotta</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>González</surname>
            <given-names>L</given-names>
          </string-name>
          .
          <article-title>Towards the construction of quality-aware Web Warehouses with BPMN 2</article-title>
          .0 Business Processes //Research Challenges in Information Science (RCIS),
          <year>2014</year>
          IEEE Eighth International Conference on.
          <source>- IEEE</source>
          ,
          <year>2014</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Delgado</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marotta</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <article-title>Automating the process of building flexible Web Warehouses with BPM Systems /</article-title>
          /Computing Conference (CLEI),
          <source>2015 Latin American</source>
          . - IEEE,
          <year>2015</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Aguilar J. A</surname>
          </string-name>
          . et al.
          <article-title>An Analysis of Techniques and Tools for Requirements Elicitation in Model-Driven Web Engineering Methods //Computational Science</article-title>
          and
          <string-name>
            <surname>Its Applications</surname>
          </string-name>
          --ICCSA
          <year>2015</year>
          . - Springer International Publishing,
          <year>2015</year>
          . pp.
          <fpage>518</fpage>
          -
          <lpage>527</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Kumar</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singh</surname>
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Testing UML Designs Using</surname>
            <given-names>Class</given-names>
          </string-name>
          , Sequence and Activity Diagrams //
          <source>International Journal for Innovative Research in Science and Technology. - 2015</source>
          . - Vol.
          <volume>2</volume>
          . - No. 3. pp.
          <fpage>71</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Karamjit</surname>
            <given-names>Kaur</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Rinkle</given-names>
            <surname>Rani</surname>
          </string-name>
          .
          <article-title>Modeling and Querying Data in NoSQL Databases</article-title>
          .
          <source>Big Data</source>
          , 2013 IEEE International Conference. pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          . DOI:
          <volume>10</volume>
          .1109/BigData.
          <year>2013</year>
          .6691765
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Pinheiro</surname>
            <given-names>P. V. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Endo</surname>
            <given-names>A. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simao</surname>
            <given-names>A</given-names>
          </string-name>
          .
          <string-name>
            <surname>Model-Based Testing of RESTful Web Services Using UML Protocol State</surname>
            <given-names>Machines</given-names>
          </string-name>
          // Brazilian Workshop on Systematic and
          <source>Automated Software Testing</source>
          .
          <article-title>- 2013.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Pokorny</surname>
            <given-names>J.</given-names>
          </string-name>
          <article-title>NoSQL databases: a step to database scalability in web environment //</article-title>
          <source>International Journal of Web Information Systems. - 2013</source>
          . - Vol.
          <volume>9</volume>
          . - No. 1. pp.
          <fpage>69</fpage>
          -
          <lpage>82</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Wu</surname>
            <given-names>C. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            <given-names>C. H.</given-names>
          </string-name>
          <article-title>The web services composition testing based on extended finite state machine and</article-title>
          UML model // Service Science and
          <source>Innovation (ICSSI)</source>
          ,
          <source>2013 Fifth International Conference on. - IEEE</source>
          ,
          <year>2013</year>
          . pp.
          <fpage>215</fpage>
          -
          <lpage>222</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. Zhang S.
          <article-title>Application of document-oriented NoSQL database technology in web-based software project documents management system // Information Science</article-title>
          and
          <source>Technology (ICIST)</source>
          ,
          <source>2013 International Conference on. - IEEE</source>
          ,
          <year>2013</year>
          . pp.
          <fpage>504</fpage>
          -
          <lpage>507</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Bugiotti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cabibbo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Atzeni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Torlone</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Database design for NoSQL systems</article-title>
          . In Conceptual Modeling (pp.
          <fpage>223</fpage>
          -
          <lpage>231</lpage>
          ). Springer International Publishing.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Schram</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>K. M.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>MySQL to NoSQL</article-title>
          .
          <source>In Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity-SPLASH</source>
          (Vol.
          <volume>12</volume>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Nagni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ventouras</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Parton</surname>
            ,
            <given-names>G. A.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Implementation of UML Schema to RDBM</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Tramontana</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amalfitano</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Fasolino</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          (
          <year>2013</year>
          ,
          <article-title>September)</article-title>
          .
          <article-title>Reverse engineering techniques: From web applications to rich Internet applications</article-title>
          .
          <source>In Web Systems Evolution (WSE)</source>
          ,
          <year>2013</year>
          15th IEEE International Symposium on (pp.
          <fpage>83</fpage>
          -
          <lpage>86</lpage>
          ). IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Daniel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Model-Driven Software Development</article-title>
          . In Mashups (pp.
          <fpage>71</fpage>
          -
          <lpage>93</lpage>
          ). Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J. S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <article-title>Model-driven engineering with domain-specific meta-modelling languages</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ),
          <fpage>429</fpage>
          -
          <lpage>459</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Martins</surname>
            ,
            <given-names>B. F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Souza</surname>
            ,
            <given-names>V. E. S.</given-names>
          </string-name>
          (
          <year>2015</year>
          ,
          <article-title>October). A Model-Driven Approach for the Design of Web Information Systems based on Frameworks</article-title>
          .
          <source>In Proceedings of the 21st Brazilian Symposium on Multimedia and the Web</source>
          (pp.
          <fpage>41</fpage>
          -
          <lpage>48</lpage>
          ). ACM.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>