Interoperacyjność C2 sił lądowych jest jednym z najtrudniejszych problemów w oprogramowaniu obronnym. MIP (Multilateral Interoperability Programme) to wielonarodowy program angażujący ministerstwa obrony i przedstawicieli przemysłu oprogramowania obronnego z ponad 20 krajów. Jego misja: definiowanie i utrzymywanie modelu danych i specyfikacji usługi wymiany, która umożliwia krajowym systemom C2 sił lądowych automatyczną wymianę danych operacyjnych — bez ludzkiej transkrypcji — przez sieci koalicyjne.

Czym jest MIP i historia MIP4-IES

Oryginalny model danych programu — JC3IEDM — był technicznie solidny, lecz praktycznie trudny do implementacji. MIP4 rozwiązał te problemy, wprowadzając uproszczony model danych i nowoczesny interfejs usługi (Information Exchange Service, IES) — dając nam MIP4-IES. MIP4-IES jest mandatowym standardem wymiany dla systemów C2 sił lądowych w większości uczestniczących krajów.

Model danych MIP: BaseObject, Unit, Equipment, Task

BaseObject definiuje atrybuty wspólne dla wszystkich obiektów MIP: globalnie unikalny identyfikator obiektu (OID — UUID), identyfikator twórcy obiektu, znaczniki czasu tworzenia i modyfikacji oraz flagę ważności. Unit to centralny typ podmiotu w modelu sił lądowych MIP. Equipment reprezentuje poszczególne pozycje materiałowe — pojazdy, systemy uzbrojenia, sprzęt łączności. Task reprezentuje przydzielone misje — rozkazy operacyjne przekładające zamiar dowódcy na konkretne przydziały jednostek.

Zarządzanie OID jest krytyczne: Każdy system w federacji MIP musi gwarantować, że przydzielane przez niego OID są globalnie unikalne. Standardowe podejście polega na komponowaniu OID z prefiksu przestrzeni nazw specyficznego dla systemu (przydzielanego przez program MIP) plus lokalnie unikalnego identyfikatora. Systemy generujące OID bez właściwego zarządzania przestrzenią nazw tworzą awarie dekonfliktacji trudne do zdiagnozowania.

Implementacja usługi MIP4-IES: interfejsy SOAP i REST

Model usługi IES oparty jest na replikacji danych, a nie na żądaniu-odpowiedzi. Każdy system MIP utrzymuje lokalną kopię wspólnego magazynu danych i synchronizuje zmiany z systemami partnerskimi przy użyciu IES. Podstawowe operacje IES: GetByOID, GetByFilter, PutObject i DeleteObject. Język filtrów w GetByFilter jest wyrażeniem podobnym do XPath ocenianym względem reprezentacji XML obiektów MIP.

Proces testowania i certyfikacji

Zgodność MIP4-IES jest weryfikowana przez formalny proces testowania zgodności na wydarzeniach IATE (Interoperability Assessment and Testing Events). Przejście testowania IATE jest wymagane przed zadeklarowaniem zgodności systemu z MIP4-IES i przyjęciem do ćwiczeń koalicyjnych. Zestaw testów obejmuje zgodność modelu danych, zgodność interfejsu usługi i zachowanie dekonfliktacji. Zespoły deweloperskie implementujące MIP4-IES po raz pierwszy powinny zaplanować znaczące wysiłki na przygotowanie do testów.