Android Team Awareness Kit (ATAK) — стандартний застосунок тактичної ситуаційної обізнаності Міністерства оборони США для пристроїв Android. Спочатку розроблений Лабораторією авіаційних досліджень ВПС, а нині підтримуваний TAK Product Center, ATAK надає наземним підрозділам спільну операційну картину — відстеження позицій особового складу за GPS, накладення на карту, голосовий і цифровий зв'язок — на захищених пристроях Android.

Сила ATAK як платформи криється в його архітектурі плагінів. Базовий застосунок надає рушій карти, конвеєр даних Cursor on Target (CoT) та UI-фреймворк. Кастомні можливості — інтеграція датчиків, спеціалізовані накладення, візуалізація даних для конкретної предметної галузі, інтеграція з серверними системами — постачаються як Android-плагіни, що встановлюються поруч із ATAK і взаємодіють із ним через визначений API.

Архітектура ATAK: основні компоненти

Протокол Cursor on Target (CoT). CoT — це базовий протокол обміну даними в екосистемі ATAK. CoT event — це XML-повідомлення зі стандартизованою схемою, що описує точку в часі та просторі: хто або що було спостережено, де, коли і з якою достовірністю. CoT events передаються між клієнтами ATAK та між ATAK і серверними системами через UDP multicast (для локальної мережі), TCP/TLS (для TAK Server) або пропрієтарні радіоканали.

Кожен об'єкт на карті ATAK — дружні підрозділи, транспортні засоби, точки інтересу, геозони — представлений як CoT event. Плагіни, що додають об'єкти на карту, роблять це, генеруючи CoT events та вводячи їх у внутрішню шину подій ATAK. Плагіни, що споживають операційну картину, підписуються на CoT events від шини.

Plugin API. ATAK надає свою функціональність плагінам через ATAK Plugin API — набір класів-менеджерів, що забезпечують доступ до рушія карти (MapView — для додавання та маніпуляції елементами карти), конвеєра CoT (CotService — для генерації та споживання подій), комунікаційного рівня (CommsMapComponent — для мережевої зв'язності) та UI-компонентів (PluginLayoutInflater — для впровадження кастомного UI в навігаційну структуру ATAK).

Шари карти. Рушій карти ATAK побудований на OpenMap і підтримує кілька типів шарів: тайлові шари (для офлайн-даних карти — MBTiles, DTED, CIB), векторні накладення (для малювання геометричних фігур — сектори, зони, маршрути) та шари маркерів (для окремих точкових елементів). Плагін може додавати будь-який з цих типів шарів до карти з повним доступом до рендеринг-конвеєра ATAK, включаючи рендеринг з урахуванням висоти для візуалізації рельєфу.

Типи плагінів: дані, накладення та інтеграція датчиків

Плагіни даних підключають ATAK до зовнішніх джерел даних: бази даних логістики, системи бойового порядку, розвідувальні канали. Вони зазвичай запускають фонову службу, яка опитує зовнішню систему або підписується на неї та вводить CoT events на карту ATAK у міру надходження даних. Основна інженерна проблема — обробка нестабільного зв'язку: плагін має буферизувати дані, отримані під час відключення, та відтворювати їх при відновленні зв'язку, не створюючи дублікатів або застарілих елементів на карті.

Плагіни накладень додають спеціалізовану візуалізацію на карту: заходи координації вогневої підтримки (FSCM), повітряні коридори, зони заборони вогню, маршрути евакуації. Вони зазвичай відображаються як векторні накладення з використанням API DeconflictionSolver ATAK для запобігання перекриттю геометрій між собою. Плагіни накладень часто включають UI для введення даних — діалог для визначення та редагування геометричних елементів — який має бути придатним для використання в рукавицях у польових умовах.

Плагіни інтеграції датчиків з'єднують апаратні датчики з ATAK: відеопотоки БПЛА (відображення відео в панелі ATAK з накладенням зони охоплення гімбала на карту), пеленгатори (відображення ліній пеленга), балістичні калькулятори (інтеграція з позицією спостерігача для генерації вогневих завдань). Ці плагіни вимагають пильної уваги до затримки — 800 мс лагу між відображенням на карті та фактичним положенням гімбала у відеопотоці створює операційно значущу плутанину.

Обмеження Android API для тактичного використання

Плагіни ATAK є Android-застосунками і підпадають під обмеження управління живленням Android та життєвого циклу процесів. Фонові служби можуть бути зупинені ОС при нестачі пам'яті — неприпустимо для плагіна, який має доставляти сповіщення в реальному часі незалежно від того, що оператор робить на екрані. Стандартний шаблон — запускати критичну логіку плагіна як Foreground Service (зі сповіщенням), що Android захищає від зупинки.

Термін служби батареї є жорстким обмеженням для тактичних пристроїв. Плагін, що підтримує постійне мережеве з'єднання, безперервно опитує GPS або виконує важкі обчислення у фоні, може розрядити батарею пристрою за 4–6 годин в операційних умовах. Аналіз енергетичного бюджету — вимірювання додаткового споживання батареї, що вноситься плагіном при репрезентативних патернах використання — має бути частиною приймального тестування будь-якого плагіна ATAK.

Міркування щодо офлайн-режиму

Тактичні операції часто відбуваються в районах без стільникового покриття та з обмеженим або відсутнім з'єднанням з TAK Server. Плагін ATAK, що потребує зв'язку для роботи, — це не тактичний інструмент, а гарнізонний інструмент, що просто виявляється запущеним на тактичному пристрої. Кожен плагін ATAK має бути спроектований з явним офлайн-режимом роботи: локальне кешування необхідних даних, локальне зберігання подій, згенерованих у відключений період, та автоматична синхронізація при відновленні зв'язку.

Офлайн-дані карти — растрові тайли, дані висот рельєфу, векторні об'єкти — мають бути попередньо завантажені на пристрій перед розгортанням. TAK Product Center надає інструменти для підготовки пакетів офлайн-карт. Плагін, що додає кастомні об'єкти карти, має вказати, які дані карти йому потрібні і як ці дані попередньо завантажуються, у документації з розгортання.

Ключовий висновок: Найскладніша частина розробки плагінів ATAK — не API, а розуміння операційного робочого процесу. Розробляйте разом з операторами, а не просто для операторів. Плагін, що виглядає коректним у лабораторії, може відмовити в полі, бо вимагає взаємодії двома руками, що неможливо, коли в одній руці оператора рушниця.

Інтеграція з серверами C2 через CoT

ATAK інтегрується з серверними системами C2 через TAK Server — відкриту серверну програму, що федерує потоки CoT events, забезпечує постійне зберігання та уможливлює зв'язок між клієнтами ATAK через WAN-з'єднання. Кастомні серверні системи C2 інтегруються з ATAK шляхом реалізації протоколу федерації TAK Server або запуску CoT-шлюзу, що перекладає між внутрішнім форматом системи C2 та CoT.

Патерн CoT-to-C2 шлюзу є стандартним підходом для інтеграції ATAK з наявними системами C2: шлюз підписується на CoT events від TAK Server, перекладає їх у формат треків системи C2 і вводить в базу даних C2. У зворотному напрямку він підписується на оновлення треків системи C2 і публікує їх як CoT events до TAK Server, де вони з'являються на всіх підключених клієнтах ATAK. Цей підхід не потребує модифікації ані системи C2, ані ATAK — лише компонент шлюзу повинен розуміти обидві моделі даних.