Cистема отладки простых вычислительных моделей в графовом представлении

Власенко А.Ю. Городничев М.А. Курбатов М.А.

Журнал: Проблемы информатики @problem-info

Рубрика: Теоретическая и системная информатика

Статья в выпуске: 1 (70), 2026 года.

Бесплатный доступ

Вычислительные модели (ВМ) — формализм для представления знаний о вычислениях в предметных областях. ВМ определяет множество переменных, соответствующих величинам предметной области, и множество операций, выражающих функциональные связи между величинами. Выбор подмножеств V — известных величин — и W — искомых величин — определяет постановку задачи на ВМ, а подмножество операций и переменных, связанных отношением частичного порядка, задающее схему вычисления W по V, называется (V, W)-планом. При соответствующей компьютерной реализации величин и операций обеспечивается возможность автоматизированного решения задач на основе ВМ. Построение ВМ — сложная задача, требующая значительных навыков и опыта. Возможно допустить ряд ошибок, как при разработке ВМ, так и при постановке задач, вследствие чего решений у задачи может либо не быть вообще, либо они могут существенно отличаться в зависимости от выбора (V, W)-плана. Следовательно, необходима разработка системы отладки ВМ, проводящей ряд проверок над ВМ в автоматизированном режиме и способной выполнять анализ поставленных (V, W)-задач. Настоящая статья посвящена описанию такой системы.

вычислительная модель \ высокопроизводительные вычислительные системы \ двудольный граф \ автоматизированная отладка \ визуализация

Короткий адрес: https://sciup.org/143186300

IDS: 143186300   |   УДК: 004.4   |   DOI: 10.24412/2073-0667-2026-1-24-39

Debugging System of Simple Computational Models in Graph Representation

Computational models (CM) is a formalism for representing knowledge about computing in problem domains. A CM defines a set of domain quantities (variables) and a set of operations that functionally connect the quantities. The choice of subsets V (known variables) and W (desired variables) determines the formulation of the problem on the CM, and the partial order of operations that allows one to “compute” W by V is called a (U, W)-plan. With appropriate computer implementation of variables and operations, automated problem solving based on CMs becomes possible. Building a CM — as a theory of the problem domain — is a complex task that requires significant skills and experience. It is convenient to represent a CM as a bipartite graph with vertices of two types: variables and operations. Some operations produce variable values as results that will be input for other operations. There are several software systems for designing and using CMs (LuNA, HPC Community Cloud, CoCoViLa, Orlando Tools, etc.) These systems have different interfaces and the user experience varies significantly depending on the system. For example, in the HPC Community Cloud, a user can place elements corresponding to values and operations on a canvas in the web interface and link them with arrows. In the LuNA system, the user writes a program in the language of the same name, similar to functional languages. When using such systems, the user can make a number of mistakes, both when developing a CM and when setting problems. As a result, the solutions to the problem may either not exist at all, or they may differ significantly depending on the choice of the (U, W)-plan. The following are several types of situations that should be taken into account. The CM-graph has several connectivity components. If the graph is large enough (several dozen or more vertices with many arcs), then this situation may be difficult to detect visually. The existence of several connectivity components may indicate that the modeled subject area should be divided into several independent areas and investigated separately. The inability to calculate any variables from others. In many fields of physics, mathematics, and other sciences, all values are interconnected by formulas, and it is always possible to calculate any value through others. In this case, the presence of a variable that is not the result of any operation is an error in CM-development. Although there may be subject areas in which some variables are always only input and are not calculated through others. This work was carried out under state contract with ICMMG SB RAS FWNM-2025-0005. A number of possible (V, W)-plans for solving the problem. This situation may be normal, since often the same problem can be solved using different methods, but it may also indicate unnecessary connections that were mistakenly entered into the CM. The computational model design system chooses an inefficient (V, W)-plan according to some criterion. For example, it was not taken into account that the computing system on which the task will be run has graphics accelerators; an inefficient method for solving a problem was chosen (for example, the Kramer method was chosen instead of an iterative method for solving a system of linear equations), etc. When designing the CM, the limitations of the problem domain were not taken into account (for example, that a certain value cannot be negative, that the values are dependent on each other, etc.) Therefore, it is necessary to develop a CM debugging system that performs a number of checks on the CM in an automated mode and is capable of analyzing the (V, W)-problems. This paper is devoted to the description of such a system. The system under development receives a CM in the form of a JSON file with a description in a specific format (this format is described in the paper). At the moment, the user is downloading it from the file system. In the future, imports will be implemented directly from CM design systems. To do this, it is necessary to develop a parser for the internal CM representation of each of these systems. After import, the CM graph is displayed in the system's web interface. The user has the opportunity to set a (V, W)-problem by selecting the vertices of the sets V and W. In this case, all existing (V, W)- plans for this problem will be displayed on the screen. If there are no solutions to the problem in this CM, then this will be notified to the user. The system also detects the presence of several connectivity components of the CM graph.