Why do we need a General Theory of Applied Algorithms (GTAA)?
In Software
Engineering, the craft style of production dominates. This means that design
and production are mixed and performed simultaneously. Design is the creation
of algorithms, and production is programming. That is, the creation of
algorithms and programming are performed simultaneously. Sometimes, along with
design and production, algorithm research is also performed. The stages of
algorithm research, algorithm design and programming should be separated as it
is in the industry: in mechanical engineering, in aircraft manufacturing,
instrument making, etc. In the industry, the stages of research, design,
technological preparation and production are separated and performed
sequentially.
Algorithm Research
Research is
carried out within the GTAA.
Algorithm
research should be ongoing, similar to research in mathematics or other fields.
Research
does not have to be associated with specific projects.
Research
can be associated with specific projects.
Research
processes and results should be presented in a concise, compact, and, if
possible, simple language.
Research
processes and results should not be presented in algorithmic language.
Algorithm Design
GTAA should
be used for algorithm design.
The design
language should be the same as for algorithm research.
Programming
The input
to programming must be algorithms that are designed at the design stage.
Programming
languages are used at the production stage, after the algorithms have been
developed.
Problem
In order to
achieve such a division of labor and move away from the craft style of
programming, a theory and language are needed in which to conduct research and
design algorithms.
Purpose of the GTAA language
The
language is designed to describe the following phenomena.
– Stable
(relatively unchanging) objects of the real world.
–
Algorithms for research, studying stable objects, for observing them.
–
Algorithms of real-world processes. Processes independent of the computer and
interacting with the computer.
–
Algorithms that are executed in the computer, in the network.
–
Algorithms of interaction between man and computer.
Requirements for the GTAA language
The
language must be strict, unlike natural language, and formal – as in
mathematics.
The
language must be a language of generalizations, as in mathematics.
The
language must be graphical. More precisely, a hybrid of graphics and text with
the prevalence of graphics.
The
language must have a high degree of default.
The
language must be focused on the description and depiction of algorithms.
The theory
and language are based on a system of ontologies and philosophical procedures:
decomposition, deduction, etc.
In theory
and in language, mechanisms for synthesizing and analyzing algorithms must be
researched and developed.
Requirements for programming languages
Programming
languages must be specialized.
#General_Theory_of_Applied_Algorithms #GTAA
Valery Kolenyk
13/08/2025