Formation of optimal composition of the modules of single-function multiversion software for automated control system of the satellite communication system

When creating the automated control systems (ACS) for satellite systems, the main task is to ensure high quality and reliability of all hardware and software complex components. It conserns not only spacecrafts but also the ground segments of system.In this direction there is an active work. In this article we want to focus on the development of software for satellite communication systems that can be implemented in both space and ground segments. One of the promising directions in this area is the introduction of multiversion technology. The proposed model significantly develops the approach of development of highly reliable software, as it deals with multiversion software for ACS of satellite communication systems, consisting of one or more programs, and each program consists of a number of modules, the serial execution of which corresponds to the successful implementation of the function. Below is a model that is applicable to various structures of multiversion software for ACS of satellite communication systems (from a very simple structure to a more complex) and gives the designer the flexibility in choosing the appropriate modules for the designed software of the system.


Introduction
We briefly show the principle of software development using the multiversion programming approach. Classical multiversion or N-variant programming is a technique in which all versions are designed according to identical basic requirements, and the solution on the correctness of the conclusion is based on a comparison of all the conclusions ( fig.1). In multiversion software, all versions of the same module are executed simultaneously (in parallel), and, accordingly, the input of the decision-making unit, that implements the selection algorithm, receives data from all versions. All versions have different data processing algorithms, the versions are developed according to the same specification and are functionally equivalent.
The solution selection algorithm (usually a voting algorithm) for choosing the correct conclusion is universal and does not depend on a particular application. Since all versions are built according to identical requirements, the use of multiversion software requires certain development costs. But the complexity (the difficulty of development) will not necessarily be much greater than the complexity of forming a single version.
We also describe the basic assumptions of the methodology of multiversion software design, concerning, first, the use of modular programming methods; secondly, the independence of the development of modules versions and the feasibility of assessing their reliability and cost using the modules COTS support (such modules have been produced and tested independently, so their reliability can be evaluated using any of the available models, and their actual cost is the cost of procurement and support); third, there is a limit on the cost of multiversion software for ACS of satellite communication system.
As part of our problem, we consider the structure of models and present the formulation of the task and the methods of solution for each of them by introducing the following symbols: Knumber of functions of the multiversion software for ACS of satellite communication system, which are to be performed; Fkthe frequency of use of software k-function, k = 1, 2, ..., K; nthe number of multi-version modules of software for ACS of satellite communication system; minumber of versions of i-module, i = 1, ..., n; Rthe probability of failure-free operation of multiversion software for ACS of satellite communication system; Rithe probability of failure-free operation of i-module; Rijthe probability of failure-free operation of j-version of i-module; Zij -Boolean variable equal to 1, if j-version for i-module has been chosen, otherwise 0; Сijcost of procurement and support of j-version for i-module; Ba limitation on the cost of multiversion software of ACS for satellite communication system. Next we consider the proposed approach.

The proposed method of formation of the optimal composition of the modules of singlefunction software
In this SNR model the optimal composition of modules of single-function multiversion software for ACS of satellite system is formed without the software redundancy. Multiversion software consists of a single program that performs one "main" function. The program is composed of a set of modules of sequential execution. More than one version of each module is available, but due to strict cost limitations (and such a case should not be excluded from consideration) and/or the non-critical nature of part or all of the software system, it is undesirable or impossible to keep multiple versions of modules. The model proposed for this situation allows to form the optimal composition of a set of modules for a single program, maximizing reliability, with the existing cost limitations, due to which the total cost of development remains acceptable. The target function is the following: According to the limitations: Zij = 0, 1; i = 1, …, n; j = 1, …, mi.
The target function of the SNR model reflects the sequential execution of modules. The set of limitations (2.2) ensures that one version is necessarily selected for each module. The limitations (2.3) ensure that the total cost does not exceed B. This task corresponds to the nonlinear integer programming task. A simple numerical example for this model, considered below, demonstrates the applicability of the branch and bound algorithms to the task solution. Without loss of generality we can assume that (Z1,..., Zk) for k < n is a particular solution of our task. The upper limit on this particular solution can be given as

The example of realisation of the proposed method
The left part (4) reflects the actual contribution of a particular solution to the value of the target function, while the right part indicates the optimal choice, ignoring the cost limitations (i.e. choice (Zk+1°, ..., Zn°)). It is obvious that (Z1, ..., Zk) cannot provide any feasible executable solution, if The upper limit (4) where Ci o is the cost corresponding to Zi° for i = k +1, ..., n. The proposed branch and bound algorithms begins by selecting a known executable solution for the task that can be a lower limit (LL). For example, one of the possible executable solutions, if it exists, has been given by the choice of the cheapest versions for each module. At each i-level of the decision tree, we choose one of the versions for the i-module 1 ≤ I ≤ n. For each particular solution we define three values: 1) аthe value of the upper limit according to (4); 2) bpossible lowest cost for any solution that includes a particular solution specified by the value to the left of inequality sign (5); 3) сthe solution cost (Z1, Z2, ..., Zk, Z°k+1, ..., Z°n), given by the value to the left of inequality sign (6).
The particular solution Z1, Z2,..., Zk is accepted if simultaneously either b > B, or (3) a < LL. A new solution is considered to be found whenever C ≤ B (solution (Z1, Z2,..., Zk, Z°k+1,..., Z°n)). A new feasible solution becomes a new mandatory solution if a > LL. The method begins with the root node branching at level 0 to m1 branches, each of which corresponds to the choice of Z1j for j = 1,..., m1. The next node where the branching will be performed, is selected according to the maximum upper limit.

Conclusion
This article solves one of the problems of developing the highly reliable software for ACS of satellite systems. The method of forming the optimal composition of modules of single-functional multiversion software without redundancy is presented. The example with calculation and computation of the optimal composition of the test sample is given. The limitations and their essence are described for use in the presented method.
Thus, it should be noted that the implementation of the proposed method will significantly save money for the development of highly reliable multiversion software.