<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>S. (2020). Method for designed and
adaptation of complex organization and technical systems. Journal of Scientific Papers «Social
Development and Security»</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0141-9331</issn>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.1109/TCSET55632.2022.9766994</article-id>
      <title-group>
        <article-title>Methodical Approach to Designing Secure Adaptive Embedded Systems Implemented Via Reconfiguring their Structures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Serhii Shtanenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yurii Samokhvalov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksiy Silko</string-name>
          <email>oleksiy.silko@viti.edu.ua</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Military Institute of Telecommunication and Information Technologies named after the Heroes of Kruty</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Moskovska str.</institution>
          <addr-line>45/1, Kyiv, 01011</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Taras Shevchenko National University of Kyiv</institution>
          ,
          <addr-line>Volodymyrs'ka str. 64/13, Kyiv, 01601</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>29</volume>
      <issue>3</issue>
      <fpage>287</fpage>
      <lpage>290</lpage>
      <abstract>
        <p>The article proposes a methodical approach to designing secure adaptive embedded systems which is based on their ability to restore their proper functionality by way of reconfiguring hardware components, this process being based on the results of self-control. This approach includes two stages. The first stage involves the initial allocation of tasks to a system's hierarchy levels and nodes followed by their reallocation caused by the system failure in the wake of adverse exposure. The second stage sees the reconfiguration of the system implemented to restore its proper functionality by reprogramming.</p>
      </abstract>
      <kwd-group>
        <kwd>Keywords1</kwd>
        <kwd>Adaptation</kwd>
        <kwd>survivability</kwd>
        <kwd>embedded system</kwd>
        <kwd>programmable logic devices</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>controlled by them [1].</p>
      <p>Embedded Systems are specialised microprocessor-based systems whose development concept is
based on their interaction with a controlled object and which are immediately built into the device</p>
      <p>At present embedded systems are widely used in various fields of activity such as mechanical</p>
      <p>2022 Copyright for this paper by its authors.
may draw a conclusion that the development of modern embedded systems is a process of designing
proper components and using standard digital components of intellectual property that serve not only
as circuit design description, but are in effect full form documents for functional and parametric
modelling, verification and production with modern technologies being used [4].</p>
      <p>At present the questions relating to the designing of dedicated microprocessor systems receives a
lot of scientific attention. So, paper [5] examines the issue of improving the performance of
microprocessors used in access control systems. The paper outlines the requirements and proposes a
set of commands required for quality microprocessor designs based on residue number systems and
used for access control. Paper [6] provides a review of facilities for designing embedded
microprocessor systems relying on programmable logic devices and examines software debugging
tools for microprocessor systems based on such core families as Pico Blaze, Micro Blaze and
Power PC. Paper [7] reviews the issues of regularising embedded microprocessor systems as well as
the synthesis of hardware componentof embedded systems by means of variable logic with the
program-controlled automaton model being used. The paper [8] examines the need to ensure prompt
(crisis) response to cyber incidents within a limited time frame and determines the improvement of
the information decision-making model.</p>
      <p>However, the analysis carried out shows that as of today, the issues relating to health assessment
of embedded systems have not been dealt with exhaustingly as regards their proper functionality in
the event of adverse exposure (e.g. one producing ionising and electromagnetic effects, cyber-attacks
by hardware and software Trojan horses, network worms, DDoS attacks etc.), the same applying to
issues of automatic online restore of the system in question which is based on self-checking results.</p>
      <p>Considering the above, the purpose of this article is to develop a methodological approach to
designing adaptive embedded systems which are able to work when adversely exposed and which are
based on integral circuits with soft structures.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Adaptation as a Means of Enhancing Survivability of Embedded Systems</title>
      <p>Adaptation is understood as a change of parameters and structure of the system and, possibly, of
management action based on processing data which is implemented with the purpose of achieving a
certain optimal system status with initial uncertainty under changing working conditions [9].</p>
      <p>The use of the adaptivity principles allows:
the designing of the system in compliance with the requirement as to its quality when the initial (a
priori) information about controlled objects and exposure is limited;</p>
      <p>correspondence of control quality to the specified requirements when the system in the controlled
object is working and receiving exposure, this being done via rational adaptation of the system to
changing conditions [10].</p>
      <p>Figure 1 shows the generalised structure of the adaptive system, which can be represented as a
two-level construction.</p>
      <p>Adaptive
device
Control
device
exposure
Controlled</p>
      <p>object
inlet
outlet</p>
      <p>The lower level represents the master control system made up of the control object and control
device. The upper level is the combination of devices used to modify the properties of the master
control systemas required by the stated adaptation aims. The adaptation device that constitutes the
upper level of the construction and receives data about exposure, system statusand monitoring
signalsfrom the control object's inlet. On analysing this data, it establishes how much the quality
criterionfor the basic system corresponds to the requirements applicable toit. If the quality criterion
for these requirements is not met, the adaptation device generates commands that change the structure
and parameters or only parameters of the device in such a way that the quality criterion is harmonised
with the existing requirements.</p>
      <p>If one examines the adaptation of embedded systems to adverse exposure, one can see that is
directly associated with such a property of complex systems as survivability. The property that is
activated (by a properly organised structure and via its operation) to withstand adverse exposure and
implement its functions in specified exposure conditionsis referred to as the system survivability [11].
Owing to this property, the failure of any subsystem or section of the system results in its reduced
performance rather than the failure of the whole system. When evaluating the survivability of
hierarchy structures, we assume the existence of a certain degree of functional, structural and
information redundancy. According to [12], the maintenance and enhancement of survivability of
complex hierarchic technical systems is provided by advanced mechanisms for recognition,
counteraction and restore, as well as by special means of adaptation, reconstruction, reconfiguration
and reorganisation.</p>
      <p>Papers [4, 13] propose the use of crash-proof programmable microprocessor systems as hardware
components, which belong to the class of reconfiguration devices and are able to employ
system-onchip technologies. Apart from that, paper [14] proposes the use of the service processor for
diagnosing and automatic restorationof microprocessor systems. Here the main function of the service
processor is to diagnose a microprocessor system and make decisions based on troubleshooting
informationfor the reconfiguration of the system via reprogramming integrated-circuit logic, this
beingcarried out to restore proper functionality. Thus, the service processor combined with the
embedded system effectively serves as a closed cycle of the adaptive microprocessor.</p>
      <p>It is to be noted that the latest time has seen the arrival of a new type of control systems, namely
distributed microprocessor-based control systems. In numerous cases, the architecture of these
systems does have a central processing unit as all control functions are implemented on-device by
local control cells based on microprocessors (often built into core process equipment). Frequently, in
structural terms distributed (spatially) microprocessor-based control systems are hierarchic control
systems. Notably, the upper-level control functions can be implemented both by a personal computer
and microprocessor.</p>
      <p>In designing such systems, a major task is to synthesise the structure which defines the internal
organisation of and relatively stable dependency between the elements of the system. When solving
this problem, we will use the fundamental principles of the decomposition-aggregation approach [15].
According to this approach, the synthesis of the distributed microprocessor-based control system is
understood as a successive solution to problems relating to the synthesis of the main elements and
parts of the system which includes:
determining the number of a system's hierarchy levels and nodes;
task allocation (reallocation) to a system's hierarchy levels and nodes;
a choice of computing systems capable of reconfiguring the underlying hardware structure.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Determining the Number of a System's Hierarchy Levels and Nodes</title>
      <p>An embedded system is a microprocessor-based control system whose elements are spatially
distributed between separate components of the complex controlled technological process. For this
reason, the organisational design of the system is to be created in conformity with the principle of
compatibility between its design and the organisational structure of the controlled technological
process. In other words, based on the necessity of some or other equipment having a microprocessor
system, one needs to build the map : N  M  N1  M1 , where N , M is the number of hierarchy
levels of the design of controlling elements and the number of these elements whereas N1, M1 is the
number of hierarchy levels and nodes of the embedded system.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Task Allocation (Reallocation) to a System's Hierarchy Levels and Nodes</title>
      <p>Task allocation (reallocation) to a system's hierarchy levels and nodes consists of the following
subtasks: ones involving initial allocation and ones involving reallocation in the wake of adverse
exposure.</p>
      <p>Task allocation to a system's hierarchy levels and nodes is a typical task for designing complex
technical systems. To minimise the time spent on the exchange of information between the system
levels, the standard practice is to allocate to each level the tasks that have maximum interdependency
when the system is at work [16].</p>
      <p>Now we will pose an allocation problem. Let there be given a set of problems F  fi , 1, n of the
embedded system which has m levels. Any of tasks fi  F  F  can be performed only on one
level, with F  being a set of tasks that have already been allocated.</p>
      <p>We will introduce the allocation parameter xik :</p>
      <p>1, iftask i - th task is implemente d at the k - th level, k  1, m,
xik  
0, alternatively
.</p>
      <p>n
The fulfilment of condition  xik  1, k  1, m, i  1, n is mandatory, this meaning that every
i1
task can be allocated only to one level.</p>
      <p>Then we will use aij to represent the algorithmic connection of task i -th with task j -th (relative
frequency of the executing task f i on completing task f j ), Bi is the memory space necessary for
executing task i , B (k) is the available memory space of the computing tools at level k .</p>
      <p>With the designations given above, task allocation can be represented as the linear integer
programming problem coming below: to find
with constraints</p>
      <p>m n
min   aij xij ,</p>
      <p>k 1 i 1
n n
 Bi xik  B(k) , k  1, m,  xik  1, xik  0,1.</p>
      <p>i 1 i 1</p>
      <p>
        The problem solution will be a cluster of vectors x1  (x11, ..., xi1, ..., xn1) ; x2  (x12 , ..., xn2 ) ; …;
xm  (x1m , ..., xnm ) ; with the corresponding ones xik  0,1, which ensure the implementation of (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>
        This problem can be interpreted as that of partition of the apex-directed weighted graph
G  Y , V  , where the memory space occupied by task i -th Bi is placed in correspondence with
apexes Y and the algorithmic connection of task i -th with j -th aij is made congruent with the set of
circular-arc graphs V . The solution to the problem lies in partitioning graph G into k  m of sub
m m
graph  Gk  that meet conditions Y  Yk ; Yk   and the requirements of the minimum
k 1 k 1
objective function (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) with constraints imposed on other parameters (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ).
      </p>
      <p>
        The application of one or another method to solving this problem largely depends on the number
of apexes of the graph. The graph dimension is conventionally defined as small ( n  6 number of
apexes); middle ( 6  n  30 ) and high ( n  30 ) [17]. As for small-dimension graphs, it is expedient
that exhaustive algorithms are applied to them. The branch-and-bounds method works best with
middle-dimension graphs. As regards higher-dimension graphs, these methods if applied to them take
much time. On account of this, the methods that are most used for partitioning middle-dimensionand,
all the more, higher-dimension graphs (this corresponding to embedded system graphs) are heuristic
algorithms proposed in [18].
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
      </p>
      <p>The second subtask is the reallocation of tasks a system's hierarchy levels and nodes in the wake of
their failure. As of today, there are two approaches applied to organising task reallocation in a system
in the event of node failures. The first approach, a static one, assumes that a subset S  s  of system
states for which task reallocation is necessary is known and it is required to find a set Г  G  of
task allocations where each allocation G , which corresponds to state s , satisfies the requirements
for the chosen indicators. In this case, the optimal allocations G for all states s  S are available
when designing the system, and each node when building the system is provided with resources
necessary to perform tasks both in state s0 and in each of states s  S as pursuant to allocation G .
When the system is changed to state s  S and a failure is detected in all the operable nodes of the
system, the tasks corresponding to allocation G are getting started.</p>
      <p>The second approach, which is referred to as a dynamic approach, is based on the fact that the task
of finding the optimal allocation G for state s is performed each time (with the help of a special
solver, i.e. service processor) when the system enters state s and its result may depend on the
previous states of the system. In general, in both static and dynamic approaches, obtaining an optimal
allocation may require task reallocation of both failed and operable nodes.</p>
      <p>Let us consider a static approach to organising task reallocation, assuming that only failed nodes
are reallocated when the system enters state s [19].</p>
      <p>For each state s  S , find the allocation G satisfying the conditions:</p>
      <p>  max ; C  C addit , Ti  Ti addit , i  1, ..., gv ,
where С is the consumption required for the transfer of tasks carried out by failed nodes to operable
ones state s ; Ti is the average time for handling the declaration in node M i</p>
      <p>
C addit , Ti addit are permissible values of the specified indicators for state s .
which is in state s ;</p>
      <p>We shall designate task  j which is to be executed at the initial allocation to node M i , as  ji .
Let the initial allocations G0 be assigned by matrix  ji , j  1, ..., L , i  1, ..., n . Element  ji is the
weight of the task
 j , performed with the initial allocation given to node
M i , defined as
 ji 
 ji , where Fji  sji  is a set of production processes which requires task  ji to be
s
sjiF ji
s
performed; sji is the weight of the production process  ji , s  1, ..., h ji , h ji  F ji . Let Df  M l ,
Dr  M i  be sets of failed and operable nodes to be applied to state s ; Af is a set of all tasks
performed node M l  Df in state s0 .</p>
      <p>Then the equation used to determine the system efficiency in state s , which is defined by the
performance of the operable nodes in state  ji  Af , can be expressed as
f 
 jl Af</p>
      <p>b jl il ,
where b jl  1, if task  jl is otherwise performed by one of the operable nodes b jl  0 when being
in state s .
f</p>
      <p>Let C( jl )i be the consumption required to implement the transfer of task  jl ( jl  A ) to some
node M i , where M i  Dr and values C( jl )i , are independent of l and allocated by matrix C ji .</p>
      <p>Then the consumption required to implement the transfer of a fixed task  jl to any of the operable
nodes in state s is</p>
      <p>C ( jl) </p>
      <p>
MiDr
d ijlC( jl)i ,
where d ijl  1, if task  jl is otherwise transferred to node M i , d ijl  0 .</p>
      <p>In the event of failure of node M l , its task  jl can either be discarded, i.e. not transferred to any
of the operable nodes, or assigned to only one of the nodes of set Dr . In the former case d ijl  0 for
all M i  Dr and b jl  0 , in the second case only one of the values d ijl  1 and hence b jl  1.</p>
      <p>Therefore,</p>
      <p>g
b jl   d ijl ,</p>
      <p>i 1
where d ijl 0, 1 and b jl 0, 1 are valid.
as</p>
      <p>The total consumption required to implement the reallocation of all tasks  jl  Af , is expressed
C </p>
      <p>
 jl Af</p>
      <p>C( jl ) </p>
      <p>  d ijl C( jl )i .</p>
      <p> jl Af M i Dr</p>
      <sec id="sec-4-1">
        <title>The average time for a handling declaration in node M i</title>
        <p>expression
which is in state s is determined by the
Ti  Ti0 </p>
        <p> d ijl T( jl )i
 jl Af
where T( jl )i is the increment of the average time for handling declaration in the operable node M i
f
with a task  jl being transferred to it, where  jl  A ; values T( jl )i being independent of l are
assigned by matrix T jl .</p>
        <p>Thus, finding the optimal allocation of tasks C in the system for a fixed state s boils down to
solving an integer linear programming problem, which consists in finding a set of values of variables
d ijl , where d ijl 0, 1 , at which the maximum value of the functions is achieved</p>
        <p>g
f    d ijl jl</p>
        <p>i1 jlAf
with the following constraints:</p>
        <p>g 
C    d ijl C( jl )i  C addit ; </p>
        <p>i 1 jl Af 
Ti  Tio   d ijl T( jl )i  Tiaddit , i  1, 2, ..., g </p>
        <p>
 jl Af  .</p>
        <p>This problem can be solved by any of the known methods of integer linear programming.</p>
        <p>Once the set Г  G  of optimal task allocation for the assigned subset S  s  of system states
is found, the set of tasks to be performed in state s0 and in all states s  S is to be found for each
node of the system. Also, it is necessary to compute the total consumption required for implementing
the resulting allocation set Г  G, as well as the average time for handling a declaration in each
node and the system performance for each state of the assigned set S  s .</p>
        <p>We shall describe the optimal allocation of tasks determined for each state s  S (  1, ..., r) by
using matrix</p>
        <p>A jl , whose lines correspond to tasks  j ( j  1, ..., L) , and columns to nodes M i
(i 1, ..., n) , A ji represents some subsets of tasks determined below. As regards the columns
corresponding to operable nodes M i in state s , Aji   jl   jl i , where  ji is the task
performed in M i in state s0 , here  jl i is the set  jl transferred to M i in state s .</p>
        <p>As for the columns corresponding to failures M i , Aji  Ø, let us construct for them the resulting
r
matrix Aji , where Aji   Aji .</p>
        <p>1</p>
        <p>The matrix Aji defines for each node M i , (i 1, ..., n) a set of tasks for whose completion it has
to have the necessary resources in order that each of the corresponding system states might achieve
the maximum value of its efficiency with the constraints imposed on the node performance and
additional consumption. This matrix can be used to calculate the above-mentioned system
performance.</p>
        <p>Thus, the application of the proposed approaches towards reallocating tasks to a system's hierarchy
levels and nodes allows both the embedded system and the whole system of controlling compound
elementsand complex processes to remain functional when a failure stems from adverse exposure.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. The Choice of Computing Systems Capable</title>
    </sec>
    <sec id="sec-6">
      <title>Underlying Structure of Hardware Components of Reconfiguring the</title>
      <p>The choice of computing systems is meant to single out from the options for organising computing
systems those which hold the most potential for the future and are capable of reconfiguring the
underlying structure in the wake of adverse exposure. It is to be noted that the issue of choosing a
computing system occurs is to be solved at the beginning stage of designing. This means that it is
solved before the development of functional subsystems of the system for controlling compound
elements and complex technological processes has been completed. Therefore some requirements
posed to the system intrinsically lack clarity and lucidity. Fuzzy input calls for adequate
decisionmaking methods based on imprecise expert evaluation as regards the tasks relating to input data and
result presentation.</p>
      <p>Now let us introduce the composite linguistic variable computing system and narrow down the task
of choosing a computing system to determining the compliance (of the meaning) of this variable with
technical requirements posed to it [20]. The constraints imposed by the technical requirements
represent clear or unclear relationshipsassigned by a universal set of values of the composite linguistic
variable computing system. This set consists of the values making up the linguistic variable, each of
them corresponding to a particular hardware-software module.</p>
      <p>The statement computing system must have a high-performance processor is to be interpreted in
the following way. The name computing system is regarded as a name of the composite linguistic
variable whose components are linguistic variables such as processor, random-access memory,
external storageand others. The statement in question assigns the value high-performance processor
to the linguistic variable processor.</p>
      <p>The value high-performance processor is to be interpreted as a name of some fuzzy
constraintimposed on the basic variableprocessor, with the meaning of this constraint being defined
by its membership function. For example, as pursuant to the value meaning, the linguistic value
highperformance processor leaves only four processors as to generating computing system variants: Intel
Core i5-12600K, Intel Core i9-12900K, AMD Ryzen 5 5600X и AMD Ryzen 9 5900X. In the same
way, one can evaluate other linguistic variables. Now we shall give a formal description of the
approach in question.</p>
      <p>Suppose the linguistic variable value computing system is assigned through a tuple of the
constituent terms X i , each of them naming a particular functional characteristic of the computing
system. The values of the corresponding terms X i (i  1, m) of the linguistic variable are taken from
the corresponding subsets T i of the term set of the linguistic variable, whose elements are assigned by
way of enumerating all values accepted by the given characteristic of the computing system. With the
concept of the linguistic variable employed, requirements are to be interpreted as an equation for
allocating the linguistic variable computing system of some linguistic value from an allocated term
set. In this case, the linguistic variable computing system is assigned a value which is the constituent
term t representing the tuple of the constituent terms: computing system  t , where
t  X1, X 2 , ..., X m , t  T .
withthe membership function vt  (v1t , v2t , ..., vnt ) allocated to the universal set U
The meaning of the concrete value t of the linguistic variable computing system is the fuzzy set U t
which includes
all accessible computing systems. The value vit indicates the computing system's compliance j -tn
with a set of characteristics formulated by term t . The semantical rule for determining the meaning of
each value of the linguistic variable is to be represented as follows:</p>
      <p>
        m
 jt  ijti ,  j  1, n, i  1, m, t T , (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ),
      </p>
      <p>i1
where  i is the importance factor i -tn of the functional characteristic; ijt is the compliance of the
computing system j -tn with the functional characteristic i -tn (the degree of its implementation, with
0   ijt  1). Values  i и ijt are to be given expert evaluation as regards each functional</p>
      <p>The process of choosing a computing system
algorithm (Fig. 2).
characteristic and each computing system in question by way of averaging evaluations given by each
expert group.</p>
      <p>
        In this case, (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ).
opt (Computing system)  max v jt
      </p>
      <p>i
can be represented by the following</p>
      <p>STEP 1
Formulation of
requirements for
the embedded
system</p>
      <p>STEP 2
Formulation of
requirements for
the computing
system</p>
      <p>STEP 3
Development of
computing system
variants meeting</p>
      <p>system
requirements</p>
      <p>Any equal
computer</p>
      <p>based
systems?
ye
s</p>
      <p>STEP 4</p>
      <p>Choice of the
rational computing
system variant
no</p>
      <p>Finish</p>
      <p>Steps 1 and 2, which represent the algorithm for choosing a computing system, map the designing
of a set of requirements for an embedded system formulated in the technical requirements for
developing this system for the set of valid values of the computing system's output characteristics.
The mapping of requirements for an embedded system for the set of valid values of the computing
system's output characteristics is implemented via the tasks assigned to the system and represents the
main goal as to the development of embedded systems: enhancing the survivability of the system for
controlling compound elements and technological processes. These are system requirements posed to
a computing system which include requirements for productivity, reliability, adjustability, costs,
proper functionality etc.</p>
      <p>
        As for Step 3, it is about determining the importance factor  i , compliance ijt , priority vector
vt and choosing a rational computing system as pursuant to (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ).
      </p>
      <p>If vector vt has one maximum value, a corresponding computing system will be one that meets
the assigned requirements in the best way. Otherwise, when taking Step 4, of all computing systems
that have the highest values vit , with local characteristics of functional subsystems taken account of,
one is to choose a rational computing system by way of using a group method for handling the
superiority of alternatives [21, 22].</p>
      <p>As of today, computing systems that have the properties for changing algorithms of control
instructions and architectures include microcontrollers (PIC, AVR, MSP430, STM32, Cortex-M,
TSP32 and others), programmable logic devices (CPLD, FPGA) and single-board computers
Raspberry Pi. A distinctive feature of the computing systems in question is that microcontrollers and
single-board computers do not allow the change of internal links between primitive elements in
contrast to programmable logic devices where programming provides a basis for administering links
between logical elements in order that a necessary architecture may be obtained. As well as that,
microcontrollers and Raspberry Pi computers are not able to process data externally because of
fixedblock architectures and fixed instruction set.</p>
      <p>Thus, it can be concluded that programmable logic devices are computing systems that hold the
most potential for the future and can reconfigure the underlying structure of the embedded system
hardware components via programming.</p>
    </sec>
    <sec id="sec-7">
      <title>6. Reconfiguration of the Embedded System</title>
      <p>As is mentioned above, that programmable logic devices are computing systems that hold the most
potential for the future and can reconfigure the underlying structure of the embedded system via
changing internal links between its logical elements. However, it is to be taken into account that
reconfiguration of the system structure requires substantial redundancy as each logical element or IP
software module (intellectual property) in programmable logic devices (hereinafter referred to as the
module) is to ensure the implementation of any function with the corresponding system signal being
supplied [23]. Therefore, when implementing one function i , each module is to have j -fold
redundancy ( j is the number of modules implementing a particular function. Figure 3 features
structure redundancy of the device having j -fold redundancy. As a result, a small part of the general
module structure is employed. This redundancy is not always acceptable. It more expedient to employ
the primary module structure which is capable of keying out its certain segments in the event of their
failure.</p>
      <p>x
1</p>
      <p>Figure 4 features a flowgraph of the non-redundant device with non-uniform modules. If a
module containing nodes А1  Aj implements function y, it will implement the disturbed function y
in the event of failure. In this case there arises a task of restoring the assigned function y. This task
can be fulfilled by way of replacing device A j with a backup device, which in fact is parallel
reservation.
...
...
...</p>
      <p>...
...</p>
      <p>Ai
Aj
...</p>
      <p>Ai
Aj
x
y
y
recurs, it renders the whole module inoperative. To repair a
recurring failure, it is necessary to provide n -fold module
reservation.</p>
      <p>Now let us define the problem in the following way: the
keying out of any faulty node can be compensated without
intervening in the underlying module structure (in devices
with inaccessible structures). One of the options for solving
this problem is to finda redundant structure Bi which
restores the functional characteristics of module A when
connected to the inlet of module A (with the faulty node A j
switched off) (Fig. 6).</p>
      <p>Now we shall consider module A which is made up of a
set of discrete components ai . The module implements the
function Yn1  0 ( X n , Yn ) ,</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ),
where X (x1, x2 , ..., xn ) is an input word, Y ( y1, y2 , ..., yn ) is
an output word and n is time steps.
      </p>
      <p>B1
...</p>
      <p>It is necessary to synthesise some system S  A which implements function 0 ( X n , Yn ) in the
event of failure of any subsystem</p>
      <sec id="sec-7-1">
        <title>A j of system А(ai  A) with the assigned decomposition complexity С j . System A may be represented as matrix М А of non-overlapping subsystems A j .</title>
        <p>The extraction of any subsystem of matrix М А results in the formation of the error-correcting matrix
М А0 j , A0 j  ( A0 \ Ai ) , which generates a set of new functions М 0 j ( X n , Yn ).</p>
        <p>In order to restore the functional characteristics of the system (implementation of function Y), it is
necessary to create the restorative matrix М B j . In this case, each subsystem B j of matrix М B j  is
to be connected to the inlet of subsystem error-correctingmatrix М 0 j ( X n , Yn ). Normally, all Bi
have the structural intersection
i
 Bi  B1B2 ... B j ,
whose functional characteristics are shared by all B1, B2 ..., B j or by most of them. As well as that,
there may be some structures that do not contain intersections. In this case, for every failure and
switch-off system the redundant structure Bi is created by way of connecting corresponding input
X  and output Z  signals of this module on the basis of the generic unit  Bi (Fig. 7).
i
...</p>
        <p>...</p>
        <p>Ai</p>
        <p>Aj</p>
        <p>The essence of the synthesis of system A0 which is considered lies in defining rule  for
describing subsystem B j of matrix М B j .when extracting any subsystem A j of matrix М А .</p>
        <p>Thus, rule  is to induce the restorative subsystems B j on A0 j :</p>
        <p>
          B j  A0 j , (
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
as well as the restorative matrix М B j  of the error-correcting submatrix:
        </p>
        <p>
          М B j  M Aj. (
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
        </p>
        <p>
          Now let us consider the problem for formalizing the induction rule  . Subsystem A0 j of the
error-correcting matrix М А0 j  forms a segment of system А0 and is described by function (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ). To
convert the error-correcting function 0 j into function 0 , one needs a new subsystem B j whose
composition coupled with subsystem A0 j forms the system
        </p>
        <p>
          A0  B j j Aojin ratio  j . (
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <p>Ratio  j is assigned by the connector for systems A0 j и B j or by the relation of equivalence
between the output subset Z  X oj of subsystem B j and subset X oj of subsystem A0 j . The
connector assigns the functional relationship between indices i and outlets of subsystem B j with
indices k for outlets of subsystem A0 j :</p>
        <p>i   j (, , k) , (9)
where  is a parameter characterising the number of inlets A0 j employed by subsystem B j ;  is a
parameter assigning the relationship between inlets and outlets according to  .</p>
        <p>As stated above, the outlet Z  B j X n of the restorative subsystem B j implements the function
Z  f j ( X n , Yn ) .</p>
        <p>
          In order to determine B j or f j according to (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ), we obtain theexpression
        </p>
        <p>
          0 j ( X , Y , Z )  0 ( X n , Yn ) ,
which functionally reflects the right part of ratio (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ).
        </p>
        <p>Then the equation</p>
        <p>0 j (, X , Y , Z )  0 ( X n , Yn )
will determine Z , i.e. it will describe the subsystem
(10)</p>
        <p>Thus, by means ratio (11) function  assigns the rule for inducing the restorative subsystems B j
for all j  J .</p>
        <p>Hereinafter the paper propose that that the suggested approach to designing embedded adaptive
systems should be implemented with CAD software produced by Intel PSG (Altera) for designing the
SOPC (System-On-a-Programmable-Chip) on the basis of programmable logic devices and NIOS II
processor core [24, 25]. This core contains enclosing packages Quartus II (PLD), SOPC Builder (a
configurable processor core), NIOS II IDE (software) and other extensions (DSP Builder,
C-toHardware Compiler and others).The equivalent powerful instrumental complexes are produced by
such companies as Xilinx, Cypress (PSoC Designer), Actel (Smart Design) and some others.</p>
        <p>To sum up what is stated above, we may say that unlike multiple reservationof system elements,
the proposed reconfiguration of the embedded system not only allows the compensation of recurring
failures and fault conditions, but also provides the necessary levels of survivability as regards the
system for controlling compound objects and complex processes.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>7. Conclusion</title>
      <p>The article proposes a methodical approach to designing secure adaptive embedded systems based
on the ability of the microprocessor-based system to restore the system's proper functionality affected
by adverse exposure by implementing automatic reconfiguration of the underlying structure, the
procedure being based on self-checking results. What underlies this approach is the completion of
systematically-related tasks of synthesising key elements and parts of distributed microprocessor
control systems, which includes the determination of the number of a system's hierarchy levels and
nodes, allocation (reallocation) of tasks to a system's hierarchy levels and nodes, as well as the choice
of computing systems capable of reconfiguring underlying structures of hardware components. All
this makes it possible to enhance survivability of the embedded system affected by adverse exposure,
as well as the survivability of the whole system for controlling compound elements and technological
processes.</p>
    </sec>
    <sec id="sec-9">
      <title>8. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Crespo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Albertos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Simó</surname>
          </string-name>
          ,
          <article-title>Embedded control systems: from design to implementation</article-title>
          ,
          <source>Ifac Proceedings Volumes</source>
          , Volume
          <volume>40</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>1</given-names>
          </string-name>
          ,
          <year>2007</year>
          , Pages
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          , ISSN:
          <fpage>1474</fpage>
          -
          <lpage>6670</lpage>
          , ISBN:
          <volume>9783902661210</volume>
          , https://doi.org/10.3182/20070213-3-CU-
          <volume>2913</volume>
          .
          <fpage>00006</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>H.</given-names>
            <surname>De Man</surname>
          </string-name>
          ,
          <article-title>System-on-Chip design: impact on education and research</article-title>
          ,
          <source>in IEEE Design &amp; Test of Computers</source>
          , vol.
          <volume>16</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>19</lpage>
          , July - Sept.
          <year>1999</year>
          , doi: 10.1109/54.785820.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <surname>Yen-Kuang</surname>
          </string-name>
          &amp; Kung, Sun-Yuan.
          <article-title>(</article-title>
          <year>2005</year>
          ).
          <article-title>Trends and challenges with System-on-Chip technology for multimedia system design</article-title>
          .
          <year>2005</year>
          . 4 pp..
          <volume>10</volume>
          .1109/EITC.
          <year>2005</year>
          .
          <volume>1544365</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Ma</surname>
            <given-names>L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xia</surname>
            <given-names>F</given-names>
          </string-name>
          , Peng Z.
          <article-title>Integrated Design and Implementation of Embedded Control Systems with Scilab</article-title>
          .
          <source>Sensors (Basel)</source>
          .
          <source>2008 Sep</source>
          <volume>5</volume>
          ;
          <issue>8</issue>
          (
          <issue>9</issue>
          ):
          <fpage>5501</fpage>
          -
          <lpage>5515</lpage>
          . doi:
          <volume>10</volume>
          .3390/s8095501. PMID: 27873827; PMCID:
          <fpage>PMC3705517</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Khan</surname>
            <given-names>FH</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pasha</surname>
            <given-names>MA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Masud</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>Advancements in Microprocessor Architecture for Ubiquitous AI-An Overview on History, Evolution, and Upcoming Challenges in AI Implementation</article-title>
          .
          <source>Micromachines (Basel)</source>
          .
          <source>2021 Jun</source>
          <volume>6</volume>
          ;
          <issue>12</issue>
          (
          <issue>6</issue>
          ):
          <fpage>665</fpage>
          . doi:
          <volume>10</volume>
          .3390/mi12060665. PMID: 34204065; PMCID:
          <fpage>PMC8227299</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Furber</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>Microprocessors: the engines of the digital age</article-title>
          .
          <source>Proc Math Phys Eng Sci</source>
          .
          <year>2017</year>
          Mar;
          <volume>473</volume>
          (
          <issue>2199</issue>
          ):
          <fpage>20160893</fpage>
          . doi:
          <volume>10</volume>
          .1098/rspa.
          <year>2016</year>
          .
          <volume>0893</volume>
          . Epub 2017 Mar 15.
          <source>Erratum in: Proc Math Phys Eng Sci</source>
          .
          <year>2017</year>
          May;
          <volume>473</volume>
          (
          <issue>2201</issue>
          ):
          <fpage>20170304</fpage>
          . PMID: 28413353; PMCID:
          <fpage>PMC5378251</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Wehrmeister</surname>
            ,
            <given-names>Marco</given-names>
          </string-name>
          &amp; Becker, Leandro &amp; Pereira,
          <string-name>
            <surname>Carlos.</surname>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>An approach for designing real-time embedded systems from RT-UML specifications</article-title>
          .
          <volume>16</volume>
          .
          <fpage>1060</fpage>
          -
          <lpage>1060</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Khusainov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Toliupa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Bakanov</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Shtanenko</surname>
          </string-name>
          ,
          <article-title>"Substantial formulation of the task of improving the information model of decision-making in the prompt (crisis) response to cyber</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>