Зага́льний інтерфе́йс генера́тора зобра́жень (CIGI; вимовляється sig-ee) — це провідний протокол даних, який дозволяє спілкуватися з Генератором зображень та його гостом моделюванням. Інтерфейс розроблений для просування стандартного способу зв'язку гост-пристрою з генератором зображень (IG) в межах галузі.
CIGI дозволяє підключати та відтворювати постачальників генераторів зображень, що відповідають стандартам, та зменшує витрати на інтеграцію при модернізації візуальних систем.
Мета
Більшість симуляторів високого класу не мають всього, що працює на одній машині, як зараз реалізовано популярне домашнє програмне забезпечення Симулятор польоту. Модель літака працює на одній машині, зазвичай її називають гостом, а візуальні або графічні сцени програми виконуються на іншій, зазвичай її називають генератором зображень (IG). Часто є декілька IG, необхідних для відображення навколишнього середовища, створеного гостом. CIGI - це інтерфейс між гостом та IG.
Основна мета CIGI — капіталізація попередніх інвестицій за допомогою спільного інтерфейсу. CIGI призначений для надання допомоги постачальникам та інтеграторам систем IG з легкістю інтеграції, повторного використання коду та загального зниження витрат.
У минулому більшість генераторів зображень забезпечували власний фірмовий інтерфейс; кожен гост мусив реалізувати цей інтерфейс, зробивши зміни генераторів зображень дорогим випробуванням. CIGI був створений для стандартизації інтерфейсу між гостом і генератором зображень, так що для комутації генераторів зображень знадобиться невелика модифікація. Ініціатива CIGI значною мірою очолювала компанію «Boeing» на початку 21 століття.
Визначення
Генератор зображень - у цьому контексті генератор зображень складається з одного або декількох каналів візуалізації, які створюють зображення, які можуть бути використані для візуалізації сцени «Поза вікном», або зображень, отриманих за допомогою різних моделей датчиків, таких як інфрачервоні, електрооптичні та нічного виду.
Моделювання госта - у цьому контексті «гост» - це обчислювальна система, яка надає інформацію про модельований пристрій, щоб генератор зображень міг зобразити користувачеві правильний пейзаж. Ця інформація передається через CIGI генератору зображень.
Розвиток
CIGI 4.0 - це остання версія стандарту, що було затверджено Simulation Interoperability Standards Organization[en] інтелектуальної сумісності 22 серпня 2014 року. CIGI став міжнародним стандартом SISO, відомим як SISO-STD-013-2014; найперша версія стандарту (1.0) вийшла 2006 року[1].
Протокольні залежності
Зазвичай CIGI використовує UDP в якості свого транспортного протоколу, але CIGI не вимагає конкретного транспортного механізму, лише відповідність визначення пакету. Трафік CIGI не має добре відомого порту; однак використання портів 8004-8005 набрало широкого розповсюдження[2].
Інструменти розробки
Емулятор госту
Емулятор госта може використовуватися як сурогат для управління інтерфейсом, коли гостинг моделювання недоступний. Це Windows-генератор зображень на основі Windows, який використовується для розробки, інтеграції та тестування генераторів зображень, що використовують протокол CIGI. Він надає графічний інтерфейс користувача (GUI) для створення, модифікації та видалення сутностей; маніпулювання поглядами; контроль екологічних ознак та явищ; та інші функції госта.
Емулятор госта має кілька функцій, корисних для інтеграції та тестування. Режим вільного польоту дозволяє здійснювати політ з фіксованим крилом та на роторних суднах, рух по осях судна та вільне обертання за допомогою джойстика або віджета, що нагадує джойстик. Функції сценарію та запису/відтворення підтримують тестування регресії, демонстрацій та інших завдань, що потребують точного відтворення певних послідовностей подій. Функція "snoop" на рівні пакетів дозволяє користувачеві перевіряти вміст CIGI-повідомлень, час відгуку генератора зображення та затримки.
Вікно монітора серцебиття показує графічну історію хронометражу частоти кадрів даних Генератора зображень. Інші функції включають в себе явне створення пакетів, управління анімацією, макети ракет та вікно відображення ситуації (лише Host Emulator 3.x).
Багатоцільовий переглядач
Багатоцільовий переглядач (MPV) забезпечує основну функціональність, яку очікує генератор зображень, таку як завантаження та показ бази даних про місцевість, показ сутностей тощо. Багатоцільовий переглядач може використовуватися як сурогат для управління інтерфейсом, коли реального генератора зображень немає. MPV спроможний працювати як з операційними системами Windows®, так і з Linux.
Бібліотека класів CIGI
CCL - це об'єктно-орієнтований програмний інтерфейс, який автоматично обробляє композицію та декомпозицію повідомлень (тобто упаковку, розпакування та заміну байтів відповідно до специфікації ICD) як на стороні госта, так і на генераторі зображень інтерфейсу. CCL інтерпретує повідомлення госта чи генератора зображень на основі часових параметрів компіляції. Він також виконує обробку помилок та переклад між різними версіями CIGI.
Кожен тип пакету має свій клас. Доступ до окремих членів пакету здійснюється через аксесуари класу пакетів. Вихідні повідомлення будуються шляхом розміщення кожного пакету у вихідному буфері за допомогою оператора потокового передавання. Вхідні повідомлення аналізуються за допомогою механізмів зворотного виклику або на основі подій, які надають програмі користувачі повністю заповненими пакетами об'єктів.
Поточний набір інструментів
Група технічних розробок CIGI управляється та підтримується групою підтримки продуктів SISO CIGI. Останні пакети доступні на SourceForge.
Wireshark
безкоштовний аналізатор мережевих пакетів даних Wireshark підтримує CIGI. Він забезпечує дисектор[що це?] для пакетів CIGI. Втім, станом на жовтень 2016 року, CIGI-дисектор повністю функціонує лише для версій 2 та 3 CIGI[2].
Старіші версії CIGI
Документ управління інтерфейсом CIGI (ICD) та набір розробок доступний у форматі з відкритим кодом[3].
Версія MPV для вихідних файлів обмежена у підтримці пакетів даних CIGI і покликана зростати в міру виникнення потреб. MPV використовує CIGI 3 в якості свого інтерфейсу, але MPV є зворотним сумісним з більш ранніми версіями CIGI завдяки використанню CCL. MPV використовує бібліотеку Open Scene Graph для візуалізації сцени. Графік сцени маніпулює відповідно до команд CIGI, отриманих від госта через CCL. MPV сам по собі являє собою прикладний шар, який складається з невеликого ядра, що значною мірою використовує архітектуру плагінів для зручності ремонту та гнучкості.
Реалізатор може реалізувати інтерфейс з нуля, однак доступний повний набір інструментів інтеграції. Ці засоби складаються з трьох елементів. Емулятор госта (HE - англ.Host Emulator), багатоцільовий переглядач (MPV - англ.Multi-Purpose Viewer) та бібліотека класів CIGI (CCL - англ.CIGI Class Library).
Примітки
↑Архівована копія. Архів оригіналу за 6 грудня 2019. Процитовано 6 грудня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
↑ абАрхівована копія. Архів оригіналу за 11 травня 2021. Процитовано 6 грудня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)