<!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>Automated tools for the development of microservice compositions for hybrid 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>In recent years, a significant amount of research is focused on the development of tools for creating composite web-services for solving both business and scientific complex problems. This study discusses tools for building compositions or ensembles of microservices (depending on the method of integration) developed based on the HPCSOMAS framework. These tools are oriented on the application in a package of applied microservices for solving computationally complex problems of structural analysis and parametric synthesis of controlled dynamic systems in a heterogeneous high-performance computing environment. In particular, binary dynamic systems are studied using the Boolean constraint method for both their qualitative analysis and synthesis of laws to control these systems. Creating and executing composite services is carried out on a semantic peer-to-peer network of agents. The HPCSOMAS framework supports two modes of these processes, both the static creation and application of a composite service based on the procedural formulation of the problem and dynamic, based on the declarative formulation. In the first case, agents deployed on the network perform hierarchical control over the execution of the composition of microservices, in the second case, decentralized asynchronous management of the ensemble of microservices. Both operating modes are automated, and the validity of the resulting composite service is checked based on a logical approach. The tools are aimed both at a professional programmer and the end-user, a specialist in the subject domain. The HPCSOMAS framework supports the execution of composite microservices in a hybrid computing infrastructure, which includes both cloud and on-premises resources.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The complexity of the modern heterogeneous distributed computing environment (HDCE) prevents
the widespread use of its capabilities by specialists in the subject domain. Therefore, the demanded
trend is the development of specialized approaches that free the end-user from the need to study the
technical details for the creation of distributed service-oriented applications. As a result, in recent
years, a considerable number of research efforts focus on the development of frameworks for creating
composite web services for solving both business and scientific complex problems [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. One of the
advantages of service-oriented computing is the ability to combine several services to get more
meaningful and complex ones [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. A composite web service can be created either proactively or
reactively [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In the first case, components of the composite web service are assembled in advance,
before runtime. In the second case, a composite web service is created dynamically at the request of
the user. This request is executed in the ever-changing HDCE, so users need more adaptive and
personalized services [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The most general standards and research approaches developed over the last
years for web service composition are described in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. New challenges concerning this problem are
mentioned in this publication also, in particular, challenges of automated RESTful services
composition and its orientation to the subject domain.
      </p>
      <sec id="sec-1-1">
        <title>Our research is focused on the development of service-oriented applications based on HPCATAMP</title>
        <p>technology. These applications are designed for solving computationally complex problems of the
subject domain of structural analysis and parametric synthesis of controlled dynamic systems in</p>
      </sec>
      <sec id="sec-1-2">
        <title>HDCE [7]. In particular, binary dynamic systems (BDS) are studied using the Boolean constraint</title>
        <p>
          method [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] for both their qualitative analysis and synthesis of laws to control these systems. Currently,
there is an intensive development and complication of controlled dynamic systems. Despite a large
number of existing methods [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], the problem of synthesis of control laws for various classes of these
systems remains relevant.
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>The above HPCATAMP technology is implemented based on the HPCSOMAS platform [10], the</title>
        <p>
          basic version of which is periodically modified based on experience in solving problems from the
above domains, for example, [
          <xref ref-type="bibr" rid="ref11 ref12 ref13">11-13</xref>
          ]. In this study, we describe the multi-agent tools of the cloud
version of this HPCSOMAS-MSС platform (version HPCSOMAS 3.2) for creating composite services
in the form of an ensemble of microservices implemented based on the RESTful architectural style.
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>Compositions and ensembles of microservices are used when performing computations in the package of applied microservices (AMP [7]). As an illustrative example, we describe the application of composite services of the AMP for solving problems of qualitative analysis of BDS.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <sec id="sec-2-1">
        <title>In review papers [3, 15-20], various issues of the development of composite services are considered.</title>
        <p>
          As noted in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], most approaches are based on the composition of the workflow (WF) or methods of
artificial intelligence (AI), in particular, AI-planning. The paper [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] mainly addresses the issues of
comparing dynamic composition based on these two approaches. In general, the WF approach is used
in the situation when a process model is already defined in the user request, so the search for atomic
services may be automated. AI-planning methods are used when the user request does not have a
process model but has many constraints and user preferences. In this case, a process model is
automatically generated. In [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], a consolidated structure of the analysis of models, languages,
methods, platforms, and tools for the composition of services is presented. Several representative
systems (in particular, [21-23]) that automate the composition of services were analyzed in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] based
on criteria of application, notation (visual or textual), paradigm (Flow-based, Rule-based,
Querybased), composition constructs, and the target user. Most systems are based on the Flow paradigm,
focused on business processes. The target users of the analyzed systems are mainly professional
programmers, and only three of the twelve systems are aimed at the end user-programmer, an expert in
the subject area. In [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], there is a need for the development of compositional tools that can be
mastered not only by professionals. The necessity of extending the composition of services and
developing composition methods to ensure the integration of cloud resources with heterogeneous
highperformance environments is substantiated. Despite the variety of tools based on the WF approach
presented in later publications [24–26], some questions remain relevant, in particular, the target user
qualification, decentralized control, adaptive execution models, high-level composition tools,
faulttolerance. An alternative to the WF approach is the approach based on AI-planning [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. In [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], the
advantages and disadvantages of AI methods are considered. In particular, it is noted that AI-planning
is suitable for dynamically creating web services with incomplete information, but the main problem
in planning is scalability. Also, this planning is unsuitable for web services composition based on
choreography, which implies decentralized control, parallel workflows, and unexpected
circumstances. Issues related to the compatibility and the provision of portability for the efficient
composition of web services in heterogeneous and decentralized environments also remain open. In
[
          <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
          ], AI-planning is performed based on decentralized multi-agent control. However, after the
construction of the plan, its execution is centralized. In [19], the development of a service composition
system based on the declarative description and usage of the peer-to-peer (P2P) paradigm that
provides the execution of the resulting composite services based on decentralized control is presented.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>In [20], a review of existing methods, approaches, and standards for web services discovery and</title>
        <p>composition development were performed. As noted in this publication, the verification of
composition validity is unused in most of the considered approaches for composition development, so
the composition specifications in the form of mathematical formalisms are desirable for such
verification.</p>
        <p>Given the above advantages and disadvantages of existing approaches, we use a hybrid approach,
providing the developed tools with the ability to carry out the microservices composition in both static
and dynamic ways. This approach is based on the multiagent-based P2P network and
microserviceoriented technology. Under the composite service, we mean the composition of microservices in static
mode and the ensemble of microservices in dynamic. Composite services based on the proposed
approach are designed to solve the above scientific problems and are focused on the use in a hybrid
computing infrastructure, which includes both on-premises and cloud resources.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Creating composite service based on HPCSOMAC-MSC</title>
      <p>
        Depending on the particular computing problems of the subject domain, as well as the requirements
and preferences of the user, the HPCSOMAS-MSC platform provides two modes for creating a
composite service, static and dynamic (figure 1). In the first case, based on the procedural formulation
of the problem, a composite service is fully prepared, and only then it is launched. In the second case,
for the non-procedural problem statement (NPS), the ensemble of microservices is composed
dynamically in the process of computing. The dynamic composition of web services is a promising
approach [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This approach is in demand when changes to the runtime requirements are frequent, and
when a complete set of services cannot be specified during development [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The dynamic
composition provides automating problems associated with the assembly of microservices. However,
it limits the freedom of users in the process of this assembly [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The static one is suitable in the case
of the functional requirements for the composite service remain unchanged for a long time [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. When
solving problems in the subject domain mentioned in the introduction, both of these cases may occur.
      </p>
      <sec id="sec-3-1">
        <title>Therefore, the HPCSPMAS-MSC framework supports both the two modes, static and dynamic</title>
        <p>creation and execution of composite services. The static mode is provided by the AMP manager-agent
(AMPMA) and computational microservices agents (CMA). For dynamic one, the AMPMA initializes
distributed computational agents (DCA). All agents are created during the AMP development based on</p>
      </sec>
      <sec id="sec-3-2">
        <title>HPCSOMAS-MSC programming or automating tools. Figure 1. The HPCSOMAS-MSC architecture and AMP components.</title>
        <p>3.1. Static composition of the microservices</p>
      </sec>
      <sec id="sec-3-3">
        <title>The static composition is performed in several stages in the procedural formulation of the problem (figure 2):</title>
      </sec>
      <sec id="sec-3-4">
        <title>The user sends a request to the AMPMA, in which the sequence of microservices for solving the problem (microservice composition scheme) is given. The description of AMP microservices functionality is provided by the AMPMA. Additionally, the user specifies nonfunctional requirements.</title>
        <p>Based on the semantic description of microservices stored in the knowledge base (KB) in the
form of fragments of the relations In  P  M and Out  M  P of microservices (M) with
parameters (P), the AMPMA performs information planning, which is a verification of the
admissibility of the microservice composition scheme. In the scheme
{M1(; A1), M 2 ( A2; B2 ),...,M n1( An1; Bn1), M n ( An ; )},
microservices, the AMPMA adds two microservices
where
n
is
the
number</p>
        <p>of
M1 and</p>
        <sec id="sec-3-4-1">
          <title>M n for, correspondently,</title>
          <p>sending input data (the set Ai ) and receiving output data (the set Bi ).</p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>The search for the microservices required by the scheme is performed on the AMPMAs</title>
        <p>installed on the HDCE nodes.</p>
        <p>The validity of the microservices composition is checked according to the following condition. A
composition scheme is admissible if, for any input parameter of any microservice in this scheme, there
is exactly one previous microservice with the same output parameter. The following Boolean equation
corresponds to this condition of the composition admissibility [27]:
tn2 np1(stp  y)  0 ,
(1)
where

 qAp

y  1, if ( Ap  0)  ((q  Ap )(Bq'  0))

0, if Ap  0.
</p>
        <p>(lr11 lgr1 (zr  z g )  lr1 zr ), if ( Ap  0)  ((q  Ap )(Bq'  0))</p>
        <sec id="sec-3-5-1">
          <title>In equation (1), the matrix S is a matrix of the dimension n  n of Boolean variables sij . The S</title>
          <p>describes the execution scheme of the composite microservice. The element sij  1
if the
microservice M j  M ( j  1, n ) is in the i-th string of the matrix S. Matrices A and B are Boolean
matrices of the dimension n  m . Elements of these matrices are formed as follows: aij  1 ( bij  1) if
the parameter Pj is the input (output) one for the microservice M j . Let Ai , Bi and
Ai' , Bi' ( i  1, n )
are correspondently the strings and columns of matrices A and B. The m is the number of parameters
of the execution scheme S. The values of strings and columns are zero if unit values are absent in these
matrices elements. The z is the array of the length l consisting of elements of the matrix S. The array z
is formed as follows:</p>
          <p>z  {sij : i  1,t 1, j  Bq' } .</p>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>Microservices have the following types:</title>
        <p>


</p>
      </sec>
      <sec id="sec-3-7">
        <title>Atomic, performing one specific computational function,</title>
      </sec>
      <sec id="sec-3-8">
        <title>Simple, consisting of an atomic microservices sequence,</title>
      </sec>
      <sec id="sec-3-9">
        <title>Flow Pattern, used by the computational microservices agent (CMA) to control the flow of tasks,</title>
      </sec>
      <sec id="sec-3-10">
        <title>Composite, consisting of a composition of the above microservices and embedded composite</title>
        <p>microservices.</p>
        <p>The microservice composition scheme describes a plan for conducting a computational experiment to
solve a specific problem of a subject domain. This scheme is built based on a computational model of
a subject domain and organizes the logic of execution of the microservice composition using task flow
control templates. As templates, ones similar to basic control flow patterns and advanced branching
and synchronization patterns [28] are used. A hierarchical control system is used to interpret the
composite service. CMAs that run Flow Pattern microservices distribute tasks on the computational
layers during execution. For example, for the parallel split template, the parallel subtasks are executed
at this layer. Double numbering (&lt;layer number&gt;.&lt;New layer number&gt;) allows the dynamic creation
of a new layer between two existing layers. Control by layer subtasks execution is carried out by the
agent creating this layer. After the layer subtasks are completed, the agent returns control higher in the
hierarchy.
3.2. Dynamic creating the microservices ensemble</p>
      </sec>
      <sec id="sec-3-11">
        <title>Based on the dynamic approach, the microservice ensemble is assembled by a group of Distributed</title>
        <p>Computational Agent (DCA) deployed in a P2P semantic network. When registering a microservice
on DCA, the description of the microservice interface is recorded in the local agent KB. All DCAs
have the same behavioral model based on the agent’s knowledge and reactions to external and internal
events. The dynamic assembly of microservices is performed as follows (figure 3):
 The user performs an NPS in the AMPMA interface.
 The AMPMA checks the admissibility and redundancy of the NPS. At the first stage, by a
distributed logical inference method developed by the authors based on the “direct wave”
method, the possibility of solving the problem on a distributed on HDCE nodes KB is
checked. In the case of solvability, an active DCA group is formed. Agents of this group
control the launch of microservices from the ensemble of microservices corresponding to this
group. The set of ensemble microservices are redundant if some input parameters of the NPS
do not affect the achievement of the goal. In the second stage, such parameters are excluded
from the NPS using the distributed backward-wave method applied to the set of output
parameters. The implementation of the distributed logical inference method based on the
discrete-event finite-state model FSMwVW (Finite State Machine with Variables and Works)

of an agent behavior is presented in [29]. The modified model FFSMwVW is described in
[30].</p>
      </sec>
      <sec id="sec-3-12">
        <title>A cooperative solution of the problem is performed by agents based on decentralized asynchronous control (on input data readiness) by direct P2P interactions defined by fragments of the In and Out relations specified in the local DCA KB. Figure 3. The dynamic composition.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Illustrative example</title>
      <p>
        In an illustrative example, composite services are used in the developed by authors AMP
BCMQABDS for qualitative analysis of BDS based on the Boolean constraint method (BCM, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). The
computations are performed in a hybrid infrastructure, resources of which are given in table 1. The
resource integration in this infrastructure is carried out by the installation of AMPMAs on this
resource. The AMPMA must be configured after the installation. This configuration is set in the
MSCDT [31] agent editor (figure 3). In figure 3, the configuring the AMPMA on the VDS resource is
shown. The AMPMA has neighboring (connected agents) AMPMAs, the set of CMAs that can be
seen in the scrolling list (Compute services list in figure 4).
AMPMA with the microservice for building the Boolean model, verifying its feasibility (sequential
SAT and 2QBF solvers), and post-processing the results can be installed on on-premises computers.
Parallel solvers are installed on on-premises high-performance clusters. Additional resources are
allocated using Cloud Resources Agent (CRA) from the public cloud (VDS for the example).
      </p>
      <sec id="sec-4-1">
        <title>As an example of applying a composite service created based on a dynamic approach, we consider the</title>
        <p>problem of searching for attractors and their basins in an autonomous asynchronous BDS.</p>
      </sec>
      <sec id="sec-4-2">
        <title>In [1], we consider a synchronous autonomous BDS, the vector-matrix equation of which has the form</title>
        <p>xt  F (xt1) ,</p>
      </sec>
      <sec id="sec-4-3">
        <title>Taking into account (4), equation (3) can be rewritten as:</title>
        <p>Φ1(x0,x1)  in1(xi1  Fi (x0 ))  0 .</p>
        <p>Φk (x0,x1,...,xk )  tk1Φ1(xt1,xt )  0 .
where x is the state vector of the dimension n ( x  Bn , B  {0,1} ), t T  {1,2,...,k} is the discrete
time, and the F(x) is the vector-function of logic algebra called the transition function ( F : Bn  Bn ).</p>
        <sec id="sec-4-3-1">
          <title>Let us define the trajectory x (t, x0 ) of (1) for each initial state x0  Bn as the finite sequence of states</title>
          <p>x0 , x1,...,xk from the set B n . The state xi is a successor of the state xi-1, and xi-1 is a predecessor of the
state xi. In an autonomous BDS, each state has only one successor, and the number of predecessors of
this state can vary from zero to 2n-1. A cycle of the length k is a closed trajectory (x0 = xk) in which all
other states are pairwise distinct. An equilibrium state is the cycle of the length k=1. A cycle is called
an isolated if predecessors are absent for it.</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>The non-isolated cycle is called an attractor. Let X* be the attractor. The region of attraction (basin) of an attractor of the radius k is the set of all states, from which the set X* is reachable in i  k time steps.</title>
        <p>Equation (2) is equivalent to a single Boolean equation of the form
Φk (x0,x1,...,xk )  t1 in1 (xit  Fi (xt1))  0 ,
k
where xit and Fi are i-th components of vectors xt and F;  denotes modulo-2 addition. For one-step
transition (k = 1), equation (3) takes the form
(2)
(3)
(4)</p>
      </sec>
      <sec id="sec-4-5">
        <title>Problem statement. It is required to find attractors and their basins for the given BDS.</title>
      </sec>
      <sec id="sec-4-6">
        <title>The Boolean models of BDS dynamical properties required for solving this problem are given in table</title>
      </sec>
      <sec id="sec-4-7">
        <title>2. These models were constructed based on the BCM. In figure 4, the fragment of the computation model for solving the above problem is given. Table 2. Required Boolean models. Problem</title>
        <sec id="sec-4-7-1">
          <title>In table 2, the equation G* (xk )  0 determines a set of goal states [8].</title>
        </sec>
      </sec>
      <sec id="sec-4-8">
        <title>For the dynamic approach, the following NPS is formulated using the web-interface of the AMPMA:</title>
        <p>T1 = ( A10  {L, k}; B10  {A _ IP, ABAS,Y _ BAS}) .</p>
        <p>The meanings of input parameters A10 and output parameters B10 are given in figure 5. As a result of
the forming ensemble stage, the microservices ensemble is assembled from the following
microservices: {1, 2, 5, 6, 8, 9, 12, 13}.</p>
        <p>We use the NPS T1 for searching basins of attractors for the given BDS of the dimension n=11 using
the example of gene regulator network from [34], dynamic of which is described by the following
equations:
x1t  x1t1,x2t  x2t1  x8t1  x1t1  x2t1  x1t1  x8t1,x3t  x3t1  x8t1  x1t1  x3t1  x3t1  x8t1,x4t  x2t1,
x5t  x4t1  x5t1  x6t1  x8t1  x5t1  x6t1  x8t1  x1t01  x4t1  x5t1  x8t1  x1t01 x4t1  x5t1  x6t1  x1t01 
 x5t1  x6t1  x8t1  x1t11  x4t1  x5t1  x8t1  x1t11  x4t1  x5t1  x6t1  x1t11  x5t1  x8t1  x1t01  x1t11 
 x5t1  x6t1  x1t01  x1t11  x4t1  x5t1  x1t01  x1t11  x4t1  x6t1  x8t1  x1t11  x6t1  x8t1  x1t01  x1t11 
 x4t1  x8t1  x1t01  x1t11  x4t1  x6t1  x1t01  x1t11  x4t1  x6t1  x8t1  x1t01,
x6t  x5t1  x6t1  x1t01  x3t1  x6t1  x1t01  x3t1  x5t1  x6t1  x3t1  x5t1  x1t01,
x7t  x4t1  x6t1  x7t1  x8t1  x6t1  x7t1  x8t1  x1t01  x4t1  x7t1  x8t1  x1t01  x4t1  x6t1  x8t1  x1t01 
(5)
 x4t1  x6t1  x8t1  x1t01,
x8t  x5t1  x6t1  x7t1  x8t1  x5t1  x7t1  x8t1  x9t1  x6t1  x7t1  x8t1  x9t1  x5t1  x6t1  x8t1  x9t1 
 x5t1  x7t1  x8t1  x1t01  x6t1  x7t1  x8t1  x1t01  x5t1  x6t1  x8t1  x1t01  x7t1  x8t1  x9t1  x1t01 
 x5t1  x8t1  x9t1  x1t01  x6t1  x8t1  x9t1  x1t01  x5t1  x6t1  x7t1  x1t01  x5t1  x7t1  x9t1  x1t01 
 x6t1  x7t1  x9t1  x1t01  x5t1  x6t1  x9t1  x1t01  x5t1  x6t1  x7t1  x9t1,
x9t  x6t1  x8t1,x1t0  x8t1  x9t1,x1t1  x8t1  x1t01  x9t1  x1t01  x8t1  x9t1.</p>
        <p>In (5), the indexes of the components xi0 of the Boolean state vector x in the time t=0 corresponds the
following order of the gene regulator network [34, 35]: Cln3; SBF; MBF; Cln1,2; Sic1; Cln5,6; CDh1;</p>
      </sec>
      <sec id="sec-4-9">
        <title>Clb1,2; Mcm1; Cdc20; Swi5. The sign “ ” denotes logical conjunction.</title>
        <p>As a result, seven equilibrium states were found, including an isolated fixed point and six attractors
(table 3). The presented results are consistent with those obtained in [34, 35]. The decimal code of the
attractor state is calculated by the formulain1ai 2i1 .</p>
        <p>For example, the decimal code of the attractor (01010000000) (table 3, no. 1) is calculated as
0*1+1*2+0*4+1*8+0*16+0*32+0*64+0*128+0*256+0*512+0*1024+0*2048=10. Attractor basins
(ABAS) of the maximum radius k (RAB) are used for the visualization (figure 6-11). For this, the NPS
T2= ( A20= {ABAS, Y_BAS};B2O = {PDAB}) is formulated. Using the resulting parameter PDAB
(plotter data) of the NPS T2 that stores in the user folder on the AMPMA resource, the developed by
authors graphical microservice (Grapher) of the BCM-QABDS visualizes online a basin for the
attractor no.1 from table 3 (figure 6).</p>
        <p>The Grapher interface allows the choice of visualization options (figure 6). For example, the first two
options set the horizontal increasing radius of the basin tree and the absence of marks (the decimal
attractor state code) at the graph vertices. Other basins of attractors (table 3) with labeled vertices of
the graph are shown in figures 7-10. In the case of a large basin size, its structure is visualized using a
radial tree (set by Graph type in the interface). Attractor number 7 from table 3 is shown in the form of
a radial tree (Fig. 11). The attractor is marked in red. The service Grapher was developed using the
static microservice composition because requirements to its functionality are unchanged.
Solving complex problems is carried out by formulating NPSs in the AMPMA interface with the
subsequent creation and execution of the corresponding ensembles of microservices. In the presented
example, NPSs T1 and T2 were used for finding the equilibrium states of a given BDS, determining
whether they are attractors, finding attractor basins, and the post-processing of results for the
visualization.</p>
        <p>BCM-based approach to solving problems of qualitative analysis of BDS functioning on a finite time
interval is achieved by constructing Boolean models of dynamic properties, checking their
satisfiability by SAT or 2QBF solvers, and post-processing solutions. Unlike other SAT-oriented
approaches, Boolean models contain constraints describing both dynamics of BDS and the
specification of the dynamical property. BCM is a declarative method that provides the possibility of
data parallelism by splitting the Boolean model and distributed solving the obtained independent
subtasks. Thus, this approach allows us to significantly increase the dimension of the BDS state vector
and the period of its functioning when solving the problems of the qualitative analysis of BDS in the
HDCE.</p>
        <p>Mathematical editors, converters, simplifiers, and generators are required for building Boolean
models. Boolean model verification programs are sequential and parallel solvers that have different
system requirements. The integration of the above heterogeneous software in the form of
microservices is carried out based on presented HPCSOMAS-MSC tools for the development and
execution of microservice compositions. The microservices are implemented based on RESTful style.
This approach provides independence, replicability, the autonomy of used software, and its interaction
through the lightweight message transfer mechanism.</p>
        <p>Agents of the semantic P2P network perform decentralized asynchronous control of the microservice
ensemble execution. This approach provides adaptability, reliability, and scalability of computations.
The openness of this agent network allows the allocation of additional resources in the case of its lack
or failure.</p>
        <p>HPCSOMAS-MSC tools for microservice composition development provide for creation
microservices and agents both the class library and configurable ready-made patterns. Also, the system
MSCDT for automation of these processes is provided. Thus, these tools are oriented on both
professional programmers and end-users, specialists in a subject domain.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>
        Based on the HPCSOMAS-MSC framework, tools were developed to automate the construction and
execution of composite services in the form of a composition of microservices and an ensemble of
microservices based on respectively static or dynamic approaches. Composite service is performed in
the first case based on hierarchical control, in the second - based on decentralized asynchronous
control according to data readiness. The absence of a central control node increases the reliability of
the calculations. Using a P2P agent network allows agents to be mobilized if it is necessary to attract
additional resources due to their shortage or failure. These situations are handled in the behavioral
model of agents [30]. The developed tools were tested on several problems from the previously
mentioned research domain (for example, [
        <xref ref-type="bibr" rid="ref11 ref13 ref14">11, 13, 14, 30</xref>
        ]). As the development of research, the
possibility of adapting behavioral models of agents oriented to different HPCSOMAS-MSC
functioning modes is considered to provide a hybrid functioning, for example, launching an ensemble
of microservices on a computational layer in the hierarchy of microservices composition.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <sec id="sec-6-1">
        <title>The present investigation was supported by Russian Foundation of Basic Research, projects no. 18-0700596. The authors would like to thank the Irkutsk Supercomputer Center of SB RAS for providing access to cluster computational resources.</title>
        <p>semantic web services composition in an ebxml context Computer Science [Online].</p>
        <p>Available: http://arxiv.org/abs/1103.0632v1.
[19] Benatallah B, Dumas M, Sheng Q Z and Ngu A H H 2002 Declarative composition and
peer-topeer provisioning of dynamic Web services Proc. 18th Int. Conf. on Data Engineering, San
Jose, CA, USA, 2002 pp 297-308
[20] Shah Tejas R, Patel S V A Survey on issues and challenges of Web service development,
composition, discovery VNSGU journal of science and technology 5(1), 134 - 153
[21] Casati F, Ilnicki S, Jin L, Krishnamoorthy V and Shan M 2000 Adaptive and dynamic service
composition in eFlow Proc. of 12th Int. Conf. CAiSE 2000, Stockholm, Sweden, June 5–9,
2000 Proceedings CAISE 13–31
[22] Pautasso C 2005 JOpera: An agile environment for web service composition with visual unit
testing and refactoring. Proc. of IEEE Symposium on Visual Languages and Human-Centric
Computing pp 311–313
[23] Hull D, Wolstencroft K, Stevens R et al. 2006 Taverna: a tool for building and running
workflows of services Nucleic Acids Research 34 729–732
[24] Deelman E, Vahi K, Rynge M, Juve G, Mayani R and Ferreira da Silva R 2016 Pegasus in the
cloud: science automation through workflow technologies IEEE Internet Computing 20(1)
70-76
[25] Talia D. Workflow systems for science: concepts and tools. ISRN Software Engineering. Vol.</p>
        <p>2013, Article ID 404525, 15 pages. http://dx.doi.org/10.1155/2013/404525
[26] Wolstencroft K., Haines R., Fellows D., Williams A., Withers D., Owen S., Goble C. (2013).</p>
        <p>The Taverna workflow suite: designing and executing workflows of Web Services on the
desktop, web or in the cloud. Nucleic Acids Research, 41(Web Server issue), W557–W561.
http://doi.org/10.1093/nar/gkt328
[27] Oparin G A , Novopashin A P 2008 Boolean models and planning methods for parallel abstract
programs Autom Remote Control 69 1423–1432
[28] van der Aalst W, ter Hofstede A, Kiepuszewsk B et al. 2003 Workflow patterns Distributed and</p>
        <p>Parallel Databases 14 5–51
[29] 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),
Opatija, May, 2018 pp 1415-1420
[30] 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 International
Workshop on Information, Computation, and Control Systems for Distributed Environments,
Irkutsk, Russia, July 8-9, 2019 pp 15-28
[31] Oparin G, Bogdanova V and Pashinin A 2019 Automation of microservices creation for
qualitative analysis of binary dynamic systems Proc. of the 1st International Workshop on
Information, Computation, and Control Systems for Distributed Environments, Irkutsk,
Russia, July 8-9, 2019 pp 88-98
[32] Irkutsk Supercomputer Center of SB RAS. [Online]. Available: http://hpc.icc.ru/.
[33] First VDS. [Online]. Available: https://firstvds.ru/.
[34] Li F, Long T, Lu Y, Ouyang Q and Tang C The yeast cell-cycle network is robustly designed</p>
        <p>PNAS April 6, 2004 vol 101(14) pp 4781-4786
[35] Boolean network model of the control of the budding yeast cell cycle regulation. [Online].</p>
        <p>Available: https://people.kth.se/~dubrova/BooleNet/budding_yeast.net</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Tan</surname>
            <given-names>W</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            <given-names>M 2013</given-names>
          </string-name>
          <string-name>
            <surname>Business and Scientific Workflows</surname>
          </string-name>
          :
          <article-title>A Web service-oriented approach</article-title>
          , Wiley, IEEE Press
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Huhns</surname>
            <given-names>M N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sing</surname>
            <given-names>M P</given-names>
          </string-name>
          <year>2005</year>
          <article-title>Service-oriented computing: key concepts and principles</article-title>
          ,
          <source>IEEE Internet Computing</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ) pp
          <fpage>75</fpage>
          -
          <lpage>81</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Rao</surname>
            <given-names>J</given-names>
          </string-name>
          and
          <string-name>
            <surname>Su</surname>
            <given-names>X 2005</given-names>
          </string-name>
          <article-title>A Survey of Automated Web Service composition methods Semantic Web Services and Web Process Composition</article-title>
          . SWSWPC, LNCS vol 33872004 ed
          <string-name>
            <given-names>J</given-names>
            <surname>Cardoso</surname>
          </string-name>
          and
          <string-name>
            <given-names>A</given-names>
            <surname>Sheth</surname>
          </string-name>
          (Berlin, Heidelberg: Springer) pp
          <fpage>43</fpage>
          -
          <lpage>54</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Maamar</surname>
            <given-names>Z</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wives L K 2010</surname>
          </string-name>
          <article-title>Social networks and Web services-based systems</article-title>
          . [Online]. Available: https://www.igi
          <article-title>-global.com/chapter/social-networks-web-services-based/41252.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Seheon</given-names>
            <surname>Song</surname>
          </string-name>
          and
          <article-title>Seok-Won Lee 2013 A goal-driven approach for adaptive service composition using planning Mathematical</article-title>
          and
          <source>Computer Modelling</source>
          <volume>58</volume>
          <fpage>261</fpage>
          -
          <lpage>273</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Sheng</surname>
            <given-names>Q Z</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qiao</surname>
            <given-names>X</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasilakos</surname>
            <given-names>A V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szabo</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bourne</surname>
            <given-names>S</given-names>
          </string-name>
          and
          <string-name>
            <surname>Xu</surname>
            <given-names>X 2014</given-names>
          </string-name>
          <article-title>Web services composition: A decade's overview</article-title>
          <source>Information Sciences</source>
          <volume>280</volume>
          <fpage>218</fpage>
          -
          <lpage>238</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <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 the 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="ref8">
        <mixed-citation>
          [8]
          <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="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Nemirovskii</surname>
            <given-names>A A</given-names>
          </string-name>
          1993
          <string-name>
            <surname>Several</surname>
            <given-names>NP</given-names>
          </string-name>
          <article-title>-hard problems arising in robust stability analysis</article-title>
          <source>Mathematics of Control, Signals, and Systems</source>
          <volume>6</volume>
          <fpage>99</fpage>
          -
          <lpage>105</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Somov Ye</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Butyrin</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oparin</surname>
            <given-names>G A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V G</given-names>
          </string-name>
          <year>2016</year>
          <article-title>Methods and software for computer-aided design of the spacecraft guidance</article-title>
          ,
          <source>navigation and control systems MESA</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          )
          <fpage>613</fpage>
          -
          <lpage>624</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I V</given-names>
          </string-name>
          ,
          <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 S A 2017 Automation Development</surname>
          </string-name>
          <article-title>Framework of Scalable Scientific Web Applications Based on Subject Domain Knowledge Parallel Computing Technologies</article-title>
          .
          <source>PaCT</source>
          <year>2017</year>
          . LNCS vol 10421 ed
          <string-name>
            <given-names>V</given-names>
            <surname>Malyshkin</surname>
          </string-name>
          (Cham: Springer)
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Oparin</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feoktistov</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sidorov</surname>
            <given-names>I 2016</given-names>
          </string-name>
          <article-title>Automation of multi-agent control for complex dynamic systems in heterogeneous computational network AIP Conference Proceedings</article-title>
          . ICNPAA-2016
          <source>, July 5-8</source>
          ,
          <string-name>
            <given-names>La</given-names>
            <surname>Rochelle</surname>
          </string-name>
          , France vol
          <volume>1798</volume>
          (
          <issue>1</issue>
          ) p
          <fpage>020117</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oparin</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feoktistov</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sidorov</surname>
            <given-names>I 2017</given-names>
          </string-name>
          <article-title>The Service-Oriented Multiagent Approach to High-Performance Scientific Computing Numerical Analysis</article-title>
          and
          <string-name>
            <surname>Its Applications. NAA</surname>
          </string-name>
          <year>2016</year>
          .
          <article-title>LNCS vol 10187 ed I Dimov I et</article-title>
          . al (Cham: Springer) pp
          <fpage>261</fpage>
          -
          <lpage>268</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Oparin</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bogdanova</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorsky</surname>
            <given-names>S</given-names>
          </string-name>
          and
          <string-name>
            <surname>Pashinin</surname>
            <given-names>A 2019</given-names>
          </string-name>
          <article-title>The synthesis of stabilizing feedback for binary dynamic systems: a logical approach MESA 10(3</article-title>
          )
          <fpage>477</fpage>
          -
          <lpage>486</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Angel</given-names>
            <surname>Lagares</surname>
          </string-name>
          <string-name>
            <surname>Lemos</surname>
          </string-name>
          , Florian Daniel and
          <article-title>Boualem Benatallah 2015 Web service composition: A survey of techniques and tools ACM Computing Surveys 48(3) article 33</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Rodríguez</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soria</surname>
            <given-names>Á</given-names>
          </string-name>
          and
          <string-name>
            <surname>Campo</surname>
            <given-names>M 2016</given-names>
          </string-name>
          <source>AI-based Web Service Composition: A Review IETE Technical Review</source>
          vol
          <volume>33</volume>
          (
          <issue>4</issue>
          ) pp
          <fpage>378</fpage>
          -
          <lpage>385</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Farnaghi</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <article-title>Mansourian A 2018 Multi-Agent Planning for Automatic Geospatial Web Service Composition in Geoportals ISPRS Int</article-title>
          .
          <source>J. Geo-Inf 7 404</source>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Hioual</surname>
            <given-names>O</given-names>
          </string-name>
          and
          <string-name>
            <surname>Boufaida</surname>
            <given-names>Z 2011</given-names>
          </string-name>
          <article-title>An agent based architecture (using planning) for dynamic and</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>