<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article 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" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Intellectual Technologies on Transport</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Intellectual Technologies on Transport</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Интеллектуальные технологии на транспорте</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="online">2413-2527</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">123758</article-id>
   <article-id pub-id-type="doi">10.20295/2413-2527-2026-246-54-63</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ И СЕТЕЙ</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject>MATHEMATICAL AND SOFTWARE SUPPORT FOR COMPUTER COMPLEXES AND NETWORKS</subject>
    </subj-group>
    <subj-group>
     <subject>МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ КОМПЛЕКСОВ И СЕТЕЙ</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">Reactive Programming as an Evolution of Architectural Trade-offs in Managing Changes</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Реактивное программирование как эволюция архитектурных компромиссов в управлении изменениями</trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Цуканова</surname>
       <given-names>Дарья Александровна</given-names>
      </name>
      <name xml:lang="en">
       <surname>Cukanova</surname>
       <given-names>Dar'ya Aleksandrovna</given-names>
      </name>
     </name-alternatives>
     <email>GinD.Nova@yandex.ru</email>
     <xref ref-type="aff" rid="aff-1"/>
    </contrib>
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Забродин</surname>
       <given-names>Андрей Владимирович</given-names>
      </name>
      <name xml:lang="en">
       <surname>Zabrodin</surname>
       <given-names>Andrey Vladimirovich</given-names>
      </name>
     </name-alternatives>
     <email>zabrodin@pgups.ru</email>
     <bio xml:lang="ru">
      <p>кандидат исторических наук;</p>
     </bio>
     <bio xml:lang="en">
      <p>candidate of historical sciences;</p>
     </bio>
     <xref ref-type="aff" rid="aff-2"/>
    </contrib>
   </contrib-group>
   <aff-alternatives id="aff-1">
    <aff>
     <institution xml:lang="ru">Петербургский государственный университет путей сообщения Императора Александра I</institution>
     <country>Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Emperor Alexander I St. Petersburg State Transport University</institution>
     <country>Russian Federation</country>
    </aff>
   </aff-alternatives>
   <aff-alternatives id="aff-2">
    <aff>
     <institution xml:lang="ru">Петербургский государственный университет путей сообщения Императора Александра I</institution>
     <city>Санкт-Петербург</city>
     <country>Россия</country>
    </aff>
    <aff>
     <institution xml:lang="en">Emperor Alexander I St. Petersburg State Transport University</institution>
     <city>St. Petersburg</city>
     <country>Russian Federation</country>
    </aff>
   </aff-alternatives>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2026-06-24T12:26:23+03:00">
    <day>24</day>
    <month>06</month>
    <year>2026</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-06-24T12:26:23+03:00">
    <day>24</day>
    <month>06</month>
    <year>2026</year>
   </pub-date>
   <issue>2</issue>
   <fpage>54</fpage>
   <lpage>63</lpage>
   <history>
    <date date-type="received" iso-8601-date="2026-05-18T00:00:00+03:00">
     <day>18</day>
     <month>05</month>
     <year>2026</year>
    </date>
    <date date-type="accepted" iso-8601-date="2026-05-22T00:00:00+03:00">
     <day>22</day>
     <month>05</month>
     <year>2026</year>
    </date>
   </history>
   <self-uri xlink:href="https://itt-pgups.ru/en/nauka/article/123758/view">https://itt-pgups.ru/en/nauka/article/123758/view</self-uri>
   <abstract xml:lang="ru">
    <p>Представлено исследование эволюции моделей реактивного программирования от теоретических основ функционального реактивного программирования до современных практических реализаций в библиотеках реактивных потоков и UI-фреймворках. Цель: систематизировать подходы к управлению зависимостями и распространению изменений в программных системах. Методы: сравнительный анализ архитектурных решений в FRP, библиотеках реактивных потоков и UI-фреймворках. Результаты: показано, что реактивные модели не устраняют сложность управления изменениями во времени, а перераспределяют ее между кодом разработчика, механизмами выполнения и инструментами разработки. Выявлены ключевые различия между push-моделью, основанной на явном распространении событий и управлении подписками, и pull-моделью, использующей автоматическое отслеживание зависимостей. Практическая значимость: заключается в уточнении архитектурных компромиссов различных моделей реактивности при разработке пользовательских интерфейсов и серверных систем обработки данных</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>The paper presents a study of the evolution of reactive programming models from the theoretical foundations of functional reactive programming to modern practical implementations in reactive thread libraries and UI frameworks. Purpose: to systematize approaches to dependency management and dissemination of changes in software systems. Methods: comparative analysis of architectural solutions in FRP, reactive flow libraries and UI frameworks. Results: it is shown that reactive models do not eliminate the complexity of managing changes over time, but redistribute it between the developer’s code, execution mechanisms, and development tools. The key differences between the push model based on explicit event propagation and subscription management and the pull model using automatic dependency tracking have been identified. Practical significance: it consists in clarifying the architectural trade-offs of various reactivity models in the development of user interfaces and server-side data processing systems.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>реактивное программирование</kwd>
    <kwd>функциональное реактивное программирование</kwd>
    <kwd>push-модель</kwd>
    <kwd>pull-модель</kwd>
    <kwd>управление зависимостями</kwd>
    <kwd>архитектурные паттерны</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>reactive programming</kwd>
    <kwd>functional reactive programming</kwd>
    <kwd>push model</kwd>
    <kwd>pull model</kwd>
    <kwd>dependency management</kwd>
    <kwd>architectural patterns</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p></p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Moseley B., Marks P. Out of the Tar Pit // Proceedings of the BCS Software Practice Advancement Conference (SPA ‘2006) (Bedfordshire, England, 26–29 March 2006). 66 p. URL: http://curtclifton.net/papers/MoseleyMarks06a.pdf (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Moseley B., Marks P. Out of the Tar Pit // Proceedings of the BCS Software Practice Advancement Conference (SPA ‘2006) (Bedfordshire, England, 26–29 March 2006). 66 p. URL: http://curtclifton.net/papers/MoseleyMarks06a.pdf (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Java Concurrency на практике = Java Concurrency in Practice / Б. Гетц [и др.]; пер. с англ. А. Логунова. СПб.: Питер, 2026. 464 с.</mixed-citation>
     <mixed-citation xml:lang="en">Java Concurrency na praktike = Java Concurrency in Practice / B. Getc [i dr.]; per. s angl. A. Logunova. SPb.: Piter, 2026. 464 s.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Meijer E. The Curse of the Excluded Middle // Communications of the ACM. 2014. Vol. 57, iss. 6. Pp. 50–55. DOI: 10.1145/2605176</mixed-citation>
     <mixed-citation xml:lang="en">Meijer E. The Curse of the Excluded Middle // Communications of the ACM. 2014. Vol. 57, iss. 6. Pp. 50–55. DOI: 10.1145/2605176</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Elliott C., Hudak P. Functional Reactive Animation // ACM SIGPLAN Notices. 1997. Vol. 32, no. 8. Pp. 263–273. DOI: 10.1145/258948.258973</mixed-citation>
     <mixed-citation xml:lang="en">Elliott C., Hudak P. Functional Reactive Animation // ACM SIGPLAN Notices. 1997. Vol. 32, no. 8. Pp. 263–273. DOI: 10.1145/258948.258973</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Salvaneschi G., Mezini M. Reactive Behavior in Object-Oriented Applications: An Analysis and a Research Roadmap // Proceedings of the 12th Annual International Conference on Aspect-Oriented Software Development (AOSD ‘13) (Fukuoka, Japan, 24–29 March 2013) / H. Masuhara [et al.] (eds). New York: Association for Computing Machinery, 2013. Pp. 37–48. DOI: 10.1145/2451436.2451442</mixed-citation>
     <mixed-citation xml:lang="en">Salvaneschi G., Mezini M. Reactive Behavior in Object-Oriented Applications: An Analysis and a Research Roadmap // Proceedings of the 12th Annual International Conference on Aspect-Oriented Software Development (AOSD ‘13) (Fukuoka, Japan, 24–29 March 2013) / H. Masuhara [et al.] (eds). New York: Association for Computing Machinery, 2013. Pp. 37–48. DOI: 10.1145/2451436.2451442</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Wan Z., Taha W., Hudak P. Real-Time FRP // ACM SIGPLAN Notices. 2001. Vol. 36, no. 10. Pp. 146–156. DOI: 10.1145/507635.507654</mixed-citation>
     <mixed-citation xml:lang="en">Wan Z., Taha W., Hudak P. Real-Time FRP // ACM SIGPLAN Notices. 2001. Vol. 36, no. 10. Pp. 146–156. DOI: 10.1145/507635.507654</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Czaplicki E., Chong S. Asynchronous Functional Reactive Programming for GUIs // ACM SIGPLAN Notices. 2013. Vol. 48, no. 9. Pp. 411–422. DOI: 10.1145/2462156.2462161</mixed-citation>
     <mixed-citation xml:lang="en">Czaplicki E., Chong S. Asynchronous Functional Reactive Programming for GUIs // ACM SIGPLAN Notices. 2013. Vol. 48, no. 9. Pp. 411–422. DOI: 10.1145/2462156.2462161</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Нуркевич Т., Кристенсен Б. Реактивное программирование с применением RxJava. Разработка асинхронных событийно-ориентированных приложений = Reactive Programming with RxJava: Creating Asynchronous, Eventbased Application / пер. с англ. А. А. Слинкина. М.: ДМК Пресс, 2017. 358 с.</mixed-citation>
     <mixed-citation xml:lang="en">Nurkevich T., Kristensen B. Reaktivnoe programmirovanie s primeneniem RxJava. Razrabotka asinhronnyh sobytiyno-orientirovannyh prilozheniy = Reactive Programming with RxJava: Creating Asynchronous, Eventbased Application / per. s angl. A. A. Slinkina. M.: DMK Press, 2017. 358 s.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">ReactiveX Observable Documentation. URL: http://reactivex.io/documentation/observable.html (дата обращения: 25.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">ReactiveX Observable Documentation. URL: http://reactivex.io/documentation/observable.html (data obrascheniya: 25.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">RxJS API Docs. URL: http://rxjs.dev/guide/overview (дата обращения: 25.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">RxJS API Docs. URL: http://rxjs.dev/guide/overview (data obrascheniya: 25.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B11">
    <label>11.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Project Reactor Documentation. URL: http://projectreactor.io/docs (дата обращения: 25.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Project Reactor Documentation. URL: http://projectreactor.io/docs (data obrascheniya: 25.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B12">
    <label>12.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Кун Р., Ханафи Б., Аллен Дж. Реактивные шаблоны проектирования = Reactive Design Patterns / пер. с англ. С. Черникова. СПб.: Питер, 2018. 416 с.</mixed-citation>
     <mixed-citation xml:lang="en">Kun R., Hanafi B., Allen Dzh. Reaktivnye shablony proektirovaniya = Reactive Design Patterns / per. s angl. S. Chernikova. SPb.: Piter, 2018. 416 s.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B13">
    <label>13.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Elliott C. M. Push-Pull Functional Reactive Programming // Haskell 2009: Proceedings of the Second ACM SIGPLAN Symposium on Haskell (Edinburgh, Scotland, 03 September 2009) / S. Weirich (ed.). New York: Associationfor Computing Machinery, 2009. Pp. 25–36. DOI: 10.1145/1596638.1596643</mixed-citation>
     <mixed-citation xml:lang="en">Elliott C. M. Push-Pull Functional Reactive Programming // Haskell 2009: Proceedings of the Second ACM SIGPLAN Symposium on Haskell (Edinburgh, Scotland, 03 September 2009) / S. Weirich (ed.). New York: Associationfor Computing Machinery, 2009. Pp. 25–36. DOI: 10.1145/1596638.1596643</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B14">
    <label>14.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Кумар Т. React. К вершинам мастерства: создание быстрых, производительных и интуитивно понятных веб-приложений = Fluent React: Build Fast, Performant, and Intuitive Web Applications / пер. с англ. Астана: АЛИСТ, 2025. 368 с.</mixed-citation>
     <mixed-citation xml:lang="en">Kumar T. React. K vershinam masterstva: sozdanie bystryh, proizvoditel'nyh i intuitivno ponyatnyh veb-prilozheniy = Fluent React: Build Fast, Performant, and Intuitive Web Applications / per. s angl. Astana: ALIST, 2025. 368 s.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B15">
    <label>15.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">React DOM: React Reference Overview. URL: http://react.dev/reference/react (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">React DOM: React Reference Overview. URL: http://react.dev/reference/react (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B16">
    <label>16.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">What is Angular? URL: http://angular.dev/overview (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">What is Angular? URL: http://angular.dev/overview (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B17">
    <label>17.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Angular Signals: In-depth Guides. URL: http://angular.dev/guide/signals (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Angular Signals: In-depth Guides. URL: http://angular.dev/guide/signals (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B18">
    <label>18.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Solid Overview. URL: http://docs.solidjs.com (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Solid Overview. URL: http://docs.solidjs.com (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B19">
    <label>19.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Signals: Preact Guide. URL: http://preactjs.com/guide/v10/signals (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Signals: Preact Guide. URL: http://preactjs.com/guide/v10/signals (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B20">
    <label>20.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Svelte Overview: Svelte Docs. URL: http://svelte.dev/docs/svelte/overview (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Svelte Overview: Svelte Docs. URL: http://svelte.dev/docs/svelte/overview (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B21">
    <label>21.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Wingerath W., Ritter N., Gessert F. Real-Time and Stream Data Management: Push-Based Data in Research and Practice. Cham: Springer, 2019. 86 p. DOI: 10.1007/978-3-030-10555-6</mixed-citation>
     <mixed-citation xml:lang="en">Wingerath W., Ritter N., Gessert F. Real-Time and Stream Data Management: Push-Based Data in Research and Practice. Cham: Springer, 2019. 86 p. DOI: 10.1007/978-3-030-10555-6</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B22">
    <label>22.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Changefeeds in RethinkDB. URL: http://rethinkdb.com/docs/changefeeds/python (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Changefeeds in RethinkDB. URL: http://rethinkdb.com/docs/changefeeds/python (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B23">
    <label>23.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Kafka Streams: Apache Kafka Docs. URL: http://kafka.apache.org/43/streams (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Kafka Streams: Apache Kafka Docs. URL: http://kafka.apache.org/43/streams (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B24">
    <label>24.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Apache Flink Documentation. URL: http://nightlies.apache.org/flink/flink-docs-stable (дата обращения: 26.04.2026).</mixed-citation>
     <mixed-citation xml:lang="en">Apache Flink Documentation. URL: http://nightlies.apache.org/flink/flink-docs-stable (data obrascheniya: 26.04.2026).</mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
