Alexander Legalov

Alexander Legalov
National Research University Higher School of Economics | HSE · School of Software Engineering

About

40
Publications
2,218
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
124
Citations

Publications

Publications (40)
Article
Software development is often about expanding functionality. To improve reliability in this case, it is necessary to minimize the change in previously written code. For instrumental support of the evolutionary development of programs, a procedural-parametric programming paradigm was proposed, which made it possible to increase the capabilities of t...
Article
The functional dataflow paradigm of parallel programming is focused on the development of parallel portable programs. The source code of functional dataflow programs is translated into a set of graphs reflecting information and control dependences. The main method of their execution is interpretation, which makes it impossible to perform calculatio...
Article
Full-text available
The paper analyzes the possibilities of transforming C programming language constructs into objects of EO programming language. The key challenge of the method is the transpilation from a system programming language into a language of a higher level of abstraction, which doesn’t allow direct manipulations with computer memory. Almost all applicatio...
Article
The problems and solutions in the field of ensuring architectural independence and implementation of digital integrated circuits end-to-end design processes are considered. The paper focuses on the need to find a solution to the problem of program portability during the development of integrated circuits. A review of the main software and tools use...
Article
Full-text available
In the article the problems and solutions in the field of ensuring architectural independence and implementation of digital integrated circuits end-to-end design processes are considered. The method and language of parallel programming for functional flow synthesis of design solutions is presented. During the method implementation, the tasks of red...
Article
In recent times, the subject of interoperability has become very popular. In large-scale software applications development, it is a common practice to combine multiple languages in solving peculiar problems and developing robust solutions. The ability to combine multiple languages allows an easy migration of an existing project from one language to...
Chapter
Object-oriented programming (OOP) is one of the most common programming paradigms used for building software systems. However, despite its industrial and academic value, OOP is criticized for its high complexity, low maintainability and lack of rigorous principles. Eolang (a.k.a. EO) was created to solve the above problems by restricting its featur...
Article
Full-text available
Functional dataflow programming languages are designed to create parallel portable programs. The source code of such programs is translated into a set of graphs that reflect information and control dependencies. The main way of their execution is interpretation, which does not allow to perform calculations efficiently on real parallel computing sys...
Article
Full-text available
Functional dataflow programming languages are intended for the development of architecture-independent parallel programs and support the control of computations based on data availability. Due to the fact that at present parallel computing systems are very widespread, and their programming in imperative languages is associated with portability prob...
Conference Paper
Full-text available
The article presents the concept of an asynchronous-streamed model, which is an extension of the functional data-flow model of parallel computing. We suppose that the model will be used to describe dynamically changing parallelism. This model is based on the concept of asynchronous lists, which allow considering their parallelism as an independent...
Article
Full-text available
A statically typed version of the data driven functional parallel computing model is proposed. It enables a representation of dynamically changing parallelism by means of asynchronous serial data flows. We consider the features of the syntax and semantics of the statically typed data driven functional parallel programming language Smile that suppor...
Article
It is proposed to add a static system of types to the dataflow functional model of parallel computing and the dataflow functional parallel programming language developed on its basis. The use of static typing increases the possibility of transforming dataflow functional parallel programs into programs running on modern parallel computing systems. L...
Article
Full-text available
In the article, we consider verification of programs with mutual recursion in the data driven functional parallel language Pifagor. In this language the program could be represented as a data flow graph, that has no control connections, and only has data relations. Under these conditions it is possible to simplify the process of formal verification...
Article
The paper considers methods of program transformation equivalent to optimizing the cycle invariant, applied to the functional data-flow model implemented in the Pifagor programming language. Optimization of the cycle invariant in imperative programming languages is reduced to a displacement from the cycle of computations that do not depend on varia...
Article
Full-text available
In the article, we consider verification of programs with mutual recursion in the data driven functional parallel language Pifagor. In this language the program could be represented as a data flow graph, that has no control connections, and has only data relations. Under these conditions it is possible to simplify the process of formal verification...
Article
Full-text available
The paper considers methods of program transformation equivalent to optimizing the cycle invariant, applied to the functional data-flow model implemented in the Pifagor programming language. Optimization of the cycle invariant in imperative programming languages is reduced to a displacement from the cycle of computations that do not depend on varia...
Chapter
In the article a technology is considered which aims at creating architecture-independent parallel programmes based on the data-driven functional paradigm. A proposed toolkit provides the translation, execution, debugging, optimisation and verification of programmes. A programme in a data-driven functional parallel language is translated into the d...
Conference Paper
Full-text available
The main contribution of this paper is a study of the applicability of hyperdimensional computing and learning with an associative memory for modeling the dynamics of complex automation systems. Specifically, the problem of learning an evidence-based model of a plant in a distributed automation and control system is considered. The model is learned...
Article
Full-text available
In the article, a novel approach to the development, analysis and transformation of parallel programs is considered. A functional dataflow parallel programming language is used. It supports writing programs independently of any resource limitations. This allows to develop algorithms with maximal level of parallelism. Support tools for translation,...
Article
This paper is devoted to analyzing numerical optimization methods for solving the problem of molecular docking. Some additional requirements for optimization methods that take into account certain architectural features of graphics processing units (GPUs) have been formulated. A promising optimization method for use on graphics processors has been...
Article
Full-text available
Nowadays, due to software sophistication, programs correctness is more often proved by means of formal verification. The method of deduction based on Hoare logic could be used for any programminglanguage and it has the capability of partial automation of the proof process. However, the method of deduction is not widely used for verification of parall...
Article
Full-text available
USING IDENTICAL SIGNATURE PROCEDURES FOR EVOLUTIONARY EXTENSION OF PROGRAMS Legalov A.I., Kosov P.V., Legalov I.A. Siberian Federal University, Krasnoyarsk, Russian Federation Evolutionary development of software is based on different techniques and programming paradigms. The application of inheritance and virtualization made it possible to easi...
Article
Full-text available
The article is devoted to the methods of proving parallel programs correctness that are based on the axiomatic approach. Formal system for functional data-flow parallel programming language Pifagor is described. On the basis of this system programs correctness could be proved.
Article
Full-text available
The peculiarities of transforming functional dataflow parallel programs into programs with finite resources are analysed. It is considered how these transformations are affected by the usage of asynchronous lists, the return of delayed lists and the variation of the data arrival pace relative to the time of its processing. These transformations all...
Article
Full-text available
An analysis of numerical optimization methods for solving a problem of molecular docking has been performed. Some additional requirements for optimization methods according to GPU architecture features were specified. A promising method for implementation on GPU was selected. Its implementation was described and performance and accuracy tests were...
Article
The peculiarities of transforming functional dataflow parallel programs into programs with finite resources are analysed. It is considered how these transformations are affected by the usage of asynchronous lists, the return of delayed lists and the variation of the data arrival pace relative to the time of its processing. These transformations all...
Article
The article is devoted to the methods of proving parallel programs correctness, that are based on the axiomatic approach. Formal system for functional data-flow parallel programming language Pifagor is described. On the basis of this system programs correctness could be proved.
Conference Paper
The article examines the methods of evolutionary software development with the use of the procedural parametric paradigm of programming. The basic program object of the paradigm are presented and their implementation in a programming language Alien is shown. The generalized records and generalizing parametric procedures are described as well as the...
Conference Paper
The article is devoted to the methods of proving parallel programs correctness, that are based on the Hoare axiomatic system. In this article such system is being developed for proving the correctness of the programs in the functional data-flow parallel programming language Pifagor. Recursion correctness is proved by induction. This method could be...
Article
Full-text available
Utilization of software agents in e-commerce is a subject of a lot of interest. In our work we are developing a complete agent-based e-commerce system in which agents play all major roles representing both buyers and sellers. The aim of the paper is to describe flow and usage of information in a virtual e-shop operating within the proposed e-commer...
Article
The multilevel architecture of virtual parallel computing system intended for interpretation of functional parallel programs is offered. It realizes consecutive performance of the low level operations, parallel performance at a level of functions and it provide the dynamic compression of parallelism at presence of resource restrictions. Ways of inc...
Conference Paper
We examined the sound wave dissemination model in laminar composite as one-dimensional elastically dissipative system of nodes and ties. This model is defined by the differential equations system. We used the implemented model in composite structure and it’s components widths optimisation. The purpose of optimisation is to make the composite to ab...

Network

Cited By