<!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>Intellectual technology for computation control in the package of applied microservices</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>I V Bychkov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <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 SB RAS</institution>
          ,
          <addr-line>Lermontov St. 134, Irkutsk, Russia, 664033</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The complexity of exhaustive problems with the properties of large-scale, openness, unpredictable dynamics, and component mobility determines the relevance of developing microservice-oriented software for their solving in a hybrid computational environment. We propose an approach for adapting to this environment both the existing software and new ones developed using new automated technology for creating an applied microservice package and organizing control of computations in it. The distributed computational model is represented by a set of small, loosely coupled, replaceable, interacting with the use of lightweight communication mechanisms autonomous microservices that implement the functions of the program package modules. The decentralized management of the microservices interaction is carried out by a self-organizing multi-agent system, agents of which are delegated the rights to launch microservices. The paper discusses the models, methods, and software platform that form the basis of the proposed technology. We demonstrate the application of the applied microservice package, based on this technology, for solving the problems of qualitative analysis of binary dynamic system using the author's Boolean constraints method.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Recently, the trend of active use of the microservice technology for accessing cloud resources is
observed mainly in the development of business applications. Currently, many papers (for example,
[1, 2]) raise issues related to the development of tool environments and the providing infrastructures
for implementation resource-intensive scientific applications based on microservices. Our research
focuses on the use of microservice technology for automating both the creation new and adaption an
existing application software for the hybrid computing infrastructure that provides the ability to solve
complex problems of some subject domain (SD). The research in such SD requires computational
experiments (multivariate calculations), due to the variation of the mathematical model of the
problem, the use of various research methods, algorithms of implementation based on these methods,
and source data. In particular, the area of our scientific interests is related to the study of dynamics and
structural-parametric synthesis for different classes of dynamic controlled systems. The experience of
development of the applied program packages in this area is summarized in [3]. Currently, we focus
on the qualitative study of binary dynamic systems (BDS) based on the developed by authors method
of Boolean constraints [4].</p>
      <p>Based on the proposed technology, hybrid computing environment oriented software is presented
in the form of a package of applied microservices (AMP). The AMP distributed computational model
is represented by a set of small, loosely coupled, replaceable, and interacting with the use of
lightweight communication mechanisms autonomous microservices [5], within our approach,
implementing the functions of the package modules. Nowadays, the researchers pay great attention to
microservices-oriented computational infrastructure development. Thus, various aspects of a complete
transition to the cloud structure, related to reliability and availability, the confidentiality of data stored
in the cloud, and expenses are discussed and compared in [6]. In [2] the advantage of using
onpremises computers and connecting to the cloud for scaling the computations in case of resources lack
are noted. The objective of our research is to develop an automated technology for creating and
supporting the AMP functioning in a hybrid computing environment that includes on-premises
computers and, on demand, the resources of a public cloud. The new software platform underlying this
technology is the further development of the author’s tools [7]. Based on this platform new technology
provides the automation for both the creation of AMP and the organization of decentralized control in
the process of solving an applied problem based on direct interactions of agents (which delegates the
right to perform microservices), providing better adaptability to dynamic environments and a higher
reactivity to external influences compared to indirect ones. A modified knowledge base and the new
architecture of control agent provide of the organizing the parallel pipeline in dynamic multivariate
computations along with static multivariate one.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>The necessity of development of scalable microservice-based applications instead of producing
monolithic applications is discussed in [8, 9]. Unpredictable dynamics, mobility of components of
some problems with complex structure, and variability of cloud computing environments for solving
these problems actualize the usage of self-organization mechanisms and the multiagent approach [10,
11] for the development of software based on microservice-oriented architecture [12]. This paper
argues that an agent can be viewed as a type of microservice that can be deployed seamlessly within
any microservice ecosystem. The control organization in such systems requires new models,
architectures, and development technologies [11]. In [13], it is noted that modeling both individual
microservice components and their ensembles is challenging. In [14], the foundations of ensemble
modeling are considered, in particular, the model for the organization of goal-oriented behavior of this
ensemble is noted as a difficult problem. The engineering of these ensembles for providing their
reliability in conditions of changes in ensemble environment and requirements is one of the most tasks
[15]. The application of the multiagent system to decentralized self-adaptation of microservices based
on Docker containers [16] is described in [17]. Distributed organization and decentralized multiagent
management are indicated in [18-20] as among the main criteria for the quality and reliability of such
software systems. Direct interactions of agents in comparison with indirect ones provide better
adaptability to the variability of cloud environments and higher reactivity [21]. Microservices are
considered as modern agents that could improve systems of interrelated computing devices in
distributed environments, such as the Internet of Things in [22]. Unlike this, we focus on scientific
computations.</p>
      <p>The distinctive features of our approach are the following:
 The combination of microservices for providing research in specific SD is based on the AMP
development principles;
 Goal-oriented behavior of the microservices ensemble for solving a problem in this SD is
based on the non-procedural statement (NPS), decentralized control, self-organization, and
knowledge base (KB);
 This ensemble (and correspondently an active group of agents launched these microservices)
is formed by logical inference using NPS over distributed KB;
 The means of achieving the goal are a cooperative approach to solving the problem, direct
semantic interactions of agents, and a discrete-event finite-state behavioral model of the agent.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Basic principles of AMP development and application</title>
      <p>The methodological aspects of the proposed specialized technology for creating and using the AMP
are the following: modularity and knowledge representation about mathematical models of studied SD
objects, methods, and methodology for their analysis and design; formulation of research problems;
problem solving management.</p>
      <p>Modularity is one of the central structural properties of complex models, methods, and
methodologies of their study. For example, this principle is underlined in the mathematical model
constructing in the research areas of dynamic analysis and structural-parametric synthesis of control
systems. The method of solving a problem is focused, as a rule, on representing the model in some
standardized form. In this case, algorithms are provided both for converting a model from one format
to another and for constructing a mathematical model of a complex system without taking into account
its structure by usage the describing of the models of its elements and connections between them. The
modularity principle provides the replacement of programming way for method implementation with
the design from ready-made, previously developed, autonomously translated and debugged modules,
and allows the automatic ensemble of modules to solve a research problem.</p>
      <sec id="sec-3-1">
        <title>3.1. Conceptual model of subject domain</title>
        <p>Algorithmic knowledge of mathematical models, methods, and techniques for their study has a
complex hierarchical modular structure represented by three conceptually distinct layers: productional,
schematic, and computational. Concepts of the first layer are specified through (have references to)
schematic layer concepts that are specified through the computational one. Computational knowledge
is represented by a library of specified autonomous sub-programs. The schematic layer is a system of
interconnected objects, namely operations (O), and parameters (P), which are the simplest, most
adequate, and expressive means for describing the modular structure of a mathematical model and its
algorithms for its analysis. The organization of intermodular interfaces requires supporting the
symbolic name mechanism in the SD specification language and providing the uniqueness of
parameters and operations names automatically. The operation is an abstractive procedure that
implements the relationship of computability between two subsets of the entire set of SD parameters.
Other words, this relationship allows calculating the values of the first subset of the parameters
(operation output) according to known values of the second subset (operation input) if logical
constraints on these parameters are satisfiable. These parameters and operations are subdivided into
primitive (basis) and complex (composite) ones. Basis operations are implemented by correspondent
subprograms. Basis parameters are the actual parameters of these subprograms.</p>
        <p>For the representation of production knowledge, relations of the form Pr: L  O are introduced.
The logic parameter of the subset L  P defines the condition of the execution of the operation O.
Production systems satisfy the modularity principle and ensure the dynamic processes of construction
and modification of technological schemes of computational experiments. On the base of the proposed
approach, it is possible to group SD objects (operations and parameters) into over-layer knowledge
units called processors (C). Processors are structurally isolated and complexly organized entireties of
knowledge. These SD objects represent, for example, subsystems of constructing a mathematical
model or research methods similar in parameters and operations. Processors have a set of built-in
objects that can be used for the research problem statement (PS). The knowledge concentrated in the
processor allows automating the problem solving process by providing the means for an NPS of the
problem, formulated as follows: we need to calculate the values of D (B0) from the given values of
D (A0) (A0  P, B0  P). The NPS of the problem is hereinafter denoted as T = (A0; B0; D (A0)) (or in
short as T = (A0; B0)). The group of modules required for this problem solving is assembled using this
PS with the help of inference on the SD knowledge base distributed over the computational field (CF)
nodes (N). As a knowledge base, a following computational model (Knowledge Base Modified, KBM)
distributed over nodes is used</p>
        <p>KBM = (P, D, M, N, O, C, In, Out, Opm, Opp, Pr, Cmp, Cmo, Com),
where P, D, M, N, O, C are finite sets of, correspondently, parameters, parameter values, modules, CF
nodes, operations, and processors. The KBM has an additional set of SD objects and relationships
between them in comparison with the KBE model developed by authors in [23]. The relations
define the relationships between the correspondent sets (figure 1).</p>
        <p>The abovementioned KBM objects are mapped onto AMP data structure as follows: distributed
problem solver agents (DSA) with the “Ordinary” and “Condition” modifiers, respectively, represent
the simple operation and conditional one; the module corresponds to the computational module agent
(CMA). An NPS is formulated using the web-interface of the problem statement agent (PSA) and
saved as a template. Unique keys of parameters are represented in the parameters vocabulary of SD;
the actual values of parameters are stored in the calculated databases. Fragments of the In, Out, Opm,
Opp and Pr relationships required for DSA functioning are stored in the local KBMDSA and are used to
identify neighboring with which DSA interacts and the CMA agents which DSA initiates. Thus, the
KBM is distributed in such a way that each DSA agent has limited knowledge of both the capabilities
of other system agents and the CF topology as a whole. Com and Cmp relations are stored in the PSA
agent database and are used respectively to send messages to DSA agents and to form a local
dictionary of parameters if the user selects a specific processor for the PS.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Multiagent control</title>
        <p>Three types of agents constitute the controlling multiagent system (MAS): PSA, DSA, and CMA
according to the three control levels (figure 2). At the first control level, PSA agents receive the user’s
NPS T and send parameters names given by the sets A0 and B0 (signs of computability) to DSA agents,
which are built-in in the selected processor. These built-in initial and goal DSA agents are created for
sending out parameters from A0 and accumulating parameters from B0 correspondently.</p>
        <p>At the second level, DSA agents verify the possibility of problem solving (solving-modules
availability) in the computational network deployed at the CF nodes. This is stage of forming the
active group of agents, step 1 in figure 2. During this verification based on self-organization
mechanisms and decentralized control, DSA agents form an active group for solving the specified
problem. If the problem can be solved the DSA-goal agent sends “Solvable” to PSA agent, the PSA
agent sends input parameters values D(A0) for solving the problem (finding D(B0)) (the problem
solving stage, step 2 in figure 2).</p>
        <p>Otherwise, the user receives a notification about the impossibility of solving the problem. The
method of coordinating the DSA agents is based on asynchronous behavior “on readiness of input
data” (event-driven control) and used during both the group forming and problem solving. Direct
agent interactions are defined by fragments of the In and Out relationships stored in local DSA.</p>
        <p>The third control level is involved only for the stage of problem solving. DSA agent initiates
correspondent CMA agent according to input data readiness only if the logic parameter defined by the
relation Pr is TRUE. CMA agent controls the program module launch, monitoring of its executing,
and sending results to DSA agent.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Conditional control structure</title>
        <p>Let L = {l1, l2, …, lq}, L  P is the set of q logic parameters for controlling the launch of modules from
M. The relation Pr  LP will be called the conditional control structure of the KBM (similar to [23]).
The semantics of this relationship is as follows: if the pair (l*, m*) (l*  L, m*  M) belongs to Pr, then
the launch of the module m* can be done if the value of the parameter l* is TRUE. The parameters
from L are calculated during the problem solving or sets by the user (by including in the set A0) at the
stage of the NPS T.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Multivariate calculations</title>
        <p>Let V = {v1, v2, …, vr}, V  A0 be the set of r variable parameters. The necessity is observed to solve
the problem T for a set of values from domain D (V) repeatedly in many cases. The KBM model
provides a single stage of forming an active group of agents, but the problem solving stage is repeated
according to the number of variants from the domain D (V). It is assumed that variants generation
process is regular (algorithmic) and ends if the set of variants has been exhausted or the current one
has a solution of problem T. In both cases, all active agents involved in the problem solving using
multivariate calculations are deactivated. A built-in processor’s operation generates the variants
according to the NPS T = (A0 ={V, Vmax, Vmin, H,…}; B0). The V, Vmax, Vmin, and H parameters are
composite that include specifications of variable type and a way to increase step (for example,
arithmetic or geometric progression). To organize dynamic multivariate calculations when the size of
the domain D and the step of changing the variable parameters are unknown, the DSA agent is used
with the "Variant" modifier, which is set when creating the agent. The DSA agent of this type
iteratively performs the following sequence of actions: launching a CMA agent, sending the result to
DSA neighbouring agents (according to the In, Out relationship in the local knowledge base) until a
message is received from the CMA agent that no more solutions are found.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. DSA agent behavior model</title>
        <p>The behavior of the DSA agent is described by the discrete-event finite-state model FFSMwVW
(Flowed Finite State Machine with Variables and Works), which is a further development of the model
represented in [23, 24]. The modified model provides processing of the heterogeneous tasks flow in
multivariate computations, and has the following form:</p>
        <p>FFSMwVW  (, S, δ, x, y,G, E,W , (s0, y0 ),sm ) ,
where
 Σ and S are finite sets correspondingly of events and states;
 δ: Σ × G ×x × y × S → S × y is the transition function;
 x and y are the vectors of binary correspondingly input and output;
 G and E are sets of predicates correspondingly for input variables and events;
 W is a set of program works performed by the agent;
 s0 and sm are the initial and final states;
 y0 is the value of output vector y in the initial state s0.</p>
        <p>When agents interact, each message with the number i initiates the formation of an event
corresponding to this message, and the value of the event predicate ei becomes TRUE. The list of
events is represented in figure 3. Messages are divided into external and internal ones and processed in
the order they are taken from the message queue. The transition graph of the FFSMwVW based DSA
agent is shown in figure 3. The DSA agent can be in seven states. Predicates g1, g2, ..., g9, belonging to
the set G, define the condition for the transition by arcs depending on the values of the components of
the input vector x and are calculated by the formulas:
g 1 x1  x2  x3 ; g 2  x1  x2  x3 ; g3  x1  x2  x3 ; g 4  x1  x3 ;
g5  x1  x2 ; g6  x1  x2 ;g 7  x1  x2 ; g8  x1  x2 ; g9  x1  x3 .</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6. New DSA architecture</title>
        <p>The new DSA agent architecture allows including this DSA in several (KAg) active groups Ag*1, Ag*2,
…, Ag*KAg. In contrast to [23, 24], firstly, the data stored in the memory of the DSA agent is
represented by arrays of lists instead of one-dimensional structures. Secondly, along with processing
of homogeneous flows, the processing heterogeneous subtask flows, which are generated for
multivariate calculations for different problems solved concurrently, is provided. Also, the structure of
the transmitted messages is changed accordingly. A message router is added to the executable part of
the DSA agent.</p>
      </sec>
      <sec id="sec-3-7">
        <title>3.7. AMP implementation platform novelty</title>
        <p>The new version of previously developed by the authors the HPCSOMAS framework [7], namely
HPCSOMAS-MS platform, is designed to automate the creating, deploying, testing, and usage of
AMP. This version simplifies the using of cloud-based computing resources and automates the
constructing AMP intended for integrated cloud and on-premises calculations. Thus, the components
for deploying and updating microservices, synchronization of data installed on cloud and on-premises
resources extend this version's features in comparison with [7]. The generalized scheme of
constructing AMP based on HPCSOMAS-MS is presented in figure 4. The main components of
HPCSOMAS-MS are the web-constructor of the AMP including subsystems for editing the SD
vocabulary, web services for building and configuring of agents, and PSA structurizer and
configurator; deployment wizard for microservices, and synchronizer for knowledge bases and
databases.</p>
        <p>The last four subsystems were absent in previous versions. These subsystems were developed and
incorporated into the HPCSOMAS-MS platform in connection with the transition to AMP-based
computing. With the help of the structurizer, computational microservices are distributed among the
processors C included in the PSA agent structure. During structuring, relations Cmp and Cmo are
formed. The information about which is entered into the local KBMPSA. This database also stores
information about users connected to the HPCSOMAS-MS system, active agent groups Ag* formed
for different problem statements (AGPS), user data update tables (UDUT), and developer data update
tables (DDUT), in which monitoring results of computations are stored. The AGPS stores the set of
microservices included in the NPS. UDUT is used for synchronization. DDUT and AGPS are used for
automated deployment, updating, and testing of microservices. For example, in case of updating
microservice, testing is performed not for all AGPS but only for those to which it belongs.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Example of using AMP based on the proposed technology</title>
      <p>The created AMP package is focused on solving problems of qualitative analysis and the
structuralparametric synthesis of BDS using the author's logical method [4]. Based on this method, the solving
of these problems reduce to verifying of the satisfiability of Boolean constraints on the trajectories
behavior. For BDS, whose functioning is considered on a finite time interval, these constraints are
written in the language of Boolean equations or Boolean formulas with quantifiers. In the first case
solving the SAT problem is required. The second is related to evaluating the truthfulness of the QBF
formula. At the initial stage, a Boolean model (BM) of the dynamical property of BDS is built. The
structure of the BM is determined by the logical specification of the dynamical property and BDS
dynamics description. At the next stage, the satisfiability of this property is verified using efficient
parallel SAT and QBF solvers. AMP includes two processors intended for a parametric synthesis of
stabilizing feedback and a qualitative study of the BDS trajectories behavior on a finite time interval.
As an example of the AMP use, we consider the qualitative study problems solving in the second
processor. Specific parameters (a step and bounds of changing domains values) and operations
(variants generators) are included into this processor for the multivariate calculations.</p>
      <sec id="sec-4-1">
        <title>4.1. The problem of analyzing the structure of the state space of nonlinear BDS</title>
        <p>Let us demonstrate the proposed approach for the practically important, and computationally complex
problem of analyzing the structure of the state space for a nonlinear BDS. BDS dynamics description
has the following vector-matrix form</p>
        <p>
          xt  F (xt1, ut1) ,
where x  Bn is a state vector, B  {0,1}, n – is the dimension of the state vector; u  Bm is the input
vector, m is the dimension of the input vector; t T  {1,2,...,k} is the discrete time (number of time
steps); F(x) is a vector-function of the logic algebra called transition function ( F : Bn  Bm  Bn ). Let
us define the trajectory x (t, x0 ,u(t)) of (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) as a finite sequence x0 , x1,..., xk from the Bn set for each
initial state x0  Bn and a finite sequence u(t)  (u0 ,u1,...,uk1) of the states of the input vector (
ut  Bm , t  0,1,2,...,k 1 ).
        </p>
        <p>
          Qualitative analysis of BDS with inputs, based on the study of the structure of the state space,
suggests solving of following problems: the searching of equilibrium states and closed trajectories
(cycles), verifying of their isolation and the reachability property of the goal states set X *  Bn from
the initial one X 0  Bn , determining of immediate predecessors for given states. Currently, these
problems are among the most important [25] for studying the dynamics of the behavior of gene
regulatory networks represented by a discrete in time and state model (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), for analyzing the different
stability types of a shift register with nonlinear feedback [26], and some other applications.
        </p>
        <p>
          The model (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is substantially nonlinear. So, existing methods in the theory of linear BDS are not
applicable for (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ). Therefore, we formulate the mentioned above problems of analyzing the structure
of the state space of the model (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) as problems of the Boolean satisfiability [4]. The model (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is
equivalent to a single Boolean equation of the form
Φk (x0,x1,...,xk , u0 , u1,...,uk1)  t1 in1 (xit  Fi (xt1, ut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), the equation (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) takes the form
        </p>
        <p>Φ1(x0,x1, u0 )  in1(xi1  Fi (x0 , u0 ))  0 .</p>
        <p>
          Taking into account (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ), the equation (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) is
        </p>
        <p>Φk (x0,x1,...,xk , u0 , u1,...,uk1)  tk1Φ1(xt1,xt , ut1)  0 .</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Boolean equations for analyzing the structure of the state space</title>
        <p>
          Let the input sequence u (t) is constant on the all interval of functioning the system (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) functioning
interval: u(t)  (u0 , u1  u0 ,...,uk1  u0 )  u0 (t) , u0  Bm . Then the maximum number of structures
in the state space of (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) is equal to 2m , each of which represents the autonomous behavior of (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) with
a corresponding constant input action. According to [4], the required Boolean equations for a
qualitative study of the state space structure of autonomous BDS on a finite time interval T are as
follows:

        </p>
        <p>
          All immediate predecessors x0 of the state s  Bn for given u0  Bm are the solutions of the
following equation
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
Equilibrium states for given u0  Bm are the solutions of the next equation
1(x0 , x1, u0 (t)) x1s  0 .
1(x0 , x1, u0 (t)) x1x0  0.
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
The property of reachability of the goal set X* from the set X0 for t  k time steps is satisfied
when there is no solution for the equation
        </p>
        <p>
          G0 (x0 )  k (x0 , x1,..., xk , u0 (t))  (tk1G*(xt ))  0 .
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
        </p>
        <p>Here, the equation G0 (x0 )  0 defines the set of initial states, G* (x) are the characteristic function
of the set X*.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Computational model for analyzing the structure of the state space</title>
        <p>
          According to equations (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )-(
          <xref ref-type="bibr" rid="ref6">6</xref>
          ), the sets {Ф1, X0}, {Ф1, s}, {Ф1, k, X0, X*} are the structural elements of
the BM for, correspondently, searching equilibrium states (BMES), searching the immediate
predecessors (BMIP), verifying the reachability property (BMR). The construction of BMES, BMIP,
BMR models (AMP parameters) are performed by BBMES, BBMIP, BBMR microservices (AMP
operations). Microservices EqST, ImPred, and Reach are used for solving analysis problems for these
models. The found sets of equilibrium states and immediate predecessors are stored respectively in the
parameters S and A_IP. The JA_IP inserts the next element IP found by the BBMIP into the A_IP
array if logical parameter YIP=TRUE. A fragment of the SD computational model is shown in figure 5.


        </p>
        <p>This fragment illustrates static multivariate computations for verifying the reachability property by
the Reach microservice for different variants of k values (BM for k-step transitions are formed).
Dynamic ones are also provided – the equilibrium states are found iteratively one at a time by the
EqSTV microservice. The next found equilibrium state is assigned to the working variable var by the
EqSTV microservice, and the logical variable YS is assigned TRUE. In this case, the Y_ST
microservice convert var to SV and transmit it to BBMIP microservice for the verification of the
presence of immediate predecessors (an example of the pipeline:
BBMESEqSTVY_STBBMIPImPrJ_IP). Concurrently with the search for the next
equilibrium state, the presence of predecessors (verifying the isolation property) of the previous
equilibrium state is checked. In dynamic multivariate computations, pipeline computations can be
performed based on functional parallelism.</p>
        <p>Parallelism also can arise when performing multivariate heterogeneous tasks in CF using the same
DSA agent in different Ag* group. The DSA agent has a message queue, the format of which includes
a task identifier and a variant identifier. Therefore, this agent can switch from one task to another if it
is in a state of waiting for input data from the first task, and the data for the second one is ready. The
CMA agent has a task queue. DSA agent (having "parallel" modifier when creating) duplicates the
CMA one if its tasks are queuing for parallel computations in case of presence reserve resource.</p>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Analyzing the structure of the state space</title>
        <p>
          Let us consider the technology of applying Boolean constraints (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )-(
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) and NPSs for studying the
stability property of a nonlinear feedback shift register (NFSR) [26]. NFSR dynamics equations of
closed-loop system are:
x1t  x1t1  x2t1  x4t1  x5t1  x1t1  x2t1 t41 x5t1  x1t1  x2t1  x4t1  x5t1  ut1  (x1t1  x4t1  x1t1  x5t1 
 x2t1  x4t1  x2t1  x5t1  x1t1  x5t1  x1t1  x2t1)  ut1  (x1t1  x2t1  x4t1  x1t1  x2t1  x5t1  x1t1  x4t1 
 x5t1  xt1  x4t1  x5t1),
        </p>
        <p>2
x2t  x1t1  x2t1  x5t1  ut1  (x1t1  x2t1  x4t1  x1t1  x4t1  x5t1  x1t1  x2t1  x4t1  x5t1)  ut1  (x1t1 
 x2t1  x4t1  x1t1  x4t1  x5t1  x1t1  x2t1  x4t1  x5t1),
x3t  x1t1  x2t1  x3t1  ut1  (x1t1  x2t1  x4t1  x2t1  x4t1  x5t1  x1t1  x2t1  x4t1  x5t1)  ut1  (x1t1 
 x2t1  x4t1  x2t1  x4t1  x5t1  x1t1  x2t1  x4t1  x5t1),
x4t  x3t1,
x5t  x4t1.</p>
        <p>Here, x = col (x1, x2, x3, x4, x5) is the state vector, u (t) is scalar input vector (syndrome [26]). Two
properties of the shift register stability are considered in [26]:
 Property 1 (u (t) = 0, register self-control mode). The non-linear feedback shift register is
stable if for each state x  Bn there exists such t that x (t, x0, u0(t)=0) = 0. Otherwise, this
register is unstable.
 Property 2 (the input of the register receives an arbitrary input action u (t)). A shift register
with nonlinear feedback is stable with respect to the input action u (t) if and only if for any
state x* that this register can reach from the zero state with some input action u (t), there exists
such t that x (t, x*, u0 (t) = 0) = 0.</p>
        <p>Let us describe the study of analyzing the structure of the state space of the shift register. The
binary register state is represented in decimal notation (x1 is the left bit of the binary set b1b2b3b4b5 and
is calculated as b120+b221+b322+b423+b524).</p>
        <p>NPSs for computations are:
 T1 = (A0={Ф1}; B0={A_IP}, D(A0)={ Ф1=“F1.cnf”}) for searching immediate predecessors of
equilibrium states (parallel pipeline in multivariate computations).

</p>
        <p>T2 = (A0={Ф1, VIP , VIPmin , VIPmax , HIP }; B0={IP}; D(A0)={VIP={14, 30}, VIPmin =1, VIPmax =3,
HIP=+1, Ф1=“F1.cnf”}) for searching immediate predecessors of each state from VIP set of
states (parallel pipeline in static multivariate computations).</p>
        <p>T3 = (A0={Ф1,SV}; B0={IP}; D(A0)={SV=29, Ф1=“F2.cnf”}) for searching immediate
predecessors of a particular state, for example, 29 in this case.
 T4 = (A0={Ф1, X0, X*, Vkmin , Vkmax , Hk}; B0={YR}; D(A0)={ Vkmin =1, Vkmax =8, Hk=*2,
Ф1=“F2.cnf”}, X0=B5\{29, 14, 30, 7}, X*={0}}) for static multivariate computations. Verifying
the reachability of the set X* from the set X0 for different values of the level k.</p>
        <p>Here, dynamics equations are described in files “F1.cnf” for u0 (t) = 0, and in “F2.cnf” for
u0 (t) = 1. The example of the parallel pipeline when performing the NPS T1 in dynamic multivariate
computations is shown in figure 6. Functional parallelism is implemented by executing different
microservices controlled by correspondent DSA at the same time interval ti. When executing different
NPS at the same time, the DSA included in both NPSs, switches between waiting mode and
performing tasks for each NPS if its data is ready. The DSAs Ag6 (variants generation) and Ag10
(collecting results) can be installed on the same CF node.</p>
        <p>The names of the input (A0) and output (B0) parameters are marked in the parameter list in the PSA
web-interface. The value of the input data D (A0) is set in the corresponding input fields. The
following explains the logic of studying stability property of shift register using the above NPSs.</p>
        <p>
          The equilibrium states 0 and 29 are found by solving the equation (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) for u0 (t) = 0. When solving
equation (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) for u0 (t) = 0 for these states (T1 NPS), it turns out that state 29 is isolated (no
predecessors). So the state 0 is unreachable from the state 29. Therefore, taking into account property
1, the considered shift register with nonlinear feedback is unstable.
        </p>
        <p>
          For checking the property 2, the Boolean equation (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) is solved for x1 = 29 and u0 (t) = 1 (T3 NPS).
As a result, the immediate predecessors of the state 29 are states 14 and 30. This equation is solved
once more for these states (T2 NPS for x1 = 14 and x1 = 30) for u0 (t) = 0. So, the state 14 has the
predecessor 7, but the state 30 has none. When solving (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) analogically for x1 = 7 (T3 NPS), the
predecessor is not found also. Finally, the absence of predecessors for these two states (30 and 7) both
for u0 (t) = 0 and u0 (t) = 1 means unreachability of 29 for any input u (t). Therefore the reachability set
is X 0=B5 \ {29, 14, 30, 7}.
        </p>
        <p>
          The equation (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) is solved for checking the reachability property of the set X * = {0} for k = 1, 2, 4,
8 (T4 NPS). Elements of sets X 0 and X * are the roots of the following Boolean equations (state 0 is
excluded from X 0):
        </p>
        <p>G0 (x) : x5  x4  x3  x2  x1  x5  x4  x3  x2  x1  x5  x4  x3  x2  x1  x5  x4  x3  x2  x1  x5  x4  x3 
 x2  x1  0,</p>
        <p>G*(x) : x1  x2  x3  x4  x5  0.</p>
        <p>As a result, for k = 8 the reachability property is satisfied for X *. Therefore, taking into account</p>
        <p>Property 2, a register with nonlinear feedback is stable relative to the input action u (t). State transition
diagrams (figure 7) allows verifying the stability property of the shift register.</p>
        <p>This example illustrates using the NPS for research problem solving, and the static/dynamic
multivariate calculations conducted by active agents group for analyzing the structure of the state
space of shift register.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>We develop the automation technology for creating, deploying, and supporting the AMP functioning
in a hybrid computing environment. This technology provides both functional parallelism and data
parallelism at dedicated CF nodes for the semantic network of agents. This functionality is based on
the AMP microservices architecture, the means of AMP computational model for conditional module
launch, and multivariate computations, decentralized multiagent control, self-organization
mechanisms, and DSA agent architecture based on FFSMwVW model.</p>
      <p>Using this technology, we developed AMP to automate a qualitative study of binary dynamic
systems based on the Boolean constraints method and demonstrated its application to solve the
problem of analyzing the structure of the states space of the shift register and its stability.</p>
      <p>The developed AMP can be used to solve a wide range of tasks, including the study of the
dynamics of gene regulatory networks represented by a discrete both in time and a state, model.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>
        This work was supported by Russian Foundation of Basic Research, project no. 18-07-00596 (reg. no.
№ AAAA-A18-118012290008-8). This work was also supported in part by the Presidium RAS,
program no. 7, project “Methods, algorithms and tools for the decentralized group solving of problems
in computing and control systems” ” (reg. no. АААА-А18-118031590006-2). The authors would like
to thank the Irkutsk Supercomputer Center of SB RAS for providing access to cluster computational
resources.
Component-based Software Engineering (New York, USA: ACM) pp 81–90
[19] Brueckner S and Czap H 2006 Organization, self-organization, autonomy and emergence: States
and challenges ITSA 2(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) 1-9
[20] Fernández H, Priol T and Tedeschi C 2010 Decentralized approach for execution of composite
Web services using the chemical paradigm Proc. of the 8th IEEE Int. Conf. on Web Services
(Miami: FL) pp 139-146
[21] Buguillo J 2018 Self-organizing Coalitions for Managing Complexity (Springer International
      </p>
      <p>Publishing) 29 pp 89-100
[22] Krivic P, Skocir P, Kusek M and Jezic G 2018 Microservices as agents in IoT systems Int.
symp. Agent and Multi-Agent Systems: Technology and Applications. KES-AMSTA 2017.
Smart Innovation, Systems and Technologies ed G Jezic and M Kusek (Cham: Springer) 74
pp 22-31
[23] Bychkov I V, Oparin GA, Bogdanova V G and Pashinin A A 2018 Service-oriented technology
for development and application of decentralized multiagent solvers for applied problems
Herald of computer and information technologies 12 36-44 (In Russian)
[24] Oparin G A, Bogdanova V G, Pashinin A A and Gorsky S A 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, Opatija,
2018. P. 1415-1420
[25] 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
[26] Massey J L and Li R W 1964 Application of Lyapunov’s direct method to error-propagation
effect convolutional code IEEE Trans. IT 10(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) 248-250
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Mazzara</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khanda</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mustafin</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rivera</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Safina</surname>
            <given-names>L</given-names>
          </string-name>
          and
          <article-title>Sillitti A 2018 Microservices science</article-title>
          and engineering ed P Ciancarini,
          <source>S Litvinov et al Proc. of the 5th International Conference in Software Engineering for Defence Applications. SEDA. Advances in Intelligent Systems and Computing</source>
          (Cham: Springer) 717 pp
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Netto</surname>
            <given-names>M A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calheiros</surname>
            <given-names>R N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodrigues</surname>
            <given-names>E R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunha R L and Buyya</surname>
            <given-names>R 2018</given-names>
          </string-name>
          <article-title>HPC cloud for scientific and business applications: taxonomy, vision</article-title>
          ,
          <source>and research challenges ACM Comput. Surv. 51</source>
          <volume>8</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          :
          <fpage>29</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Somov</given-names>
            <surname>Ye</surname>
          </string-name>
          <string-name>
            <given-names>I</given-names>
            ,
            <surname>Butyrin</surname>
          </string-name>
          <string-name>
            <given-names>S</given-names>
            ,
            <surname>Oparin</surname>
          </string-name>
          <string-name>
            <given-names>G A</given-names>
            and
            <surname>Bogdanova</surname>
          </string-name>
          <string-name>
            <surname>V G</surname>
          </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="ref4">
        <mixed-citation>
          [4]
          <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>
          and
          <string-name>
            <surname>Pashinin</surname>
            <given-names>A A</given-names>
          </string-name>
          <year>2018</year>
          <article-title>Boolean constraints method in qualitative analysis of binary dynamic systems</article-title>
          <source>International Journal of Applied and Basic Research</source>
          <volume>9</volume>
          <fpage>19</fpage>
          -
          <lpage>29</lpage>
          (In Russian)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Newman</surname>
            <given-names>S 2015</given-names>
          </string-name>
          <string-name>
            <surname>Building Microservices (O'Reilly)</surname>
          </string-name>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Fisher</surname>
            <given-names>C 2018</given-names>
          </string-name>
          <article-title>Cloud versus on-premise computing</article-title>
          <source>American Journal of Industrial and Business Management</source>
          <volume>8</volume>
          <fpage>1991</fpage>
          -
          <lpage>2006</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <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</surname>
            <given-names>S A</given-names>
          </string-name>
          <year>2017</year>
          <article-title>Automation development framework of scalable scientific web applications based on subject domain knowledge Parallel Computing Technologies ed V Malyshkin (Cham: Springer</article-title>
          , LNCS)
          <volume>10421</volume>
          pp
          <fpage>278</fpage>
          -
          <lpage>288</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Oberhauser</surname>
            <given-names>R</given-names>
          </string-name>
          2017 Microflows:
          <article-title>Enabling agile business process modeling to orchestrate semantically-annotated microservices ed R Oberhauser and S Stigler Seventh Int</article-title>
          .
          <source>Symp. on Business Modeling and Software Design (SCITEPRESS) 1</source>
          pp
          <fpage>19</fpage>
          -
          <lpage>28</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Ghani</surname>
            <given-names>A</given-names>
          </string-name>
          and
          <string-name>
            <surname>Zakaria</surname>
            <given-names>M 2018</given-names>
          </string-name>
          <article-title>Method for designing scalable microservice-based application systematically: a case study IJACSA 9(8</article-title>
          )
          <fpage>125</fpage>
          -
          <lpage>135</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Gorodetskii</surname>
            <given-names>V I</given-names>
          </string-name>
          <year>2012</year>
          <article-title>Self-organization and multiagent systems: I. Models of multiagent selforganization</article-title>
          <source>Journal of Computer and Systems Sciences International</source>
          <volume>51</volume>
          (
          <issue>2</issue>
          )
          <fpage>256</fpage>
          -
          <lpage>281</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Rodrigues</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leitão</surname>
            <given-names>P</given-names>
          </string-name>
          and
          <string-name>
            <surname>Oliveira</surname>
            <given-names>E 2014</given-names>
          </string-name>
          <article-title>Dynamic composition of service oriented multiagent system in self-organized environments</article-title>
          <source>Proc. of the 2014 Workshop on Intelligent Agents and Technologies for Socially Interconnected Systems</source>
          pp
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Collier R W</surname>
            , O'Neill
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lillis</surname>
            <given-names>D</given-names>
          </string-name>
          and
          <string-name>
            <surname>O'Hare G 2019 MAMS</surname>
          </string-name>
          <article-title>: Multi-Agent MicroServices Proc</article-title>
          .
          <source>The WWW Conf</source>
          . pp
          <fpage>655</fpage>
          -
          <lpage>662</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Mayer</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Velasco</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klarl</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hennicker</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puviani</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tiezzi</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pugliese</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keznikl</surname>
            <given-names>J</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bureš</surname>
            <given-names>T 2015</given-names>
          </string-name>
          <article-title>The autonomic cloud ed M Wirsing and M Hölzl Software Engineering for Collective Autonomic Systems</article-title>
          (Cham: Springer, LNCS)
          <volume>8998</volume>
          <fpage>495</fpage>
          -
          <lpage>512</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Hennicker</surname>
            <given-names>R</given-names>
          </string-name>
          and
          <article-title>Klarl A 2014 Foundations for ensemble modeling - the Helena approach ed S Iida et</article-title>
          al (Berlin, Heidelberg: Springer, LNCS)
          <volume>8373</volume>
          pp
          <fpage>359</fpage>
          -
          <lpage>381</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Hölzl</surname>
            <given-names>M</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wirsing M 2011 Towards</surname>
          </string-name>
          <article-title>a system model for ensembles ed G Agha et al Formal Modeling: Actors, Open Systems</article-title>
          , Biological Systems al (Berlin, Heidelberg: Springer, LNCS)
          <volume>7000</volume>
          pp
          <fpage>241</fpage>
          -
          <lpage>261</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Merkel</surname>
            <given-names>D 2014</given-names>
          </string-name>
          <article-title>Docker: lightweight Linux containers for consistent development</article-title>
          and deployment
          <source>Linux Journal</source>
          <year>2014</year>
          (
          <volume>239</volume>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Florio</surname>
            <given-names>L 2015</given-names>
          </string-name>
          <article-title>Decentralized self-adaptation in largescale distributed systems Proc. of the 2015 10th Joint Meeting on Foundations of Software Engineering</article-title>
          (New York: ACM) pp
          <fpage>1022</fpage>
          -
          <lpage>1025</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Bures</surname>
            <given-names>T</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerostathopoulos</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hnetynka</surname>
            <given-names>P</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keznikl</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kit</surname>
            <given-names>M</given-names>
          </string-name>
          and
          <string-name>
            <surname>Plasil F 2013 Deeco:</surname>
          </string-name>
          <article-title>An ensemble-based component system Proc. of the 16th International ACM Sigsoft Symp</article-title>
          . on
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>