<?xml version="1.0" encoding="UTF-8"?>
<article article-type="research-article" dtd-version="1.3" xml:lang="ru" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://metafora.rcsi.science/xsd_files/journal3.xsd">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">moitvivt</journal-id>
      <journal-title-group>
        <journal-title xml:lang="ru">Моделирование, оптимизация и информационные технологии</journal-title>
        <trans-title-group xml:lang="en">
          <trans-title>Modeling, Optimization and Information Technology</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2310-6018</issn>
      <publisher>
        <publisher-name>Издательство</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.26102/2310-6018/2024.45.2.040</article-id>
      <article-id pub-id-type="custom" custom-type="elpub">1584</article-id>
      <title-group>
        <article-title xml:lang="ru">Разработка элементов технологии переноса геоинформационной системы Integro на Linux на основе системного подхода</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>Developing elements of technology to port Integro geoinformation system to Linux based on the system approach</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Шумихин</surname>
              <given-names>Александр Сергеевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Shumikhin</surname>
              <given-names>Aleksandr Sergeevich</given-names>
            </name>
          </name-alternatives>
          <email>shmkhn@geosys.ru</email>
          <xref ref-type="aff">aff-1</xref>
        </contrib>
      </contrib-group>
      <aff-alternatives id="aff-1">
        <aff xml:lang="ru">Всероссийский научно-исследовательский геологический нефтяной институт (ВНИГНИ)</aff>
        <aff xml:lang="en">All-Russian Geological Research and Development Oil Institute</aff>
      </aff-alternatives>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>01</month>
        <year>2026</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <elocation-id>10.26102/2310-6018/2024.45.2.040</elocation-id>
      <permissions>
        <copyright-statement>Copyright © Авторы, 2026</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License</license-p>
        </license>
      </permissions>
      <self-uri xlink:href="https://moitvivt.ru/ru/journal/article?id=1584"/>
      <abstract xml:lang="ru">
        <p>Статья посвящена выбору технологического подхода к задаче переноса Windows-приложения, разработанного с использованием некроссплатформенной библиотеки компонентов пользовательского интерфейса и имеющего плагинную архитектуру, на операционную систему Linux. Описывается подход, который может применяться в случаях, когда гибкость и низкие накладные расходы более важны, чем возможность использования готового решения. В работе использованы методы системного анализа. Рассмотрены существующие варианты готовых решений и их элементов. Итоговое решение состоит в использовании разработки, управляемой моделями, для разделения компонентов, специфичных для платформы и независимых от нее, хорошо определенными программными интерфейсами. Разработанный вариант технологии порождения исходного кода из декларативного описания модели объектно-ориентированных интерфейсов позволяет организовать взаимодействие объектов, разделенных границей модулей, компиляторов и библиотек времени выполнения. С использованием стека технологий XML обеспечены валидация, автодополнение и преобразование декларативного описания модели в исходный код на языке С++. Представление интерфейсов основано на таблицах виртуальных методов, каждый из которых является функцией в стиле C. В качестве ссылки на интерфейс объекта используется структура, содержащая указатель на объект и указатель на таблицу виртуальных методов. Для каждого интерфейса генерируются определения функций, описания структуры таблицы виртуальных методов и ссылки на интерфейс, обертки для ссылок и базовые классы реализаций на C++. Технология успешно использована при разработке геоинформационной системы INTEGRO.</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>The article discusses choosing a technological approach to porting a Windows desktop application that utilizes a non-cross-platform user interface component library, and that implements a plugin architecture, to Linux.  The approach described can be used in cases when flexibility and low overhead is preferred over a ready-made solution. The work has been done based   on systems analysis. A collection of existing options and their elements is examined. The resulting solution consists in using model-driven software development to separate platform-specific components from cross-platform ones by means of well-defined programming interfaces. The suggested version of a technology by which source code is generated from a declarative description of an object-oriented interface model provides interoperability between objects, residing in different modules and separated by a compiler or a runtime library boundary. The XML technology stack is used to implement validation, code completion and transformation of model descriptions into C++ source code. Interfaces are represented by virtual method tables. Each method is a C-style function. A reference to an interface is a structure containing a pointer to a virtual method table, and a pointer to an object instance. For each interface there is a number of declarations and definition generated: a set of function declarations, a virtual method table declaration, an interface reference structure declaration, wrappers for interface references and implementation base classes in C++. The technology is successfully applied in the development of INTEGRO geographic information system.</p>
      </trans-abstract>
      <kwd-group xml:lang="ru">
        <kwd>плагинная архитектура</kwd>
        <kwd>объектно-ориентированное программирование</kwd>
        <kwd>двоичный интерфейс приложений</kwd>
        <kwd>C++</kwd>
        <kwd>INTEGRO</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>plug-in architecture</kwd>
        <kwd>object-oriented programming</kwd>
        <kwd>application binary interface</kwd>
        <kwd>C++</kwd>
        <kwd>INTEGRO</kwd>
      </kwd-group>
      <funding-group>
        <funding-statement xml:lang="ru">Исследование выполнено без спонсорской поддержки.</funding-statement>
        <funding-statement xml:lang="en">The study was performed without external funding.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="cit1">
        <label>1</label>
        <mixed-citation xml:lang="ru">Варламов А.И., Гогоненков Г.Н. Состояние и проблемы импортозамещения в области геофизических работ на нефть и газ. Геоинформатика. 2018;(3):3–7.</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">Черемисина Е.Н., Финкельштейн М.Я., Деев К.В., Большаков Е.М. ГИС INTEGRO. Состояние и перспективы развития в условиях импортозамещения. Геология нефти и газа. 2021;(3):31–40. https://doi.org/10.31087/0016-7894-2021-3-31-40</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">Черемисина Е.Н., Финкельштейн М.Я., Любимова А.В. ГИС INTEGRO – импортозамещающий программно-технологический комплекс для решения геолого-геофизических задач. Геоинформатика. 2018;(3):8–17.</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">Шумихин А.С. Особенности архитектуры ГИС INTEGRO. Геоинформатика. 2018;(3):68–75.</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">Черемисина Е.Н., Финкельштейн М.Я., Деев К.В., Мурадян А.В. Ближайшие перспективы развития геоинформационного комплекса INTEGRO. Геоинформатика. 2021;(1):5–10.</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">Квейд Э. Анализ сложных систем. Москва: Издательство «Советское радио»; 1969. 520 с.</mixed-citation>
      </ref>
      <ref id="cit7">
        <label>7</label>
        <mixed-citation xml:lang="ru">Деев К.В. Перспективы развития ГИС INTEGRO. Геоинформатика. 2020;(1):3–7.</mixed-citation>
      </ref>
      <ref id="cit8">
        <label>8</label>
        <mixed-citation xml:lang="ru">Oberg R.J. Understanding &amp; Programming COM+: A Practical Guide to Windows 2000 DNA. Upper Saddle River, NJ: Pretence Hall PTR; 2000. 656 p.</mixed-citation>
      </ref>
      <ref id="cit9">
        <label>9</label>
        <mixed-citation xml:lang="ru">Цимбал А. Технология CORBA. Санкт-Петербург: Питер; 2001. 624 c.</mixed-citation>
      </ref>
      <ref id="cit10">
        <label>10</label>
        <mixed-citation xml:lang="ru">Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley, Pearson Education; 1994. 416 p.</mixed-citation>
      </ref>
      <ref id="cit11">
        <label>11</label>
        <mixed-citation xml:lang="ru">Frankel D.S. Model Driven Architecture™: Applying MDA™ to Enterprise Computing. Indianapolis: Wiley Publishing; 2003. 354 p.</mixed-citation>
      </ref>
      <ref id="cit12">
        <label>12</label>
        <mixed-citation xml:lang="ru">Levine J.R., Mason T., Brown D. lex &amp; yacc. Sebastopol, CA: O'Reilly Media; 1992. 388 p.</mixed-citation>
      </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>