<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mireabulletin</journal-id><journal-title-group><journal-title xml:lang="ru">Russian Technological Journal</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Technological Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2782-3210</issn><issn pub-type="epub">2500-316X</issn><publisher><publisher-name>RTU MIREA</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.32362/2500-316X-2022-10-1-18-27</article-id><article-id custom-type="elpub" pub-id-type="custom">mireabulletin-451</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ИНФОРМАЦИОННЫЕ СИСТЕМЫ. ИНФОРМАТИКА. ПРОБЛЕМЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>INFORMATION SYSTEMS. COMPUTER SCIENCES. ISSUES OF INFORMATION SECURITY</subject></subj-group></article-categories><title-group><article-title>Эквивалентность схем программ на основе алгебраического подхода к заданию семантики языков программирования</article-title><trans-title-group xml:lang="en"><trans-title>Equivalence of the schemes of programs based on the algebraic approach to setting the semantics of programming languages</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Кораблин</surname><given-names>Ю. П.</given-names></name><name name-style="western" xml:lang="en"><surname>Korablin</surname><given-names>Y. P.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Кораблин Юрий Прокофьевич, д.т.н., профессор, профессор кафедры прикладной математики и искусственного интеллекта Института информационных и вычислительных технологийScopus Author ID 6603265252 </p><p>111250, Россия, Москва, Красноказарменная ул., д. 14</p></bio><bio xml:lang="en"><p>Yuri P. Korablin, Dr. Sci (Eng.), Professor, Professor, Department of Applied Mathematics and Artificial Intelligence, Institute of Information and Computational Technologies</p><p>111250, Moscow, Krasnokazarmennaya ul., 14</p></bio><email xlink:type="simple">KorablinYP@mpei.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>НИУ МЭИ</institution><country>Россия</country></aff><aff xml:lang="en"><institution>NRU MPEI</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2022</year></pub-date><pub-date pub-type="epub"><day>27</day><month>02</month><year>2022</year></pub-date><volume>10</volume><issue>1</issue><fpage>18</fpage><lpage>27</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Кораблин Ю.П., 2022</copyright-statement><copyright-year>2022</copyright-year><copyright-holder xml:lang="ru">Кораблин Ю.П.</copyright-holder><copyright-holder xml:lang="en">Korablin Y.P.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.rtj-mirea.ru/jour/article/view/451">https://www.rtj-mirea.ru/jour/article/view/451</self-uri><abstract><p>Цели. Статья посвящена вопросам эквивалентности схем программ. В соответствии с работами А.А. Ляпунова и Ю.И. Янова – основоположников данной теории, под схемой программы понимается ее модель, в которой осуществляется абстрагирование от содержательных значений операторов и выражений. При этом неизменной остается структура программы, включающая символические обозначения операторов и выражений при сохранении последовательности их выполнения. Представленная в статье модель языка программирования содержит основные конструкции последовательных языков и является ядром имеющихся языков последовательного программирования. Цель работы – разработка эффективного алгоритма исследования вопросов эквивалентности (неэквивалентности) схем программ последовательных языков программирования.Методы. Используется алгебраический подход к заданию семантики языков программирования для исследования вопросов эквивалентности схем программ.Результаты. Предложен новый алгебраический подход к заданию формальной семантики языков последовательного программирования – процессная семантика. Процессная семантика задается посредством сопоставления программам (схемам программ) множества вычислительных последовательностей. Под вычислительной последовательностью понимается последовательность выполнения действий (команд и тестов) программы. На введенной семантической области (множестве вычислительных последовательностей) определены операции конкатенации двух видов (тест-команда и команда-команда) и операция объединения, свойства которых заданы системами аксиом. Доказана конечность представления семантических значений в виде систем рекурсивных уравнений. Предложен алгоритм доказательства эквивалентности (неэквивалентности) систем рекурсивных уравнений, характеризующих семантические значения для пары схем программ, откуда вытекает эквивалентность (неэквивалентности) программ в сильном смысле.Выводы. Показана эффективность применения предложенного алгоритма для доказательства эквивалентности схем последовательных программ, в которых отсутствует побочный эффект при вычислении выражений, т.е. последовательное вычисление выражения более, чем один раз, ничего не меняет. В статье приведен демонстрационный пример доказательства эквивалентности схем программ двумя методами: известным методом индукции фиксированной точки де Баккера – Скотта и предложенным в статье методом. Сравнение приведенных методов свидетельствует не только об эффективности нового метода, но и его существенной простоте, что было подтверждено на практике при выполнении соответствующих заданий студентами специальности «Прикладная математика и информатика» Национального исследовательского университета МЭИ в процессе изучения дисциплины «Семантика языков программирования».</p></abstract><trans-abstract xml:lang="en"><p>Objectives. The paper deals with the equivalence of program schemes. According to A.A. Lyapunov and Yu.I. Yanov, the founders of this theory, a program scheme is understood as a program model wherein abstraction from contensive values of operators and expressions is performed. In this case, the program structure containing symbolic notation of operators and expressions remains unchanged while maintaining their execution sequence. The programming language model presented in the paper contains basic constructs of sequential languages and is the core of the existing sequential programming languages. The paper aimed at developing an effective algorithm for studying equivalence (nonequivalence) of program schemes of sequential programming languages.Methods. An algebraic approach to specifying semantics of programming languages was used for studying the equivalence of program schemes.Results. A process semantics being the new algebraic approach to specifying the formal semantics of sequential programming languages was proposed. The process semantics was specified by matching programs (program schemes) with a set of computation sequences. The computation sequence was understood as the execution sequence of actions (commands and tests) of the program. Two types of concatenation operations (test–command and command–command) and the merge operation, which properties are given by axiomatic systems, were defined in the introduced semantic domain. The finiteness of the semantic value representation in the form of systems of recursive equations was proved. The algorithm for proving the equivalence (nonequivalence) of systems of recursive equations characterizing semantic values for a pair of program schemes was proposed, which implies the equivalence (nonequivalence) of programs in the strong sense.Conclusions. The paper demonstrates the efficient use of the proposed algorithm for proving the equivalence of sequential program schemes excluding side effects when calculating expressions, i.e., sequential computation of the expression more than once does not change anything. The example of proving the equivalence of program schemes by two methods—the well-known de Bakker–Scott fixed-point induction method and the method proposed by the author—is given. Comparison of the above methods testifies not only to the new method′s effectiveness but also to its significant simplicity, proved in practice by students who performed corresponding tasks when studying the Semantics of Programming Languages at the Institute of Information and Computing Technologies at the National Research University Moscow Power Engineering Institute (Moscow, Russia).</p></trans-abstract><kwd-group xml:lang="ru"><kwd>схема программы</kwd><kwd>семантические области</kwd><kwd>процессная семантика</kwd><kwd>эквациональная характеризация семантических значений программ</kwd><kwd>эквивалентность схем программ</kwd></kwd-group><kwd-group xml:lang="en"><kwd>program scheme</kwd><kwd>semantic domains</kwd><kwd>process semantics</kwd><kwd>equational characterization of the semantic meanings of programs</kwd><kwd>equivalence of program schemes</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Кораблин Ю.П., Куликова Н.Л., Шипов А.А. Программы как минимальные фиксированные точки: теоретические и прикладные аспекты. Cloud of Science. 2020;7(3):535−550.</mixed-citation><mixed-citation xml:lang="en">Korablin Yu.P., Kulikova N.L., Shipov A.A. Programs as least fixed points: theoretical and applied aspects. Cloud of Science. 2020;7(3):535−550 (in Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Карпов Ю.Г. Model checking. Верификация параллельных и распределенных программных систем. СПб.: БХВ-Петербург; 2010. 610 с. ISBN 978-5-9775-0404-1</mixed-citation><mixed-citation xml:lang="en">Karpov Yu.G. Model checking. Verifikatsiya parallel’nykh i raspredelennykh programmnykh system (Model checking. Verification of parallel and distributed software systems). St. Petersburg: BHV-Petersburg; 2010. 610 p. (in Russ.). ISBN 978-5-9775-0404-1</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Кораблин Ю.П., Кучугуров И.В. Процессная семантика языков распределенного программирования. Программные продукты и системы. 2011;4(96):57−64.</mixed-citation><mixed-citation xml:lang="en">Korablin Yu.P., Kuchugurov I.V. Process semantics of distributed programming language. Programmnye produkty i sistemy = Software &amp; Systems. 2011;4(96):57−64 (in Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Кораблин Ю.П. Семантические методы анализа программ. М.: Изд-во МЭИ; 2019. 68 с. ISBN 978-5-7046-2173-7</mixed-citation><mixed-citation xml:lang="en">Korablin Yu.P. Semanticheskie metody analiza programm (Semantic methods of program analysis). Moscow: MEI; 2019. 68 p. (in Russ.). ISBN 978-5-7046-2173-7</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Floyd R.W. Assigning Meanings to Programs. In: Colburn T.R., Fetzer J.H., Rankin T.L. (Eds.). Program Verification. Studies in Cognitive Systems. Dordrecht: Springer; 1993. V. 14. P. 65−81. https://doi.org/10.1007/978-94-011-1793-7_4</mixed-citation><mixed-citation xml:lang="en">Floyd R.W. Assigning meanings to programs. In: Colburn T.R., Fetzer J.H., Rankin T.L. (Eds.). Program Verification. Studies in Cognitive Systems. Dordrecht: Springer; 1993. V. 14. P. 65−81. https://doi.org/10.1007/978-94-011-1793-7_4</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Hoare C.A.R., Wirth N. An axiomatic definition of the programming language PASCAL. Acta Informatica. 1973;2(4):335−355. https://doi.org/10.1007/BF00289504</mixed-citation><mixed-citation xml:lang="en">Hoare C.A.R., Wirth N. An axiomatic definition of the programming language PASCAL. Acta Informatica. 1973;2(4):335−355. https://doi.org/10.1007/BF00289504</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Stoy J.E. Denotational semantics: The Scott-Strachey approach to programming language theory. Cambridge: The MIT Press Series in Computer Science; 1985. 414 p.</mixed-citation><mixed-citation xml:lang="en">Stoy J.E. Denotational semantics: The Scott-Strachey approach to programming language theory. Cambridge: The MIT Press Series in Computer Science; 1985. 414 p.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Алагич С., Арбиб M. Проектирование корректных структурированных программ: пер. с англ. M.: Радио и связь; 1984. 264 с.</mixed-citation><mixed-citation xml:lang="en">Alagich S., Arbib M. Proektirovanie korrektnykh strukturirovannykh programm (Designing correct structured programs): transl. from Eng. Moscow: Radio i svyaz’; 1984. 264 р. (in Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">de Bakker J. Mathematical Theory of Program Correctness. Prentice Hall International; 1980. 505 p.</mixed-citation><mixed-citation xml:lang="en">de Bakker J. Mathematical theory of program correctness. Prentice Hall International; 1980. 505 p.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Захаров В.А. Моделирование и анализ поведения последовательных реагирующих программ. Труды Института системного программирования РАН. 2015:27(2):221−250. https://doi.org/10.15514/ISPRAS2015-27(2)-13</mixed-citation><mixed-citation xml:lang="en">Zakharov V.A. Modeling and analysis of the behavior of successive reactive programs. Trudy Instituta sistemnogo programmirovaniya RAN = Proceedings of the Institute for System Programming of the RAS. 2015;27(2):221−250 (in Russ.). https://doi.org/10.15514/ISPRAS-2015-27(2)-13</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Захаров В.А., Подымов В.В. Применение алгоритмов проверки эквивалентности для оптимизации программ. Труды Института системного программирования РАН. 2015;27(4):145−174. https://doi.org/10.15514/ISPRAS-2015-27(4)-8</mixed-citation><mixed-citation xml:lang="en">Zakharov V.A., Podymov V.V. On the application of equivalence checking algorithms for program minimization. Trudy Instituta sistemnogo programmirovaniya RAN = Proceedings of the Institute for System Programming of the RAS. 2015;27(4):145−174 (in Russ.). https://doi.org/10.15514/ISPRAS-2015-27(4)-8</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Захаров В.А., Жайлауова Ш.Р. О задаче минимизации последовательных программ. Моделирование и анализ информационных систем. 2017;24(7):415−433. https://doi.org/10.18255/1818-1015-2017-4-415-433</mixed-citation><mixed-citation xml:lang="en">Zakharov V.A., Zhailauova S.R. On the minimization problem for sequential programs. Modelirovanie i analiz informatsionnykh system = Modeling and Analysis of Information Systems. 2017;24(4):415−433 (in Russ.). https://doi.org/10.18255/1818-1015-2017-4-415-433</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Молчанов А.Э. Разрешимость проблемы эквивалентных преобразований в классе примитивных схем программ. Труды Института системного программирования РАН. 2015;27(2):173−188. https://doi.org/10.15514/ISPRAS-2015-27(2)-11</mixed-citation><mixed-citation xml:lang="en">Molchanov A.E. A Solution to the equivalent transformation problem in a class of primitive program schemes. Trudy Instituta sistemnogo programmirovaniya RAN = Proceedings of the Institute for System Programming of the RAS. 2015;27(2):173−188 (in Russ.). https://doi.org/10.15514/ISPRAS-2015-27(2)-11</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Кораблин Ю.П., Шипов А.А. Верификация моделей систем на базе эквациональной характеристики формул CTL. Программные продукты и системы. 2019;32(4):547−555. http://dx.doi.org/10.15827/0236-235X.128.547-555</mixed-citation><mixed-citation xml:lang="en">Korablin Yu.P., Shipov A.A. Systems model verification based on equational characteristics of СTL formulas. Programmnye produkty i sistemy = Software &amp; Systems. 2019;32(4):547−555 (in Russ.). http://dx.doi.org/10.15827/0236-235X.128.547-555</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
