Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search
Vol 30, No 1 (2018)
View or download the full issue PDF (Russian)
7-24
Abstract
State identification is a long standing problem in the area of Finite State Machine (FSM) based modeling and testing of discrete event systems. For the identification of the current state of the system, so-called homing and synchronizing experiments with FSMs are used whereas for the initial state identification one can perform a distinguishing experiment. The homing, synchronizing, and distinguishing experiments are known as “gedanken” experiments, and the sequences for these experiments can be derived for deterministic and nondeterministic, partial and complete specification FSMs that are used to formally represent the required behavior of systems under investigation. The problems of checking the existence and derivation of homing, synchronizing, and distinguishing sequences are known to become harder as a specification FSM turns to be nondeterministic and partial. It is also known that in some cases the complexity can be reduced through a ‘switch’ from preset to adaptive experiment derivation. In this paper, we study how the partiality and adaptivity affect the complexity of checking the existence of homing/synchronizing/distinguishing sequences for deterministic and nondeterministic FSMs and visualize the complexity issues via appropriate figures. We also mention that the existing solutions to state identification problems are widely used for verification and testing of finite state transition systems.
25-40
Abstract
Finite State Machines (FSMs) are widely used for analysis and synthesis of digital components of control systems. In order to take into account time aspects, timed FSMs are considered. In this paper, we address the problem of deriving a parallel composition of two types of Timed Finite State Machines (TFSM), namely, FSMs with timeouts and FSMs with timed guards. These two TFSM types are not interchangeable and are particular cases of a more general TFSM model that has timeouts and timed guards. We also assume that all of considered TFSMs have output delays (output timeouts). When considering the parallel composition, component FSMs work in the dialog and the composition produces an external output when interaction between components is finished. In this work, it is shown that in the general case, unlike classical FSMs, a "slow environment" and the absence of livelocks are not enough for describing the behavior of a composition by a complete deterministic FSM with a single clock. The latter occurs when inputs can be applied to TFSMs not only at integer time instances but also at rational. A class of systems for which the behavior can be described by a complete deterministic TFSM is specified. Those are systems where both component TFSMs are participating in the dialog when an external input is applied; a sequential composition of TFSMs is a particular case of such composition.
41-54
Abstract
In this paper, we tell about a web-service we would like to develop. There are two goals we aim at, when developing this service. The first one is to give researchers a platform, where they could conduct preliminary experiments with different methods of test generation for digital circuits, in order to check different ideas. The second one is an opportunity to share implementations of new developed methods “on-the-fly”. The web-service development procedure was splitted into three stages: the architecture design, a light version implementation and the actual implementation. This paper tells about first two stages. There are two types of web-service architectures - with monolithic kernel and with microkernel - and our architecture has the properties of both types. The intention was to have monolithic kernel, since the desired functionality is not that hard to implement. However, the property of being extensible by implementations of new methods implies that part of the functions (namely the methods implementations) should be designed as separate sub-services. The light version implementation was done for the only method: method of fault domain enumeration for the stuck-at-faults fault model. It proved that the designed architecture is viable. However, some issues with the architecture were discovered. A mechanism of on-the-fly deployment of a new method is unclear, since it is not obvious, how to satisfy possible dependences of the implementation. Also, the architecture does not follow the classical web-service design: the service has states, that should not be, if a service is intended to be the classical one. The resolution of these issues is left for the future.
55-68
Abstract
It is considered to the problem of analysis of Android applications to study a malicious behaviour. The methods of analysis are presented, the general method, which combines different analysis techniques (static, dynamic, decompilation, debugging, logging) is proposed, and information of our software based on it is given.
69-88
Abstract
The paper provides a review of distributed graph algorithms research conducted by authors. We consider an asynchronous distributed system model represented by a strongly connected directed rooted graph with bounded edge capacity (in a sense that only a bounded number of messages can be sent through an edge in a given time interval). A graph can be static or dynamic, i.e. changing. For a static graph we propose a spanning (in- and out-) tree construction algorithm of time complexity O ( n / k + d ), requiring O ( n d log D+) message size and the same size of memory of each computing agent located in graph vertex, where n is the number of vertices of the graph, k is the capacity of an edge, d is the maximum length of simple path in the graph, D+ is the maximum outdegree of the vertices. The spanning trees constructed can be used in distributed computation of a function of the multiset of values assigned to graph vertices in a time not greater than 3 d . In a dynamic graph we suppose that k = 1 and an edge can appear, disappear, or change its end. We propose a dynamic graph monitoring algorithm than delivers information on any change to the root of the graph in O (n) or O ( d ) after the changes are stopped. We also propose graph exploration and marking algorithm with time complexity O ( n ). The marking provided by it is used in distributed computation of a function of the multiset of values assigned to dynamic graph vertices, which can be performed in time O ( n2) with messages of size O ( log n ) or in time O ( n ) with messages of size O ( n log n ).
89-102
Abstract
Bitcoin is the most popular cryptocurrency on the planet. It relies on strong cryptography and peer-to-peer network. Bitcoin is gaining more and more popularity in criminal society. That is why Bitcoin is often used as money laundering tool or payment method for illegal products and services. In this paper we explore various methods for Bitcoin users deanonimization, which is an important task in anti-money laundering process and cybercrime investigation.
103-114
Abstract
The set of outline and guidelines as well as tools for automation to ensure continuity of business-continuity in the lifecycle of mission critical systems are considered. This complex is called the Life Cycle Supporting System (LCSS). The aim of the system is to reduce the risk level of the realization of critical errors in the system and application software throughout the life cycle of mission critical system, reducing operational risks and total cost of ownership of mission critical system. LCSS in the ISO / IEC / IEEE 15288 terms is enabling system. LCSS is created for life cycle of mission critical system support in the organization-owner.
115-126
Abstract
The generation of uniformly distributed random numbers is necessary for computer simulation by Monte Carlo methods and molecular dynamics. Generators of pseudo-random numbers (GPRS) are used to generate random numbers. GPRS uses deterministic algorithms to calculate numbers, but the sequence obtained in this way has the properties of a random sequence. For a number of problems using Monte Carlo methods, random number generation takes up a significant amount of computational time, and increasing the generation capacity is an important task. This paper describes applying SIMD instructions (Single Instruction Multiple Data) to parallelize generation of pseudorandom numbers. We review SIMD instruction set extensions such as MMX, SSE, AVX2, AVX512. The example of AVX512 implementation is given for the LFSR113 pseudorandom number generator. Performance is compared for different algorithm implementations.
127-136
Abstract
Not fully described objects may be seen in many different areas and applications - from medicine and up to space apparatus control. Starting to de-sign and develop a decision support system, which should work with not fully described objects, we may choose between alternatives. One of two approaches compared in this article is based on logical deduction according to a priory specified rules. Here the “IF-THEN” productions are intensively used. Another approach, which is often called case-based, assumes the presence of case base filled by real and/or artificial (model) cases. This second approach does not insist on rules and object models, but it is much closer to the mental model used when humans are thinking.
137-160
Abstract
After huge amount of big scientific data, which needed to be stored and processed, has emerged, the problem of large multidimensional arrays support gained close attention in the database world. Devising special database engines with support of array data model became an issue. Development of a well-organized database management system which stands on completely uncommon data model required performing the following tasks: formally defining a data model, building a formal algebra operating on objects from the data model, devising optimization rules on logical level and then on the physical one. Those tasks has already been completed by creators of different array databases. In this paper array formalization, core algebra and optimization techniques are revised using examples of AML, RasDaMan, SciDB - developed array database management systems with different algebras and optimization approaches.
161-182
Abstract
This article is based on a thesis “Techniques of organizations shared access to distributed memory pages in cloud computing systems”, defensed in Igor Sikorsky Kyiv Polytechnic Institute in 2017. The paper describes distributed pages processing in Oracle Real Application Clusters (Oracle RAC) and compares it with other known processing methods. The comparison comprises analysis of different architectures (including shared nothing, shared disk and “based on a replication” architecture) in the context of SQL query processing and asserts reasonableness of distributed pages approach (also known as Global Cache Fusion) choice for cloud DBMS. As a result researching the Global Cache Fusion approach there was revealed main drawback of Oracle RAC systems - “increasing queue problem”: impossibility process requests after intensity of requests exceeds threshold intensity, which is inversely proportional packet sent time between nodes. To eliminate “increasing queue problem” during distributed page access the new access method is proposed, which is based on the initiation of one more page state - the "unloading" state, which increases the efficiency of processing distributed pages by reducing the number of transfers between nodes during hot page processing. The considered method can be used not only in cloud DBMS but also in other cloud systems in a case if they use page-organized distributed memory architecture.
183-194
Abstract
In this work, numerical simulation of the viscous flow past harmonically oscillating thin plates with different shapes of edges is carried out in the Reynolds number range 10 <Re <600. To describe the motion of a fluid, a complete nonstationary system of Navier-Stokes equations is solved. The problem is considered in a plane formulation. The numerical model is implemented on the basis of the open-source OpenFOAM package. The effect of the shape of edges on the hydrodynamic drag in regimes with intense vortex formation is considered. The structure of the flow and the pressure distribution over the plate surface are analyzed, the drag coefficient for different oscillation amplitudes is calculated. The results of the study show that the change of the shape of edges leads to the shift the flow separation points. This has noticeable effect on the pressure distribution on the plate surface. For truncated plates, the difference between the pressure distribution on the right and left sides of the plate in the vicinity of the edges is less than for the rectangular plate. This leads to a decrease the aerodynamic drag of the truncated plate. In the considered range of parameters the values of the drag coefficient for a rectangular plate lie (on the average) 14% higher. The obtained results well explain the large spread of data between the earlier experimental and numerical studies, since in almost all numerical studies the cross section of the plate is assumed rectangular. .At the same time, samples, which are usually used in experiments, have truncated (triangular) edges. The corresponding data for each of these types of plates are in good agreement with the results obtained in this study.
195-214
Abstract
The efficiency comparison of solvers for sparse linear algebraic equations systems based on one of the fastest iterative methods, the BiCGStab method (bi-conjugate gradient method with stabilization), and the FGMRES method (flexible method of generalized minimal residuals) is presented in this study. Estimates of computational cost per one iteration are presented for the considered methods. The condition imposed on the Krylov subspace dimensionality in the FGMRES is obtained. When this condition is fulfilled, the computational cost per one iteration of the FGMRES method is less than the computational cost per one iteration of the BiCGStab. In addition, the FGMRES modification, which allows to stop the algorithm before the next restart in case of achieving the specified accuracy, is presented. Solvers on the basis of presented the BiCGStab and FGMRES methods algorithms including ILU and multigrid preconditioning are developed on the C++ language for sparse linear algebraic equations systems. The efficiency comparison of developed solvers was carried out on the difference analogs of the Helmholtz and Poisson equations. The systems were taken from the test problem about simulation of the flow around a circular profile, which makes forced transverse oscillations. The difference scheme for the problem solution is constructed by the LS-STAG method (immersed boundaries method with level-set functions). Computational experiments showed that the FGMRES demonstrates a higher convergence rate on problems of this class in comparison with the BiCGStab. The FGMRES usage allowed to reduce the computation time by more than 6.5 times without preconditioning and more than 3 times with preconditioning. The implementation of the modified FGMRES algorithm was also compared with a similar solver from the Intel® Math Kernel Library. Computational experiments showed that the developed FGMRES implementation allowed to obtain acceleration in comparison with Intel® MKL by 3.4 times without preconditioning and by 1.4 times with ILU-preconditioning.
215-226
Abstract
Simulation of hydrodynamic phenomena associated with flow around movable deformable bodies is an actual engineering task of various technical problems. This article describes the method of vortex loops, which allows to simulate the flow around bodies without the need to preset the lines of vorticity retreat. Verification of the technique on the experimental data on the flow past the wing and the sphere is given. The accuracy is shown sufficient for application of the program and methodology in engineering applications. Conclusions are made about the possibility of transition to mobile and deformable bodies. The program is implemented in C ++ with the use of the MPI library to organize the transfer of data in parallel calculations.


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)