Ключевые слова: плагинная архитектура, объектно-ориентированное программирование, двоичный интерфейс приложений, c++, INTEGRO
Разработка элементов технологии переноса геоинформационной системы Integro на Linux на основе системного подхода
УДК 004.41
DOI: 10.26102/2310-6018/2024.45.2.040
Статья посвящена выбору технологического подхода к задаче переноса Windows-приложения, разработанного с использованием некроссплатформенной библиотеки компонентов пользовательского интерфейса и имеющего плагинную архитектуру, на операционную систему Linux. Описывается подход, который может применяться в случаях, когда гибкость и низкие накладные расходы более важны, чем возможность использования готового решения. В работе использованы методы системного анализа. Рассмотрены существующие варианты готовых решений и их элементов. Итоговое решение состоит в использовании разработки, управляемой моделями, для разделения компонентов, специфичных для платформы и независимых от нее, хорошо определенными программными интерфейсами. Разработанный вариант технологии порождения исходного кода из декларативного описания модели объектно-ориентированных интерфейсов позволяет организовать взаимодействие объектов, разделенных границей модулей, компиляторов и библиотек времени выполнения. С использованием стека технологий XML обеспечены валидация, автодополнение и преобразование декларативного описания модели в исходный код на языке С++. Представление интерфейсов основано на таблицах виртуальных методов, каждый из которых является функцией в стиле C. В качестве ссылки на интерфейс объекта используется структура, содержащая указатель на объект и указатель на таблицу виртуальных методов. Для каждого интерфейса генерируются определения функций, описания структуры таблицы виртуальных методов и ссылки на интерфейс, обертки для ссылок и базовые классы реализаций на C++. Технология успешно использована при разработке геоинформационной системы INTEGRO.
1. Варламов А.И., Гогоненков Г.Н. Состояние и проблемы импортозамещения в области геофизических работ на нефть и газ. Геоинформатика. 2018;(3):3–7.
2. Черемисина Е.Н., Финкельштейн М.Я., Деев К.В., Большаков Е.М. ГИС INTEGRO. Состояние и перспективы развития в условиях импортозамещения. Геология нефти и газа. 2021;(3):31–40. https://doi.org/10.31087/0016-7894-2021-3-31-40
3. Черемисина Е.Н., Финкельштейн М.Я., Любимова А.В. ГИС INTEGRO – импортозамещающий программно-технологический комплекс для решения геолого-геофизических задач. Геоинформатика. 2018;(3):8–17.
4. Шумихин А.С. Особенности архитектуры ГИС INTEGRO. Геоинформатика. 2018;(3):68–75.
5. Черемисина Е.Н., Финкельштейн М.Я., Деев К.В., Мурадян А.В. Ближайшие перспективы развития геоинформационного комплекса INTEGRO. Геоинформатика. 2021;(1):5–10.
6. Квейд Э. Анализ сложных систем. Москва: Издательство «Советское радио»; 1969. 520 с.
7. Деев К.В. Перспективы развития ГИС INTEGRO. Геоинформатика. 2020;(1):3–7.
8. Oberg R.J. Understanding & Programming COM+: A Practical Guide to Windows 2000 DNA. Upper Saddle River, NJ: Pretence Hall PTR; 2000. 656 p.
9. Цимбал А. Технология CORBA. Санкт-Петербург: Питер; 2001. 624 c.
10. Gamma E., Helm R., Johnson R., Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley, Pearson Education; 1994. 416 p.
11. Frankel D.S. Model Driven Architecture™: Applying MDA™ to Enterprise Computing. Indianapolis: Wiley Publishing; 2003. 354 p.
12. Levine J.R., Mason T., Brown D. lex & yacc. Sebastopol, CA: O'Reilly Media; 1992. 388 p.
Ключевые слова: плагинная архитектура, объектно-ориентированное программирование, двоичный интерфейс приложений, 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