Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N3 2021 year

DOI: 10.17587/prin.12.115-126
Control Graph Based Development of Problem Solvers for Systems with Knowledge Bases
V. V. Gribova, gribova@iacp.dvo.ru, Ph. M. Moskalenko, philipmm@iacp.dvo.ru, V. A. Timchenko, vadim@dvo.ru, E. A. Shalfeeva, shalf@iacp.dvo.ru, Institute of Automation and Control Processes Far Eastern Branch of the Russian Academy of Sciences, Vladivostok, 690041, Russian Federation
Corresponding author: Moskalenko Philip M., PhD, Senior Researcher, Institute of Automation and Control Processes Far Eastern Branch of the Russian Academy of Sciences, Vladivostok, 690041, Russian Federation, E-mail: philipmm@iacp.dvo.ru
Received on November 13, 2020
Accepted on December 01, 2020

Reducing the complexity of developing software systems that solve complex problems of science and practice, as well as ensuring their viability are among urgent tasks of software engineering. For systems with knowledge bases, as noted in many literature sources, this problem is most acute, despite the fact that significant results have been achieved in its solving. This problem is especially critical for those systems in which one of the requirements is a time limit for decision-making. Given that the used solution methods belong to the class of exhaustive ones that have a large computational complexity, parallelization is required to reduce the execution time. A methodology for using declaratively defined control graph structures for developing problem solvers for systems with knowledge bases is proposed. Special attention is paid to the processing of knowledge base fragments and the possibility of placing architectural components of the solver on different computing devices. The structure of such an information-and-control graph includes related constructs (operators), one of which is marked as "initial". These structures can be divided into two main types: computing control structures and information processing structures. The developer can group individual operators into blocks — for their repeated usage (including organization of recursive calculations). The structure of the graph also includes a description of the data.

Keywords: knowledge base, solver, control graph, software engineering, program development methodology, information processing
pp. 115–126
For citation:
Gribova V. V., Moskalenko Ph. M., Timchenko V. A., Shalfeeva E. A. Control Graph Based Development of Problem Solvers for Systems with Knowledge Bases, Programmnaya Ingeneria, 2021, vol. 12, no. 3, pp. 115—126
This work was partially supported by the Russian Foundation for Basic Research, project nos. 19-07-00244 and 20-07-00670