Ключевые слова: плагинная архитектура, объектно-ориентированное программирование, двоичный интерфейс приложений, c++, INTEGRO
Разработка элементов технологии переноса геоинформационной системы Integro на Linux на основе системного подхода
УДК 004.41
DOI: 10.26102/2310-6018/2024.45.2.040
Статья посвящена выбору технологического подхода к задаче переноса Windows-приложения, разработанного с использованием некроссплатформенной библиотеки компонентов пользовательского интерфейса и имеющего плагинную архитектуру, на операционную систему Linux. Описывается подход, который может применяться в случаях, когда гибкость и низкие накладные расходы более важны, чем возможность использования готового решения. В работе использованы методы системного анализа. Рассмотрены существующие варианты готовых решений и их элементов. Итоговое решение состоит в использовании разработки, управляемой моделями, для разделения компонентов, специфичных для платформы и независимых от нее, хорошо определенными программными интерфейсами. Разработанный вариант технологии порождения исходного кода из декларативного описания модели объектно-ориентированных интерфейсов позволяет организовать взаимодействие объектов, разделенных границей модулей, компиляторов и библиотек времени выполнения. С использованием стека технологий XML обеспечены валидация, автодополнение и преобразование декларативного описания модели в исходный код на языке С++. Представление интерфейсов основано на таблицах виртуальных методов, каждый из которых является функцией в стиле C. В качестве ссылки на интерфейс объекта используется структура, содержащая указатель на объект и указатель на таблицу виртуальных методов. Для каждого интерфейса генерируются определения функций, описания структуры таблицы виртуальных методов и ссылки на интерфейс, обертки для ссылок и базовые классы реализаций на C++. Технология успешно использована при разработке геоинформационной системы INTEGRO.
Ключевые слова: плагинная архитектура, объектно-ориентированное программирование, двоичный интерфейс приложений, c++, INTEGRO
Для цитирования: Шумихин А.С. Разработка элементов технологии переноса геоинформационной системы Integro на Linux на основе системного подхода. Моделирование, оптимизация и информационные технологии. 2024;12(2). URL: https://moitvivt.ru/ru/journal/pdf?id=1584 DOI: 10.26102/2310-6018/2024.45.2.040
Поступила в редакцию 07.06.2024
Поступила после рецензирования 14.06.2024
Принята к публикации 21.06.2024
Опубликована 30.06.2024