The object of diagnostics in this section is a real-time distributed information processing system, or rather, a distributed computing system as its main component. A distinctive feature of such systems is a periodic flow of input data. The discussion focuses on the formation of top-level diagnostic models. This level presents a distributed computing system as a composition of software modules (SM) which are located on different processors. SMs exchange necessary data with each other asynchronously, i.e., when ready. In this case, the class of faults includes all possible failures in addressing the exchanges between the SMs of the system.
Within the context of the present topic, we should mention an important direction in the simulation of complex systems, which has become widespread recent years. This approach assumes the use of discrete event system [
6] as a model of diagnosed system. In this case, the behavior of the diagnosed system is described as a sequence of events. This models is quite often used in solving diagnostic problems [
7,
8]. The model considered below can also be attributed to the class of discrete event models because the system behavior is represented as a sequence of exchange events between local systems or SM. A feature of the considered approach is that a diagnostic dynamic model is built into the system software, executed in parallel with the main functional algorithms, and is intended to make test-based diagnostics simpler.
An approach for complex distributed computing system diagnosis based on dynamic finite-state-machine models is also known [
9]. However, in this case, the asymptotic complexity of the test design algorithm is characterized by the exponential dependence on the model dimension. When the proposed dynamic model is used, the researchers choose the algorithms for processing test sequences in each SM, and they do so in such a way as to simplify both the algorithm for constructing the test and the test itself. In particular, the researcher selects a linear model that allows using the algorithms for constructing the tests with asymptotic complexity, characterized by the polynomial dependence on the model dimension. Reducing the complexity of the algorithms used for constructing the tests becomes especially important in the case of real-time distributed computing systems.
2.1. Synthesis of a Periodically Non-Stationary Model of a Distributed System: Problem Statement of Test-Based Diagnostics
The process of the synthesis of the proposed dynamic model (co-called parallel model) involves two stages. At the first stage, the model structure is formed, which is a set of computational paths (routes) that cover all the edges of the graph of intermodule links of the initial system. At the same time, the computational path is a sequence of triggered SMs connecting a certain input to the output. Then, each of the obtained paths is compared to the chain
in which the number of dynamic links
is equal to the number of SMs through which the given path passes;
is the total number of links in the
-th chain. Thus, the model structure is a set of independent chains
, where
is the total number of independent chains in the model. At the second stage of the model construction, the type of dynamic links is determined. Here, we take into account the facts that the desired dynamic model of the system is used further to design the tests and that the procedure for designing the tests is simplified if the system model is, first, linear, and second, controllable and observable [
1].
Let the dynamic link be described by a discrete linear dynamic system defined in the binary field
:
where
are the vectors of state, input, and output, respectively, for the
-th link of the model of the
-th chain;
is the state vector dimension,
is the input vector dimension,
is the output vector dimension,
are the matrices of dynamics, input, and output, respectively, and
are the number of links in the
- chain and the number of chains in the system model, respectively. It is important that the links must be such that the system model becomes observable and controllable. Since the information is transmitted sequentially from link to link, we assume that
, except for the first link in the chain because the test from the DT arrives at its input.
The dynamic description of a chain is obtained by the following rules. Assume that only one exchange takes place in the system at each time point. In practice, this assumption is not always true; however, there are works that show that this does not prevent the use of such models when constructing tests. Taking into account the above assumption, the general state vector
of the chain is formed from the state vectors of the links (1)
,
. Information transfer between the SMs and DTs is described using block matrices
made up of the matrices, input and output of the links described by model (1). For ease of description, let us relate each sequence of matrices in an interval, equal to the period of processing of regular data in the original system, with a sequence of indices, the set of which will be denoted by
, where
is the number of exchange sessions. The values of index sequences are obtained as a result of a cyclic shift of the initial sequence in an interval equal to
. For example, for
, we have a set
consisting of three sequences. Then
where
are the vectors of state, input, and output, respectively,
are the matrices of dynamics, input, and output, respectively;
is information exchange counter. In these equations the matrices depend on the current value of the information exchange counter, i.e., the model is non-stationary. Moreover, it is periodically non-stationary since the data processing sequence in the system is periodic due to the periodicity of the input data flow.
In terms of model (2), the class of faults considered here is defined as all possible distortions of the model matrices. Based on the assumptions made, it is necessary to develop a test that detects the specified class of faults.
2.2. Application Results
The main task of the AUV navigation system is to generate navigation parameters (local coordinates, speed, and under keel clearance) and orientation parameters (yaw, pitch, and roll) to ensure safe motion on the route. The structure of the navigation system under consideration is shown in
Figure 1. The core of any modern navigation system is a strapdown inertial navigation system (SINS) [
10]. The SINS is of vital importance because it is able to generate all the necessary navigation and orientation parameters independently, except under keel clearance, which is measured by the echo sounder. The navigation system also uses a water speed log.
To eliminate the SINS errors that grow with time, it is necessary to have coordinate correction tools. Preferably, there should be several tools based on different principles of operation. The most accurate coordinate correction is provided by using data from a global navigation satellite system (GNSS). However, GNSS signals are unavailable for AUVs in submerged position. Therefore, at the moment, such promising methods of correction as map-aided navigation (with the use of geophysical fields) [
11] and sonar navigation [
12] are most appropriate in this case. An important part of the navigation system is a digital signal processing (DSP) system. The DSP system collects and processes the data from different parts of the AUV navigation system, transmits them to consumers, diagnoses, and records all data.
When developing the DT, the navigation system can be considered both as an independent system, and as a part of the AUV’s complex distributed information processing and control system. The first case is considered in this paper.
The initial information for synthesizing a parallel model and tests for the computing system of AUV navigation system is the information graph of the software presented in
Figure 2. Software modules responsible for the implementation of a specific functional task are at the graph vertices. Computational flows/paths that carry data from a particular member of information exchange are highlighted in different colors. Fault detection in the addressing of intermodule exchanges is the main task of the test-based diagnosis method within the problem statement under consideration.
At the first stage of the parallel model synthesis based on the information graph of software, a set of independent computational paths was found that provided 100% coverage of its edges. For the considered graph, which consists of 25 SM, the number of computational paths is 36, while the path with a minimum length consists of two SM, and that, with the maximum length of eight SM. The number of computational paths corresponds to the number of independent chains in the resulting parallel model. Every independent chain is described by dynamic system (2). The dimension of the state vector of the resulting parallel model is 192, which directly depends on the lengths of the computational paths, and so does the test lengths.
At the second stage, synthesis of the input test actions and reference responses of the model to these actions is performed according with the algorithm in [
13].
The resulting number of test and reference sequences is 684 for a complete check of the graph for the absence of failures in the addressing of intermodule exchanges. This fact was confirmed by practical experiments.