Friday, May 16, 2025

A General Theory of Applied Algorithms

A General Theory of Applied Algorithms

Relevance of the work. Among researchers, software project managers and practicing programmers, there is an understanding that Software Engineering needs a productive theory. Despite the fact that certain efforts have already been made and are being made to create such a theory, the result has not been achieved. In Software Engineering, as in any technology, in addition to the programming process, there are many other processes and many different types of work. But it is the programming process that is the most labor-intensive and must be changed radically. Programming must be transferred to a higher stage of development - this is the main condition that can ensure progress in Software Engineering. In programming, languages ​​of a different type are needed that will significantly reduce the detailing of the program text. But such algorithmic languages ​​can only be obtained as a result of theoretical research.

Objective. The objective of this work is to describe the General Theory of Applied Algorithms (GTAA). The description of the theory involves defining the main attributes of the theory, namely, the research methodology, the field of research, the object of research, the subject of research, the main (basic) assumptions (axioms), the main task of the theory, the theoretical generalized model of the decomposition scheme as a method for solving the main problem, the research method, the purpose of research, the directions of research.

Research method. The paper uses the idea of ​​the decomposition scheme and its attributes: the concepts of object type and object type property. The decomposition scheme is used to describe the solution of arbitrary problems. The use of the decomposition scheme involves its development and connection with the algorithms of applied problems.

Result. The paper defines and describes the above-listed attributes of the general theory of applied algorithms, introduces and describes the idea of ​​virtual component operations (VCO). Such operations are well-known philosophical concepts such as decomposition, composition, deduction and induction. Within the framework of the theory, these operations are the imperative core, the further development of imperative operators that are in traditional algorithmic programming languages. Accordingly, VCO are used as building blocks for constructing the object property generation circuit. The object property generation circuit is a prototype of the algorithm and the application program.

Conclusion. The theory contains two main interrelated concepts: P-properties and VCO. They implement the idea of ​​programming language operators with a high degree of generality. The theory creates prerequisites for designing a new type of programming languages ​​that are significantly superior to existing languages.

The paper describes a complete decomposition scheme and an object property generation loop. These two constructions are considered together as a model of a universal or canonical algorithm.

The main task of the theory is to build a correct synthesis loop. The complete decomposition scheme and the synthesis loop are the initial data for generating an algorithm and an application program.

The article draws attention to the need for large-scale empirical research. The article provides references to the first works in this direction.

Key words. Decomposition scheme, object type, object part type, object properties, generalized programming concepts, algorithm.


https://www.researchgate.net/publication/391768843_A_Novel_Approach_Leveraging_a_General_Theory_of_Applied_Algorithms_for_High-Level_Language_Design

P.S. It is highly improbable for such languages to emerge solely by experience and intuition, similar to the languages that were developed during the early stages of the information age. The development of high-performance languages requires the application of theoretical principles.

P.P.S. In this work, for the first time in the field of information technology, I give a description of the structure of the General Theory of Applied Algorithms - a list of the attributes of a theory. Even if the theory I propose is unfinished or false, researchers receive a model of the theory and the direction of its development.


Valery Kolesnyk
20.05.2025

Wednesday, January 10, 2024

DEDUCTIVE DERIVATION (inference) OF ALGORITHMS FOR APPLICATION SOFTWARE

 

I published another article in the journal

SYNTHESIS THEORY IN ACTION:

DEDUCTIVE DERIVATION OF ALGORITHMS

FOR APPLICATION SOFTWARE

Abstract. The significance of the study is contingent upon two criteria. All objects in the actual world that can capture a researcher’s attention are inherently complicated. Furthermore, every commodity that an individual manufactures and every work of art that an individual develops are intricate in nature. The entirety of the processes that an individual perceives and instigates are intricate. Although many professions have established techniques for constructing intricate entities, there currently exists no universally applicable concepts or methodologies for comprehensively studying, designing, producing, or generating complicated items.

The objective of this work is two-fold: firstly, to develop a comprehensive methodology for analysing complex synthetic processes, and secondly, to propose universal models or synthesis mechanisms that can be used to systematically derive specific process synthesis algorithms for various practical applications. The ability to utilize generalized models and synthesis techniques is highly advantageous when designing realistic computer programming.

The authors introduced a comprehensive process model and enumerated its characteristics. Using this concept, techniques for creating and suggesting processes have been formulated and put forward. The concept of a decomposition diagram enables the systematic design of intricate multi-level hierarchical processes. The multitude of processes and the intricacy of their combination give rise to the notion of formulating a synthesis theory. The acquired results can be regarded as the initial stage in the construction of such a theory. The authors’ proposed methods of process synthesis enable the deductive derivation of useful algorithms for application software. Although the concept of the breakdown scheme and synthesis procedures is relatively straightforward, this advancement has been suggested for the first time.

In order to further this project, it is necessary to augment the generalized process model with supplementary traits and properties, as well as to further refine the synthesis procedures. A proposal is being made to initiate the development of a theory for synthesizing a comprehensive plan using the decomposition scheme and methods of synthesis and decomposition.

Key words: theory of synthesis, method of synthesis, scheme for decomposition, algorithm, deductive reasoning, algorithm synthesis.

https://visnukpfs.dp.ua/index.php/PFS/issue/view/43

PDF (English)

https://visnukpfs.dp.ua/index.php/PFS/article/view/1137/1574

#deductive_derivation_of_algorithms #deductive_inference_of_ algorithms #method_of_synthesis #scheme_of_decomposition #algorithm #deductive_reasoning #algorithm_synthesis

 

10.01.2024

Saturday, January 23, 2021

Formalization of the decomposition process

 Formalization of the decomposition process

 My article "Formalization of the decomposition process" is published in the journal «Epistemological Studies in Philosophy, Social and Political Sciences». The methodological basis of DS-theory is proposed in the article. DS-theory is viewed as a theory for Software Engineering.

There are an abstract of the article and a link to the text of the article (in Ukrainian) below.

 
Abstract:

The article is devoted to the formal description of the procedure and scheme for the decomposition of arbitrary objects: objects, phenomena, organisms, processes in animate and inanimate nature. Attributes of the decomposition scheme such as an object property; various types of dependencies that can bind the properties of an object; decomposition mechanism; a graphic representation of the decomposition scheme — given and formally described. Varieties of decomposition schemes such as division decomposition and decomposition with inclusion are described. The variety of decomposition schemes and the variety of decomposition mechanisms are shown.

The action of various variations of the decomposition scheme, such as: the scheme for the formation of new knowledge of the studied objects; design and production scheme for new objects: artifacts and processes; a scheme for transforming objects: modernization, reorganization, reforming, repair, etc. - formally described.

A formal description is considered as a prerequisite for the analysis and synthesis of complex objects and complex systems at a level comparable to the level of mathematical accuracy and rigor.

The synthesis and design of various multifunctional equipment, various multifactorial processes, objects and processes of art, and, in particular, systems of the IT industry - is implied. For the first time introduced and formally described the concepts "type of property" and "algorithmic dependence". Algorithmic dependence exists between types of properties. These two concepts are prerequisites for the creation and development of the theory for Software Engineering. The article mentions a similar theory. Operations with decomposition schemes are described. Most of the concepts and ideas are illustrated with examples from various fields of human activity. This is evidence that the scheme of decomposition and the process of decomposition is a general scientific and philosophical phenomenon.

The idea of a decomposition scheme can provide effective interdisciplinary communication.


Article text:

https://visnukpfs.dp.ua/index.php/PFS/article/view/1020/1449

 

Monday, June 25, 2018

About first article




The text of the article, which was previously published in the journal "Programming Problems" (here - In Russian) is published in the next post. This article is the first of five (here).
The article describes a general fundamental theory for software engineering. The name of the theory (DS-theory - decomposition schemes theory) is replaced by (DSA-theory – the algorithmic theory of the decomposition schemes). The object of the theory research is applied algorithms. DSA-theory has nothing to do with the classical theory of algorithms and formal grammars.
Within the framework of the DSA-theory applied algorithms are classified; the basic components of the theory are investigated: a particular decomposition scheme and a canonical algorithm; the synthesis path is investigated; operations on algorithms are investigated. DSA-theory allows us to consider any applied algorithm of any complexity as a superposition of operations on primitive algorithms.
A particular decomposition scheme and the canonical algorithm are the attributes of the cell - the metaphor mentioned earlier in the blog (here).


I apologize for my English.

Valery Kolesnyk
25 June 2018

Sunday, April 29, 2018

The action of categories "object - reflection of an object" in the design of SOFTWARE


The action of categories "object - reflection of an object" in the design of SOFTWARE


In Software Engineering, there are very few generalized concepts. In programming, there are many special terms and abstractions, but not all of them are generalized concepts. Generalizations can be used within a particular domain of the software system. The source of these generalizations have application area. This is also not what is necessary for programming. The concept "Object", which is used in the OOP, is overly abstract, overly generalized. Because of this, the concept of "Object" in OOP is unproductive.

Friday, April 27, 2018

On generalized concepts in Software Engineering

On generalized concepts in Software Engineering

In the SOFTWARE design the SOFTWARE complexity problem has not been resolved to date. On the one hand, the complexity of SOFTWARE, like the complexity of any object, is a highly subjective phenomenon. On the other hand, SOFTWARE is of such size that it is unaffordable for any intellect. To overcome complexity is to find such effective code presentation tools that can provide trained intellect of average power to manipulate SOFTWARE components in consciousness. That is, effective code presentations tools should enable remember SOFTWARE structure, quickly detail the components, quickly restore the functions of the components and SOFTWARE as a whole, without much stress.
Graphics or mental conceivable concepts can be used as an effective tool for presenting code. Moreover, the concept as a means is more important than graphics. On the one hand, the concept reflects the inner essence of a process, and on the other hand, it should be more general than the traditional means of representing SOFTWARE and its component (machine code, algorithmic language operator). Also the concept is the initial mental material for creating graphics.

Saturday, April 21, 2018

Agile methods VS theory of software development


Agile methods VS theory of software development 

The work of the handicraftsman is based on personal experience and personal craftsmanship. The production process of the handicraftsman, as a rule, is unique. The result of the work of the handicraftsman is unique as well. Labor and the result of labor of the handicraftsman, as a rule, is hidden from prying eyes and because of this the possibility of their improvement is limited. The labor of the handicraftsman, traditionally is not divided into partial processes and therefore it can not be synthesized into effective technology.
The technological process in modern industrial production is based on physical or chemical laws, which are presented in the form of formulas or reference books. The results of the functioning of the technological process coincide almost completely within the limits of one technology. The technological process, as a rule, ensures maximum productivity at the current level of production development. The technological process, as a rule, is open for improvement.
The initiators of SEMAT have set an important goal - to find and offer a scientific theory for software engineering.
In this note we argue that work on software development methodology must undergo a profound transformation. It should renounce its current reliance on fashion and political-style propaganda, turning instead to a serious scientific endeavor based on theory and experimental validation. See more.
This is not enough; we need a strong theory of software development. See more.
At the same time, those who were at the origins of SEMAT began to promote Agile methods.
The latest wave to sweep the industry is "agile". Agile methods have made a number of significant contributions and reminded us of the central role of people in software engineering. Some of the agile lessons are likely to remain in future methods. See more.
But "Agile methods" is a craft style of production. The development and application of "Agile methods" is in opposition to the goal of "creating a theory for software engineering". It is possible that this confrontation in the minds of the initiators of SEMAT does not generate cognitive dissonance, but from the point of view of progress in software engineering, from the point of view of the development of the software engineering, it is absurd. This style of research is similar to the situation when the driver of the car at the same time presses the brake and gas pedals. The result of the existence of SEMAT from 2009 to the present time is such a theory for software engineering has not been created.

Many articles on the theory for software engineering have been published, which indicates that a lot of effort has been spent to create the theory, but the SEMAT initiative is the most ambitious. Considering the SEMAT initiative as a leader, as a marker, it can be argued that the scientific community in software engineering capitulated before the problem of "creating a theory for software engineering".

Valery Kolesnyk
21 April 2018