MAIN PAGE
> Journal "Cybernetics and programming"
> Rubric "Theory, software and languages of concurrent computing"
Theory, software and languages of concurrent computing 
Korobeinikov A.G., .  Obfuscation algorithm


pp. 18

DOI: 10.7256/23064196.2013.3.9356
Abstract: The paper deals with the algorithm of Chenxi Wang’s, shows are the main disadvantages of this algorithm. The authors suggest the ways of modification to improve it. The algorithm of Chenxi Wang's is one of the most famous. The input data for the algorithm is the usual procedure, written in high level language. The authors describe the three stages of obfuscation of any such procedure. In the classic version of Chenxi Wang's the algorithm has poor stability. The authors suggest ways to improve stability of the algorithm, present modified version of the algorithm and reviews results of its implementation. The authors compare the source code and the resulting code and conclude that it is almost impossible to establish their functional identity and the logic of the program code is very difficult to understand using obfuscated source. Sometimes this can be done using the examples run of the resulting source code. This implies that after eliminating the shortcomings the algorithm is quite effective.
Malashkevich I.A., .  An efficient algorithm for data decimation


pp. 16

DOI: 10.7256/23064196.2013.5.9697
Abstract: This paper presents an efficient algorithm for fast data decimation of discrete transformations. The article gives the characteristic equation and the implementation of the algorithm in Object Pascal. In the practice of digital signal processing the algorithms of signals spectral transforms (such as fast Fourier transform, Walsh, Haar discrete wavelet transform) are widely used. One of the expensive operations in these algorithms is the decimation of data  grouping of data with even and odd numbers. Traditionally this operation is performed by allocating additional memory. The authors propose an algorithm of grouping that does not require the use of additional memory for storing arrays and solve problems decimation of O (N) operations. It is shown that all the permutations of the elements are made through a series of chain movements, each beginning with the odd elements of the array data. The analysis of the algorithm for different values of N indicates the number and chain length varies. Test executions of the algorithm show its’ high performance.
Ipatov Y.A., ., .  Building of an automated system for the images of polymerase chain reaction analysis


pp. 15

DOI: 10.7256/23064196.2013.6.10323
Abstract: The article discusses the question of automated processing and analysis of the gels images gathered as a result of electrophoresis of samples containing products of polymerase chain reaction (PCR). The proposed approach allows to significantly increase the speed of the DNAanalysis. The authors state that one of the resource and timeconsuming stages of the forming of initial data is the analysis of digital images of the results of chemical reaction. The article reviews the development of necessary theoretical methods and practical implementations of automated image analysis. It is noted that one of the resource and timeconsuming stages of the forming of initial data is the analysis of digital images of the results of chemical reaction. The presented development of an automated system based on the methods of pattern recognition and analysis of digital images of gels allows to minimize the timeconsuming operation performed manually and to increase the quality of the result. The article brings the algorithm for automated recognition and assigning of unique lines that define the field of primers and products of PCR. Comparative analysis of the manual methods and created approach shows that the automated system is one and a half order of values faster. The massive usage and accuracy of this method also increases the economic benefits from the use of this product.
Vlasov A.A., ., ., .  Implementation of computational operations and elementary functions by systems of Boolean functions.


pp. 135

DOI: 10.7256/23064196.2014.3.12119
Abstract: The paper reviews existing methods of mathematical description and representation of algorithms for data conversion operations (arithmetic operations, calculation of elementary functions (EF) and others). The article shows that their main realizations in the computer at the various levels of the organization of computational process are software, firmware and circuit realizations. As a possible way of mathematical representation the authors consider table representation, representation based on the systems of Boolean functions and Turing machine based representation. The article presents a brief analysis of the known forms of representation of systems of Boolean functions (SBF), taking into account the means of implementation and evaluation of mathematical and technical complexity depending on the type of description. The representation of the data transformation algorithms as SBF maximizes parallelization of data conversion. It is shown that the computational complexity of the operation is determined by the power of the input and output sets and number of bits in input and resulting data. The representation of the algorithms based on systems of Boolean functions in the form of the PDNF is highly redundant which is shown on the example of some arithmetic operations. The authors make a conclusion about the need of minimizing the complexity based on the minimum and shortest form of SBF. As a way of implementing SBF in the FPLD the authors considered use of the universal logic modules (ULM), in technical terms that a lookup table (LUT). The article present methods of constructing SBF based on the ULM of four variables and methods of SBF SBF decomposition for its implementation in ULM schemes. Methods and research methodology include mixed methods analysis methods, methods of the theory of discrete mathematics, apparatus for analysis and synthesis of Boolean functions in particular, the theory of algorithms, methods of computational experiment. The article reviews the complexity of the mathematical representation of the data conversion operations and their implementation in the computer (arithmetic computations, elementary functions and some others). The authors suggest algorithms for implementation of the SBF in form of ULM scheme of four variables, study the algorithms for constructing such schemes based on the Shannon and Reed expansions. Based on the analysis of the input and output variables of data conversion operations the SBF synthesis for the formation of problemoriented and specialized computer commands is carried out.
Chitalov D.I., Kalashnikov S.T.  Development of a graphical shell for parallel calculations based on the OpenFOAM platform


pp. 3650

DOI: 10.25136/26445522.2019.4.29202
Abstract: Graphical interfaces are an essential element of humancomputer interaction. They provide the formation of input data for programs and visualization of results. Commercial software predominantly comes with integrated graphical communication tools. At the same time, some opensource software solutions, in particular, the OpenFOAM platform, have no builtin interaction tools. This problem remains relevant because existing graphical interfaces have disadvantages. This paper presents a phased process for developing a graphical shell for implementing user interaction with the OpenFOAM platform  for setting up numerical experiments in relation to the tasks of continuum mechanics (MSS) in parallel execution mode. To achieve this goal, a list of tasks and necessary tools is defined: the Python 3.5 programming language, the PyQt5 interface element description framework, and the PyCharm integrated development environment. The diagrams showing the interconnection of the program modules and the mechanism of the program. The results of the development and testing of the application are formulated using the example of a project of one of the standard tasks of the MSS included in the distribution platform platform OpenFOAM. The scientific novelty of the study is formulated, in particular: serialization of the parameters of a numerical experiment using the Python Pickle module and database tables in SQLite format, the ability to create various versions of files with MCC task parameters, the ability to run console commands using bash scripts. The practical value of the work and further prospects are also determined.
Pekunov V.V.  Some properties of procedures with reentry scheduling. Planning C language


pp. 6065

DOI: 10.25136/23064196.2019.1.25522
Abstract: The article analyzes the descriptive capabilities of procedures and functions with reentry planning. A procedure / function with reentry scheduling differs from the usual procedure / function by the presence of a dynamically updated (from both inside and outside) plan of execution. This is a fairly new formalism, the theoretical and practical properties of which are still poorly covered in the scientific literature. Special attention is paid to the Planning C programming language, which fully implements the procedures and functions with reentry planning. Descriptive features of procedures / functions with reentry planning are considered both theoretically, using extended Turing machines, and constructively, by building equivalents of basic algorithmic control structures based on these procedures. The novelty consists in proving the representability of any sequential and parallel algorithms using these procedures. It is proposed to use Planning C, which implements such procedures / functions, for solving timeconsuming problems of computational mathematics on parallel computing systems. The possibility of its use in solving the problem of learning deep neural networks is shown.
