<!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>Automation of distributed data management in applied microservices package for scientific computations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>G A Oparin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V G Bogdanova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A A Pashinin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Matrosov Institute for System Dynamics and Control Theory of SB RAS</institution>
          ,
          <addr-line>Lermontov St. 134, Irkutsk, Russia, 664033</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>We offer a specialized toolkit for automating both knowledge management when creating an applied microservices package and data accumulating during its application for scientific computations in a hybrid computing environment. The decentralized solving of the declaratively formulated problem is carried out by an active agent group. This group is selforganized by logical inference on the distributed knowledge base of a subject domain. The developed toolkit automates the creating and updating of the local knowledge base of the manager-agent of applied microservices package, as well as the local knowledge bases of distributed computational agents. Local knowledge bases are formed using a description of the interface of computational microservices managed by these agents. Microservice ensembles, corresponding to the active group, are stored in the knowledge base of the manager-agent. The developed toolkit uses this information for testing microservice in the case of its update. In hybrid computing, this toolkit provides synchronizing, archiving, and saving of calculated data. Hybrid infrastructure combines the reliability and availability of using on-premises computers with scaling to the cloud when peak loads occur. The conducted experiments confirmed the effectiveness of the presented approach for solving practically significant scientific problems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The Applied Microservice Packages (AMP) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] provides an effective way for distributed scientific
computations. Intelligent AMPs are based on a subject domain (SD) model, which is understood as a
collection of information about SD objects and the relationships between them. The user is allowed to
formulate the problem of finding the desired quantities by given initial values (non-procedural
problem statement, NPS) without previously studying the relationship of applied modules using AMP
agents. These agents deployed in a specific computational field (CF) [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] launch the microservices
implementing applied modules. AMP agents manage by solving the user's problem. Management is
decentralized for NPS and performed by an active group of agents based on pair interactions. This
group self-organizes by the logical inference using a knowledge base (KB) distributed over CF nodes.
Fragments of relations are stored in local KB of agents, reflecting the relationship of applied modules
with input and output parameters. This knowledge identifies neighboring agents involved in pair
interactions. The event management by input data readiness coordinates the behavior of agents both in
the formation of a group and performing joint actions for solving the user problem.
Agents are equivalent in the sense that they have the same behavioral model. Thus, agents deployed on
nodes of a CF are a computational system consisting of a set of equivalent nodes that jointly perform a
common problem and are connected with neighbors through links to a logical network. According to
the definition given in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], in the most general sense, this network of computational agents is a
peer-topeer overlay network due to its properties. Combining computational agents into a network, the nodes
of which interact in the P2P computing style [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], provides the ability to create open multi-agent
systems (MAS). The set of functioning agents is dynamical in such MAS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Thus integration a
reliable and scalable P2P system with multi-agent technology provides advantages of both paradigms.
The use of agent architecture jointly with microservice one provides a practical opportunity to
implement the mechanisms of semantic interaction of agents in a P2P network. The HPCATAMP
technology, developed by authors, for creating and using AMP, in which the rights to execute
microservices are delegated to computer network agents, is described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The new instrumental
basis of this technology is the cloud version HPCSOMAS-MSC of software platform
HPCSOMASMS [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In this study, we offer AMPDM (AMP Data Management) tools implemented in this version
for automation both knowledge management during the creating of AMP and saving calculated data
during its application. The AMPDM is oriented to automate the AMP usage for solving problems in a
hybrid computing environment. Hybrid cloud infrastructure extends the local user infrastructure with
cloud resources in case of peak loads [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The part of the cloud infrastructure hosted at the client
resources on which cloud services are installed is named the on-premises cloud infrastructure.
Developed tools are used in the AMP deployed in a hybrid infrastructure. AMPDM automates the
creation and updating of the local KB of the AMP manager-agent (AMPMA), as well as the local KB
of the distributed computational agent (DCA). Local KBs of DCAs are formed based on a description
of the interface of computational microservices managed by these agents. Information about active
DCA groups, according to NPS, are stored in KB of the AMPMA for using in the process of testing
updated microservices. In the process of hybrid computing, AMPDM provides synchronization,
archiving, and storage of calculated data.
      </p>
      <p>
        A microservice-based approach, a hybrid environment, and synchronization of data installed on both
cloud resources and on-premises computers make our technology closer to the dew computing (DC)
technology. DC oriented to the full use of the potential of on-premises resources and scalability of the
cloud [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. DC is based on the concept of microservice in a vertical hierarchy of distributed computing
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The DC categories underlined in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] by the resource used within this paradigm, are supplemented
by a new one – AMP in Dew. In this case, on-premises computer resources such as agents,
microservices, and a user-selected data set (in a synchronized folder) have a cloud copy. The identity
of these resources is maintained using AMPDM. The proposed approach is demonstrated by the
example of the AMP developed with its use for solving problems of the qualitative study of binary
dynamic systems (BDS) based on the Boolean constraint method (BCM [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]). The relevance of
research is due to the widespread use of BDS as models of gene regulatory networks in bioinformatics.
The conducted experiments confirmed the effectiveness of the presented approach to solving
practically significant scientific problems.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        The creation and application of peer-to-peer computing networks [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and also the study of methods
of its construction are actively developing in recent years [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Computer services are moving from
traditional Internet services to a peer-to-peer cloud (P2P Cloud), which is reflected in a wide range of
scientific studies. The integration of cloud computing and P2P systems is used to overcome the
problems that arise in these paradigms. The advantages of P2P networks, discussed in detail in [
        <xref ref-type="bibr" rid="ref11 ref12 ref3">3, 11,
12</xref>
        ], are scalability, communication costs minimization, self-organization, and adaptability.
Distribution and decentralization of such networks provide fault tolerance and load self-balancing
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], the study of the P2P networks application is given, in particular, their use for parallel
computing and the creation of fault-tolerant systems was noted. One of the problems in cloud
computing is the use of centralized approaches for servicing discovery, monitoring, and load
balancing. Therefore, many decentralized mechanisms for storing data in the cloud are based on P2P
protocols [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Currently, most P2P systems operate with a simple content exchange, which is
significantly different from the functionality of the services exchange. A review of several works
devoted to the development of research related to the integration of P2P networks and cloud
computing (for example, [
        <xref ref-type="bibr" rid="ref15 ref16">15-17</xref>
        ]) to support such functionality is given in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. An efficient and
scalable P2P Cloud approach to providing cloud services using a structured P2P based on a distributed
hash table was proposed in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This approach is used for storage, discovery, and sharing of services.
In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], a prototype of a P2P cloud system is proposed, namely, a fully distributed IaaS Cloud
infrastructure. The authors note that, unlike the Volunteer Computing system, P2P Cloud does not
have central coordination or central task repository. In [17], an approach is proposed to provide a
highly accessible storage service in a mixed P2P Cloud. Mentioned above approaches [
        <xref ref-type="bibr" rid="ref15 ref16">15-17</xref>
        ] are
oriented for the provision of storage services based on the P2P network, as noted in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Although
approaches, similar [
        <xref ref-type="bibr" rid="ref15 ref16">15-17</xref>
        ], are successfully used in the past two decades in integration with the
cloud, studies related to its use as the basis for the provision of software as a service (SaaS) are still
rare [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The following idea was proposed in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], P2P Cloud approach (central server - primary
administrator and set of nodes – super peers) provides remote executing of service in SaaS form
hosted on peers.
      </p>
      <p>
        Unlike the above works, our idea is to integrate the advantages of a P2P network into multi-agent
technology to organize decentralized management of service-oriented scientific computing in AMP.
The rights to execute computational microservices are delegated to agents. The problem solution is
based on the semantic interaction of P2P network agents deployed on the nodes of the CF. Unlike
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], the hybrid cloud infrastructure is formed by the HPCSOMAS-MSC software platform based on a
template similar to the "on-premises pattern" [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This pattern expands the scope of management tools
by installing on the cloud resources special management agent of HPCSOMAS-MSC, CRA (Cloud
Resource Agent). This approach requires the preliminary installation of additional software and DCA
agents implemented as services under the capabilities of the resource and the class of problems. The
installed agent controls computations only on its resources. The service-oriented computing paradigm
contributes to the advancement of distributed systems and their applications significantly. Therefore,
both tools for creating, deploying, and updating services are needed, as well as tools for automating
data management during the development and application of AMP.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Data types in AMP</title>
      <p>Scientific computations processes have unique requirements that are different from business work
processes [18], for example, requirements arising from multivariate computations. Organizational
requirements common to various SD include a user interface, reuse of computing components,
enduser transparent runtime environment, support for local distributed computing, and pipeline-parallel
computing, scalability, and fault tolerance. High-level management of both metadata and calculated
data obtained during the computational experiments are required to fulfill all these requirements. The
creation of AMP for scientific computing and the organization of the computing process is based on a
multi-agent approach.</p>
      <p>Figure 1 shows a diagram of the data exchange during the computation process in AMP. Compared to
earlier studies [19], the management of computations is simplified. The top-level of control is
comprised of AMPMA. These agents are the advanced version of the previously developed Problem
Statement Agent (PSA, [20]). Along with providing an interface for NPS, these agents have
significantly extended functionality, in particular, the data management services discussed in the next
section. DCAs are at a lower level of management. The DCA is the modification of Distributed Solver
Agents (DSA [20]) by including the functionality of running Computational Microservice (CM),
which was previously the prerogative of individual computing agents.</p>
      <p>The computational process begins with the NPS in the user interface provided by the AMPMA agent.
A Dew user within the DC paradigm performs NPS on a Dew-AMPMA agent installed on an
onpremises resource. NPS input and output parameter names are selected from the AMPMA agent
parameter vocabulary. These vocabularies may vary depending on the specific AMPMA. The steps for
solving the problem are described in detail in [20]. At the first stage, the conclusion about the problem
solving possibility is made based on logical inference on the DCA agent KB distributed across the
nodes of the CF. This KB stores, in particular, fragments of interconnections of parameters and
computational modules. The NPS and the corresponding active group of agents are stored in the
AMPMA local KB. This data is duplicated on other AMPMA to provide fault tolerance computing. At
the stage of joint actions, only agents of the active group operate, to which AMPMA transmits input
data. The active group then performs a decentralized problem solving, regardless of the intervention of
the AMPMA agent or user. This queue can arise both if the DCA is a member of different active
groups or take part in multivariate computations. If the reserves of the local infrastructure and the
private cloud are exhausted, AMPMA calls the CRA in the case of the option of using an additional
cloud resource was set in the user profile. DCA agents, analyzing task queue, decide on the need for
the request to AMPMA and reaction in cases of both allocating the resources and request failure. Data
management in the computation process is carried out by the AMPDM system.</p>
    </sec>
    <sec id="sec-4">
      <title>4. AMPDM system design</title>
      <p>
        AMPDM is intended for AMP developers, users, and administrators. Automation of data management
using AMPDM is carried out both at the stage of development of AMP and the stage of its application,
also in computational microservices updating. The composition of AMPDM is shown in figure 2.
Automation of Data management is provided using the services of the AMPMA and several wizards
of the MSCDT (Microservices Creation Deployment Testing, [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]) system:







      </p>
      <p>Authorization manager manages user authorization and the provision of access to agents,
computing microservices, and services for viewing computation results.</p>
      <p>File manager manages the download, editing, and backup copying of user files by AMPMA
agents. Data exchange is performed using the HTTP protocol.</p>
      <p>Synchronization manager manages the synchronization of local KB, calculated user data of
DSA agents, and NPS formulated on AMPMA.</p>
      <p>Creation wizard automates the creation of new services based on ready-made standard
templates and filling its local KB.</p>
      <p>Configuration wizard automates the setup of agent parameters, the organization of the
relationship between computing agents and microservice functionality.</p>
      <p>Test wizard automates the testing of a deployed package and the interaction of agents and
microservices. The user can send test tasks to microservices or their ensembles and check the
result.</p>
      <p>Update wizard automates updating agents and microservices from local and external
repositories.</p>
      <p>Managers are accessed through the AMPMA web interface.
4.1. Backup copying and synchronization
Backup copying of the results is needed in the following cases:



</p>
      <p>The results take up much space, and their long-time storage on a computing resource is
inappropriate.</p>
      <p>The results are significant, and there is a danger of their loss when stored on a single
computing resource.</p>
      <p>Computations are carried out on the temporarily allocated resource, which must be disabled
after experiments.</p>
      <p>Regular work is required with these results on the user resource.</p>
      <p>The user can install the Dew-AMPMA on his computer and configure it to synchronize the results of
computations and input files from the available AMPMA agents, by request, schedule, or the fact of
data change. A user who has direct access to two or more AMPMA agents at once can configure them
to back up or synchronize the computation results from one to the other, and mutually between them.
The administrator can also configure AMPMAs so that user files are moved to agents available to
these users, where data storage will be more efficient. Synchronization in the computation process is
carried out for the following objects:


</p>
      <p>Files uploaded by the user,
Files created as a result of computations,
Database, in which information is stored about completed tasks, including the NPS, its launch
time and data, active group, and other information needed later.</p>
      <p>Figure 3 shows the user profile, synchronization, and backup settings performing by the file manager
of the external (not located on the user's local computer) AMPMA. The interface is designed to set the
synchronization mode, by command or by time, indicating the frequency of synchronization, for
downloading data, changing the password, mail, and for subscribing to notifications.</p>
      <p>DC paradigm based data synchronization is used when restoring communication after the Internet
disconnecting. This synchronization is performed between the user's Dew-AMPMA and the specified
external AMPMA. The synchronized data search is based on the file modification time stored in the
update table of APMA.</p>
      <p>The Dew-AMPMA must be pre-connected to external AMPMA (figure 4). This connection provides
the ability to exchange data, requests for solving the problem through Dew-AMPMA, synchronize
files between these agents, and back up the computation results.
4.2. Updating and testing of microservices
To update computational microservices, the MSCDT system update wizard is used. The update is
performed in case of changing the application module, based on which the microservice is
implemented. As a result, the microservice interface may remain the same or change. In the first case,
the update wizard calls the AMPMA agents on which the microservice is registered. Each AMPMA
agent checks whether the microservice is currently activated as part of active groups of agents that
perform computations on the user's current request. If the microservice is involved in the computation
process, AMPMA blocks updates until it is completed. Then AMPMA puts the microservice into an
unavailable state, and the update wizard replaces it in the AMPMA repository. In the second case,
modification of the distributed AMP KB is additionally required. User request for NPS is blocked until
the update and testing are done.</p>
      <p>Autonomous testing of the functionality of the updated microservice and then end-to-end testing [22]
of the AMP is carried out using the testing wizard. The end-to-end testing is aimed at verifying the
correctness of solving problems involving this microservice by the test NPS and data stored in the






system, which provided by the developer. During end-to-end testing with the presence of test NPS in
the system, the test wizard automates the launch of these NPS and verifies the results of this launch.
Test wizard automates the processing of the following situations:</p>
      <p>The test results are correct, but the composition of the active agent group has changed. This
composition for the tested NPS is updated after the user confirms this action.</p>
      <p>Test results are incorrect. The user receives a list of NPS given these results.</p>
      <p>The results are not obtained, because, during the assembly of the active group, the agent
managing the updated microservice did not wait for the input data. This situation arises when
the interface of the updated microservice changes in such a way that it makes it necessary to
include some of its input parameters in the NPS. The user receives a list of such incomplete
NPS.</p>
      <p>Conducting end-to-end testing in semi-automatic mode (in the absence of test NPS, for example, when
creating AMP), the user performs the request for the NPS in the APMA interface. Upon receiving the
correct results, AMPMA saves the test NPS and data in its KB.</p>
    </sec>
    <sec id="sec-5">
      <title>5. The example of using the AMP</title>
      <p>
        The developed tools are tested on the example of creating and using AMP for a qualitative study of
BDS based on the Boolean constraint method [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. All computing microservices implemented based
on this approach can be divided into the following groups:



      </p>
      <p>Microservices for creating Boolean models,
Microservices for checking the feasibility of Boolean constraints (SAT and 2QBF solvers),
Microservices for pre- and post-processor processing.</p>
      <p>Microservices for creating Boolean models implement the following capabilities:</p>
      <p>Construction of the function of a one-step transition 1 according to the description of the
BDS dynamics equations,
Construction of the k-step transition function  k based on the function  ,
1
Construction of the model for verifying the presence of a specific dynamic property in the
BDS based on the function 1 or function  k , and the property specification.</p>
      <p>The correct functioning of these microservices is verified by the satisfiability checking of the obtained
Boolean models of the dynamical properties for a specific previously studied BDS by SAT or 2QBF
solvers. If obtained on the model basis conclusions about the presence of verified dynamic properties
coincide with the results obtained earlier for the same BDS, then the model is constructed correctly. In
the same way, models for synthesizing the control laws of dynamic objects are tested. As a test for the
AMPDM system, BDS of small dimension is chosen to reduce the time for subsequent testing when
updating microservices.</p>
      <p>
        A set of BDS for automated testing in AMPDM was formed in the process of developing computing
services for building Boolean models for a qualitative study of BDS and the laws of their
management. For example, classical examples of gene regulatory networks [22] were used for
searching the equilibrium states [23]. An example from [24] was used for studying the properties of
reachability type [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The results of constructing attractor basins were compared with [25], the model
for searching for cycles of the given lengths were tested using examples from [26, 27]. The BDS from
[28] was used for testing the synthesizing of the stabilization output feedback [29]. Stability properties
when analyzing the state space of the shift register were considered in [19] using the example from
[30].
      </p>
      <p>Let us consider the problem of constructing control sequences for BDS with the following dynamics:
xt  F(xt1,ut1) ,
where x  Bn is the state vector, B  {0,1}, u  Bm is the input control vector, n and m are
correspondently dimensions of state and control vectors, t T  {1,2,...,k} is discrete time (tact
number), F (x, u) is a vector function of logic algebra, called the transition function
( F : Bn  Bm  Bn ). For each state x0  Bn and finite sequence u(t)  (u0 ,u1,...,uk1) of states of
the control vector u ( ut  Bm ,t T ), we define the trajectory x(t, x0 ,u(t)) of the system (1) as a finite
sequence of states x0 , x1,...,xk from the set Bn . The problem statement is as follows. Let two states be
given c0 ,c*  Bn , where c0 is the initial state, and c* is the final (target) state. It is necessary to
synthesize such a control u(t) (if it exists) that transfers system (1) from the initial state c0 to the final
state c* in k time steps.</p>
      <p>In [20], the authors showed that the necessary control u(t)  (u0 ,u1,...,uk1) (if it exists) is a solution
of the Boolean equation
Φk (x0,x1,...,xk ,u0 ,u1,...,u k1)|x0c0  0 .</p>
      <p>xk x*
(1)
(2)
Let us represent the conditions x0  c0 and xk  c* in the form of Boolean equations. Then (2) takes
the form</p>
      <p>in1 (xi0  ci0 x0i ci0 )  in1(xik  ci* xki ci*)  Φk (x0,x1,..., xk , u0 , u1,...,uk1)  0 ,
where the subscript i denotes the component number of the vectors x0 ,c0 , xk ,c* .</p>
      <p>This problem is currently one of the most important [31] for studying the dynamics of the behavior of
gene regulatory networks represented by a model discrete in time and state (1). From a theoretical
point of view, this model is essentially a nonlinear model, and existing methods of control theory do
not apply to it [20]. From a practical point of view, the resulting control may be useful for creating
medications [32].</p>
      <p>Let us find control sequences of length k=3 for BDS, the dynamics of which is represented by the
following equations [32]:
x1t  u1t1, x2t  x1t1  u2t1, x3t  x2t1  x5t1, x4t  x3t1, x5t  u3t1, x6t  x3t1  x5t1.
(3)
The Boolean model is built for c0  (101100) and c*  (011001) in the DIMACS format [33]. When
constructing the function 1 ( t T  {0,1} ), the encoding of the variables is as follows (table 1):
The function 1 in the DIMACS format is represented in figure 5, where “-” is a logical negation, and
“0” separates the disjuncts.</p>
      <p>When constructing a function  k based on 1 for the next moment in time (with increasing t to k), the
variable number during encoding increases by n+m. For k=3, substituting x0  c0 and xk  c* into
equation (2), we obtain for (3) the Boolean model for a search of the control sequence of length k=3
(figure 6).
After checking the satisfiability of this Boolean model using a computing microservice based on the
AllSAT solver, we obtain three sets of solutions. Post-processing, which consists of choosing values
from these solutions u10u20u30 ,u11u12u31,u12u22u32 , gives the following control sequences of length k=3:
{101, 110, 011}, {111, 110, 011}, {100, 110, 011}.</p>
      <p>For the end-user, to construct the NPS for searching the control sequence (figure 7), it is necessary to
set the input parameters: dimensions of the state and control vectors, the BDS dynamics description
(3), length k, the initial state c0 and final state c* (respectively, parameters n, m, F, k, CI, CG in
AMP). The control sequence or a set of control sequences (CSLk or ACSLk parameters in AMP,
respectively) should be specified as the output parameter. In the first case, a computational
microservice based on the SAT solver is called up to verify the model satisfiability; in the second case,
the AllSAT solver is used for searching all solutions. The NPS based on proven models is added by
the developer of a computing microservice to the AMPMA KB. When changing the microservices for
constructing the function 1 and k or constructing a Boolean model of the dynamic property, testing
is carried out for all specified NPS using the testing wizard. Microservices for constructing functions
1 and k are included in most NPS to solve the above problems. Therefore, testing automation
significantly, by orders of magnitude, improves the microservice developer productivity in comparison
with manually restarting NPS and verifying its results. After automated testing, a report is issued in
which, for each running NPS, data are provided both for successful completion or failure in the
execution process.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>The specialized toolkit is developed for automating knowledge management when creating and using
a package of applied microservices and processing calculated data accumulating in the process of
solving problems in a hybrid computational environment. The toolkit automates the creation and
updating of the local knowledge base of both the agent-manager of the package of applied
microservices and distributed computational agents. This toolkit provides various modes of data
synchronizing between local and cloud resources, the updating and testing of computational
microservices. The carried out experiments confirmed the effectiveness of the presented approach for
solving practically significant scientific problems. The automating data management using this toolkit
significantly improves the productivity of both the developer when creating and updating AMP, and
the end-user of AMP in solving problems of qualitative research of BDS.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was supported by the Russian Foundation of Basic Research, project no. 18-07-00596. The
authors would like to thank the Irkutsk Supercomputer Center of SB RAS for providing access to
cluster computational resources.
system Proc. of the 27th Annual ACM Symposium on Applied Computing pp 412–417
[17] Kavalionak H and Montresor A 2012 P2P and Cloud: A marriage of convenience for replica
management Proc. of the 6th International Federation for Information Processing (IFIP)
(Self-Organizing Systems. IWSOS 2012. LNCS vol 7166) ed F A Kuipers and P E Heegaard
(Berlin, Heidelberg : Springer) pp 60–71
[18] Klasky S, Beck M, Bhat V, Feibush E, Ludäscher B, Parashar M, Shoshani A, Silver D and
Vouk M 2005 Data management on the fusion computational pipeline J. Phys.: Conf. Ser.
vol 16 pp 510-520
[19] Bychkov I, Oparin G, Bogdanova V and Pashinin A 2019 Intellectual technology for
computation control in the package of applied microservices Proc. of the 1st Int. Workshop
on Information, Computation, and Control Systems for Distributed Environments, Irkutsk,
Russia, July pp 15-28
[20] Oparin G A, Bogdanova V G, Pashinin A A and Gorsky S A 2018 Distributed solvers of applied
problems based on microservices and agent networks Proc. of the 41st Int. Convention on
Information and Communication Technology, Electronics and Microelectronics (MIPRO) pp
1415-1420
[21] Newman S 2015 Building Microservices (O’Reilly)
[22] Dubrova E and Teslenko M 2011 A SAT-based algorithm for finding attractors in synchronous</p>
      <p>Boolean networks Trans. Comput. Biol. Bioinformatics (IEEE/ACM) 8(5) 1393-1399
[23] Oparin G, Bogdanova V and Pashinin A 2019 Automation of microservices creation for
qualitative analysis of binary dynamic systems Proc. of the 1st Int. Workshop on
Information, Computation, and Control Systems for Distributed Environments, Irkutsk,
Russia, July pp 88-98
[24] Vassilyev S N 2002 Attainability and connectedness in an automata network with a general
state switching rule Differ. Equ. 38(11) 1628
[25] Dubrova E 2008 Self-organization for fault-tolerance Self-Organizing Systems. IWSOS 2008.</p>
      <p>LNCS vol 5343) ed K A Hummel and J P G Sterbenz (Berlin, Heidelberg: Springer)
pp145156.
[26] Dubrova E and Teslenko M 2018 A SAT-based algorithm for finding short cycles in shift
register based stream ciphers Proc. of the IEEE International Symposium on Hardware
Oriented Security and Trust, HOST 2018 pp 65-72
[27] Oles V, Panchenko A and Smertenko A 2017 Modeling hormonal control of cambium
proliferation PLoS ONE 12(2) e0171927
[28] Li H and Wang Y 2013 Output feedback stabilization control design for Boolean control
networks Automatica 49(12) 3641
[29] Oparin G, Bogdanova V, Gorsky S and Pashinin A 2019 The synthesis of stabilizing feedback
for binary dynamic systems: a logical approach MESA 10(3) 477
[30] Massey J L and Li R W 1964 Application of Lyapunov’s direct method to error-propagation
effect convolutional code IEEE Trans. IT 10(3) 248
[31] Akutsu T, Hayashida M and Tamura T 2008 Algorithms for inference, analysis and control of</p>
      <p>Boolean networks Proc. of the Int. Conf. on Algebraic Biology pp 1-15
[32] Moradi M, Goliaei S, Foroughmand-Araabi M-H 2019 A Boolean network control algorithm
guided by forward dynamic programming PLoS ONE 14(5) e0215449
[33] Satisfiability suggested format. [Online]. Available:
http://beyondnp.org/static/media/uploads/docs/satformat.pdf</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Oparin</surname>
            <given-names>G A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pashinin</surname>
            <given-names>A A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Gorsky</surname>
            <given-names>S A</given-names>
          </string-name>
          <year>2019</year>
          <article-title>Microservice-oriented approach to automation of distributed scientific computations</article-title>
          <source>Proc. of 42st Int. Convention on Information and Communication Technology, Electronics and Microelectronics</source>
          ,
          <string-name>
            <surname>MIPRO</surname>
          </string-name>
          <year>2019</year>
          , Opatija, Croatia, May
          <year>2019</year>
          pp
          <fpage>253</fpage>
          -
          <lpage>258</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Viroli</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Damiani</surname>
            <given-names>F</given-names>
          </string-name>
          and
          <string-name>
            <surname>Beal J 2013</surname>
          </string-name>
          <article-title>A calculus of computational fields Advances in ServiceOriented and Cloud Computing (Comm</article-title>
          . in
          <source>Comp. and Info. Sci</source>
          . vol
          <volume>393</volume>
          ) ed
          <string-name>
            <given-names>C</given-names>
            <surname>Canal and M Villari</surname>
          </string-name>
          (Berlin, Heidelberg: Springer) chapter
          <volume>10</volume>
          pp
          <fpage>114</fpage>
          -
          <lpage>128</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Aberer</surname>
            <given-names>K 2011</given-names>
          </string-name>
          <string-name>
            <surname>Peer-</surname>
          </string-name>
          to-
          <source>Peer Data Management Synthesis Lectures on Data Management</source>
          <volume>3</volume>
          (
          <issue>2</issue>
          )
          <fpage>1</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Gorodetskii</surname>
            <given-names>V I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karsaev</surname>
            <given-names>O V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samoilov</surname>
            <given-names>V V</given-names>
          </string-name>
          and
          <string-name>
            <surname>Serebryakov S V 2008</surname>
          </string-name>
          <article-title>Development tools for open agent networks J</article-title>
          .
          <source>Comput. Syst. Sci. Int</source>
          .
          <volume>47</volume>
          <fpage>429</fpage>
          -
          <lpage>446</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Navale</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bourne P E 2018</surname>
          </string-name>
          <article-title>Cloud computing applications for biomedical science:</article-title>
          <source>A perspective PLOS Comp Biol</source>
          <volume>14</volume>
          (
          <issue>6</issue>
          )
          <fpage>e1006144</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] CSCC: Practical Guide to Cloud Computing. [Online]. Available: https://www.omg.org/cloud/deliverables/CSCC-Practical-
          <article-title>Guide-to-Hybrid-CloudComputing</article-title>
          .pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Skala</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davidovic</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Afgan</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sovic</surname>
            <given-names>I</given-names>
          </string-name>
          and
          <article-title>Sojat Z 2015 Scalable distributed computing hierarchy: cloud, fog and dew computing</article-title>
          <source>Open Journal of Cloud Computing</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          )
          <fpage>16</fpage>
          -
          <lpage>23</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Ray</surname>
            <given-names>P P 2018</given-names>
          </string-name>
          <article-title>An introduction to dew computing: definition, concept</article-title>
          and
          <source>implications IEEE Access</source>
          <volume>6</volume>
          <fpage>723</fpage>
          -
          <lpage>737</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Wang</surname>
            <given-names>Y</given-names>
          </string-name>
          <source>2016 Definition and categorization of dew computing OJCC</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          )
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Oparin</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V</given-names>
          </string-name>
          and
          <article-title>Pashinin A 2019 Qualitative analysis of autonomous synchronous binary dynamic systems MESA</article-title>
          <volume>10</volume>
          (
          <issue>3</issue>
          )
          <fpage>407</fpage>
          -
          <lpage>419</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Buford J F and Yu H 2010</surname>
          </string-name>
          Peer
          <article-title>-to-Peer Networking and Applications: Synopsis and Research Directions (Handbook of Peer-to-</article-title>
          <source>Peer Networking</source>
          vol
          <volume>34</volume>
          )
          <string-name>
            <surname>ed</surname>
            <given-names>X</given-names>
          </string-name>
          <string-name>
            <surname>Shen and Yu H</surname>
          </string-name>
          Buford et al. (Berlin: Springer Science and Business Media) pp
          <fpage>3</fpage>
          -
          <lpage>45</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Kryukov A P and Demichev</surname>
            <given-names>A P</given-names>
          </string-name>
          <year>2018</year>
          <article-title>Decentralized data storages: Technologies of construction Program</article-title>
          .
          <source>Comput. Software</source>
          <volume>44</volume>
          (
          <issue>5</issue>
          )
          <fpage>303</fpage>
          -
          <lpage>315</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Daswani</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia -Molina</surname>
            <given-names>H</given-names>
          </string-name>
          and
          <string-name>
            <surname>Yang</surname>
            <given-names>B 2003</given-names>
          </string-name>
          <article-title>Open problems in data-sharing peer-to-peer systems</article-title>
          <source>Proc. of the 9th International Conference on Database Theory (ICDT'03)</source>
          pp
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Achache</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baaziz</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sari</surname>
            <given-names>T 2020</given-names>
          </string-name>
          <article-title>A hybrid P2P network-based remote treatment SaaS cloud computing IJITEE 9</article-title>
          (
          <issue>2S3</issue>
          )
          <fpage>575</fpage>
          -
          <lpage>583</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Zhygmanovskyi</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Yoshida</surname>
            <given-names>N 2014</given-names>
          </string-name>
          <article-title>Cloud service provisioning based on Peer-to-Peer network for flexible service sharing</article-title>
          and
          <source>discovery Journal of Computer and Communications</source>
          <volume>2</volume>
          <fpage>17</fpage>
          -
          <lpage>31</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Babaoglu</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marzolla</surname>
            <given-names>M</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tamburini M 2012</surname>
          </string-name>
          <article-title>Design and implementation of a P2P cloud</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>