scispace - formally typeset
Search or ask a question
Author

Anatoliy Doroshenko

Other affiliations: National Technical University
Bio: Anatoliy Doroshenko is an academic researcher from National Academy of Sciences of Ukraine. The author has contributed to research in topics: Rewriting & Computer science. The author has an hindex of 6, co-authored 27 publications receiving 119 citations. Previous affiliations of Anatoliy Doroshenko include National Technical University.

Papers
More filters
Journal Article
TL;DR: A new rule-action based term rewriting framework, called TermWare, is proposed and its application to software system analysis is described to provide better cost effectiveness of software maintenance under varied requirements and specifications of operation.
Abstract: In recent years light-weighted formal methods in construction and analysis of complex concurrent software system are of growing interest. In this paper a new rule-action based term rewriting framework, called TermWare, is proposed and its application to software system analysis is described to provide better cost effectiveness of software maintenance under varied requirements and specifications of operation. The main advantage is light-weighted formal model based on not computational semantics but on particular properties of software system to be analyzed. Such approach eliminates the need in full formal analysis of software system and allows extreme flexibility of applications in two major concerns: high adaptability to changeable environment and easy reengineering and component reuse. The language and formal semantics of the system are defined. A new semantic model, called term system with action, is proposed for TermWare. A case study with some representative examples in source code analysis and software development with TermWare framework is presented.

36 citations

Book ChapterDOI
19 Jun 2013
TL;DR: An approach to program design and synthesis using algebra-algorithmic specifications and rewriting rules techniques is proposed, which allows building syntactically correct and easy-to-understand algorithm specifications and provides facilities for transformation of the sequential and parallel algorithms.
Abstract: An approach to program design and synthesis using algebra-algorithmic specifications and rewriting rules techniques is proposed. An algebra-algorithmic toolkit based on the approach allows building syntactically correct and easy-to-understand algorithm specifications. The term rewriting system supplements the algebra-algorithmic toolkit with facilities for transformation of the sequential and parallel algorithms, enabling performance improvement. We demonstrate the usage of the proposed tools with a simple example of parallelizing sequential program and improving performance of a parallel program, and also discuss possible applications in larger real-world projects.

16 citations

Journal ArticleDOI
TL;DR: The development of the algebra-algorithmic methodology and tools for automated design and generation of programs for graphics processing units is proposed and a particular feature of the proposed approach is the use of high-level specifications that are close to natural-language specifications.
Abstract: The development of the algebra-algorithmic methodology and tools for automated design and generation of programs for graphics processing units is proposed. A particular feature of the proposed approach is the use of high-level specifications that are close to natural-language specifications and also the application of a method that ensures the syntactical correctness of algorithms and programs being designed. The approach was implemented in a toolkit destined for interactively designing algorithm schemes and generating programs. The use of this toolkit is illustrated by the development of a parallel program in the field of meteorology.

10 citations

Journal ArticleDOI
TL;DR: A modification of the additive splitting algorithm is proposed to solve the convection-diffusion problem using an efficient finite-difference scheme and decreases the number of data exchanges and their amount during the numerical solution of a system of multidimensional equations.
Abstract: We propose a modification of the additive splitting algorithm to solve the convection-diffusion problem using an efficient finite-difference scheme The modification decreases the number of data exchanges and their amount during the numerical solution of a system of multidimensional equations Approximation, stability, and convergence are considered

9 citations


Cited by
More filters
Journal ArticleDOI
TL;DR: Machine learning addresses many of the same research questions as the fields of statistics, data mining, and psychology, but with differences of emphasis.
Abstract: Machine Learning is the study of methods for programming computers to learn. Computers are applied to a wide range of tasks, and for most of these it is relatively easy for programmers to design and implement the necessary software. However, there are many tasks for which this is difficult or impossible. These can be divided into four general categories. First, there are problems for which there exist no human experts. For example, in modern automated manufacturing facilities, there is a need to predict machine failures before they occur by analyzing sensor readings. Because the machines are new, there are no human experts who can be interviewed by a programmer to provide the knowledge necessary to build a computer system. A machine learning system can study recorded data and subsequent machine failures and learn prediction rules. Second, there are problems where human experts exist, but where they are unable to explain their expertise. This is the case in many perceptual tasks, such as speech recognition, hand-writing recognition, and natural language understanding. Virtually all humans exhibit expert-level abilities on these tasks, but none of them can describe the detailed steps that they follow as they perform them. Fortunately, humans can provide machines with examples of the inputs and correct outputs for these tasks, so machine learning algorithms can learn to map the inputs to the outputs. Third, there are problems where phenomena are changing rapidly. In finance, for example, people would like to predict the future behavior of the stock market, of consumer purchases, or of exchange rates. These behaviors change frequently, so that even if a programmer could construct a good predictive computer program, it would need to be rewritten frequently. A learning program can relieve the programmer of this burden by constantly modifying and tuning a set of learned prediction rules. Fourth, there are applications that need to be customized for each computer user separately. Consider, for example, a program to filter unwanted electronic mail messages. Different users will need different filters. It is unreasonable to expect each user to program his or her own rules, and it is infeasible to provide every user with a software engineer to keep the rules up-to-date. A machine learning system can learn which mail messages the user rejects and maintain the filtering rules automatically. Machine learning addresses many of the same research questions as the fields of statistics, data mining, and psychology, but with differences of emphasis. Statistics focuses on understanding the phenomena that have generated the data, often with the goal of testing different hypotheses about those phenomena. Data mining seeks to find patterns in the data that are understandable by people. Psychological studies of human learning aspire to understand the mechanisms underlying the various learning behaviors exhibited by people (concept learning, skill acquisition, strategy change, etc.).

13,246 citations

Dissertation
27 Sep 2013
TL;DR: A fast method for cloud simulation based on cellular automata using the \CC programming language and a rendering method based on volumetric ray casting that can realize cloud simulation and rendering in real-time on modern computers.
Abstract: Clouds play an important role in computer game and simulator scenes, but both rendering of clouds and simulation of their movement are difficult because of their physical characteristics. The problem gets even more involved when the operations have to be done under real-time constraints with limited hardware capabilities. In this thesis, we describe methods for cloud simulation and rendering. We implemented a fast method for cloud simulation based on cellular automata using the \CC programming language. We realized cloud rendering by using the OpenGL library. Our rendering method is based on volumetric ray casting and approximates single-scattering of light by traversing additional shadow rays. The proposed method can realize cloud simulation and rendering in real-time on modern computers.

49 citations

01 Jan 2010

45 citations

07 Nov 2016
TL;DR: It is shown how machine learning can be used to speed up this seemingly hopeless search problem, by learning weights that relate textual features describing the provided input-output examples to plausible sub-components of a program.
Abstract: Learning programs is a timely and interesting challenge. In Programming by Example (PBE), a system attempts to infer a program from input and output examples alone, by searching for a composition of some set of base functions. We show how machine learning can be used to speed up this seemingly hopeless search problem, by learning weights that relate textual features describing the provided input-output examples to plausible sub-components of a program. This generic learning framework lets us address problems beyond the scope of earlier PBE systems. Experiments on a prototype implementation show that learning improves search and ranking on a variety of text processing tasks found on help forums.

19 citations