Interoperabilitatea C2 a forțelor terestre este una dintre cele mai dificile probleme din software-ul de apărare. Operațiunile aeriene au Link 16; operațiunile maritime au Link 22 și AIS. Dar C2 al forțelor terestre — schimbul de poziții ale unităților, atribuiri de sarcini, starea logistică și ordinele operaționale între sistemele forțelor terestre naționale într-o coaliție — a fost în mod tradițional o gaură neagră de interoperabilitate, unde sistemul fiecărei națiuni vorbește propriul limbaj de date și partajarea informațiilor necesită transcriere umană. MIP (Multilateral Interoperability Programme) a fost stabilit special pentru a rezolva această problemă, iar MIP4-IES este standardul său actual de implementare.

Ce este MIP și istoria MIP4-IES

MIP este un program multinațional implicând ministere ale apărării și reprezentanți ai industriei software de apărare din peste 20 de națiuni. Misiunea sa este să definească și să mențină modelul de date și specificația serviciului de schimb care permite sistemelor C2 ale forțelor terestre naționale să facă schimb de date operaționale automat — fără transcriere umană — în rețelele de coaliție. MIP funcționează din sfârșitul anilor 1990, evoluând prin multiple versiuni majore pe măsură ce domeniul de aplicare și abordarea tehnică s-au maturizat.

Modelul de date original al programului a fost JC3IEDM (Joint Consultation, Command and Control Information Exchange Data Model) — un model de date relațional cuprinzător care acoperă toate aspectele operațiunilor forțelor terestre, de la ordinea de bătaie până la logistică. JC3IEDM era solid din punct de vedere tehnic, dar practic dificil de implementat: completitudinea și normalizarea sa au făcut chiar și interogările simple complexe, iar interfața de servicii web bazată pe SOAP definită în versiunile timpurii MIP era grea pentru rețelele tactice. MIP4 a abordat aceste probleme prin introducerea unui model de date simplificat (Modelul de Date MIP4, derivat din JC3IEDM dar optimizat pentru uz operațional) și a unei interfețe de servicii moderne (Information Exchange Service, IES) — dându-ne MIP4-IES.

MIP4-IES este în prezent standardul de schimb impus pentru sistemele C2 ale forțelor terestre în programele de achiziție ale majorității națiunilor participante. Noile programe C2 ale forțelor terestre naționale care necesită interoperabilitate de coaliție sunt obligate să implementeze MIP4-IES ca condiție de acceptare. Aceasta face implementarea MIP4-IES o cerință obligatorie, nu o îmbunătățire opțională, pentru orice sistem C2 al forțelor terestre destinat operațiunilor de coaliție.

Modelul de date MIP: BaseObject, Unitate, Echipament, Sarcină

Modelul de date MIP4 este un model orientat pe obiecte — o ierarhie de tipuri de obiecte, fiecare cu atribute definite, care împreună acoperă informațiile necesare pentru interoperabilitatea C2 a forțelor terestre. Rădăcina ierarhiei este BaseObject, din care sunt derivate toate celelalte tipuri de obiecte MIP. Înțelegerea structurii de moștenire BaseObject este primul pas în implementarea modelului de date MIP4.

BaseObject definește atributele comune tuturor obiectelor MIP: un identificator de obiect unic global (OID — un UUID atribuit la creare și persistent pe tot parcursul ciclului de viață al obiectului), identificatorul creatorului obiectului (ce sistem a creat acest obiect), marcaje de timp ale creării și modificării, și un steag de validitate (permițând marcarea obiectelor ca inactive fără ștergere). Fiecare obiect MIP din orice sistem care implementează MIP4 are aceste atribute, formând fundamentul pentru deconflictare și sincronizare între sisteme.

Unitatea este tipul de entitate central în modelul forțelor terestre MIP. Un obiect Unitate reprezintă o unitate organizațională — o companie, batalion, brigadă sau orice alt element al structurii forței militare. Atributele cheie ale Unității includ referința unității părinte (legătura ierarhiei de comandă), desemnarea standard (identificatorul doctrinar al unității, cum ar fi „1 BN 22 INF"), starea operațională (atribuită vs. operațională vs. distrusă) și locația (poziția raportată curentă). Atributul de poziție al obiectului Unitate este o referință la un obiect Locație mai degrabă decât o coordonată inline — un design care suportă atașarea informațiilor de incertitudine, ferestrelor de timp de validitate și istoricului de poziție la datele de locație.

Obiectele Echipament reprezintă articole individuale de materiale — vehicule, sisteme de armament, echipamente de comunicații — și sunt asociate cu Unitățile printr-o relație de Echipare. Obiectele Echipament poartă tipul de platformă, starea operațională (complet capabil pentru misiune, parțial capabil pentru misiune, incapabil pentru misiune) și locația curentă dacă echipamentul este urmărit separat de unitatea sa părintă. Datele de echipament sunt fundamentul calculelor de forță și pregătire în stratul de planificare logistică.

Obiectele Sarcină reprezintă misiunile atribuite — ordinele operaționale care traduc intenția comandantului în atribuiri specifice de unități. Un obiect Sarcină face referire la Unitatea tasată, tipul de sarcină (dintr-o enumerare definită aliniată cu taxonomia doctrinară a sarcinilor NATO), locația obiectivului, timpii (cel mai devreme start, cel mai târziu start, finalizarea necesară) și autoritatea emitentă. Datele de sarcini permit afișarea obiectivelor atribuite pe COP și suportă deconflictarea automată a atribuirilor de misiuni suprapuse.

Gestionarea OID este critică: Identificatorul de obiect unic global (OID) este piatra de temelie a deconflictării MIP4. Fiecare sistem dintr-o federație MIP trebuie să garanteze că OID-urile pe care le atribuie sunt unice global — nu doar unice în cadrul acelui sistem, ci în toată federația. Abordarea standard este să compuneți OID-uri dintr-un prefix de spațiu de nume specific sistemului (atribuit de programul MIP) plus un identificator unic local. Sistemele care generează OID-uri fără o gestionare corectă a spațiului de nume creează eșecuri de deconflictare care sunt dificil de diagnosticat și pot corupe imaginea operațională în toți membrii federației.

Implementarea serviciului MIP4-IES: interfața SOAP și REST

Specificația serviciului MIP4-IES definește interfața de rețea prin care sistemele MIP schimbă date. Specificația originală IES folosea servicii web SOAP (Simple Object Access Protocol) — o alegere rezonabilă pentru era în care a fost specificată, dar una care a îmbătrânit prost. Evoluția actuală MIP4-IES include o legare RESTful care este puternic preferată pentru implementările noi datorită complexității de implementare mai mici și caracteristicilor de performanță mai bune pe legăturile rețelelor tactice.

Modelul de servicii IES se bazează pe replicarea datelor mai degrabă decât pe răspunsul la interogări. Fiecare sistem MIP menține o copie locală a depozitului de date partajat și sincronizează modificările cu sistemele pereche folosind IES. Când un sistem creează, modifică sau inactivează un obiect MIP, publică modificarea prin IES; sistemele pereche primesc modificarea și își actualizează depozitele de date locale în consecință. Acest model de replicare este adecvat pentru condițiile de rețea deconectate și intermitent conectate ale operațiunilor tactice — fiecare sistem are întotdeauna o copie locală a datelor și poate continua să opereze dacă legătura de rețea cu perechile este temporar indisponibilă.

Operațiunile de bază IES sunt: GetByOID (recuperează un obiect specific după OID-ul său), GetByFilter (recuperează toate obiectele care corespund unei expresii de filtrare), PutObject (publică un obiect nou sau modificat la sistemele pereche), și DeleteObject (marchează un obiect ca inactiv). Limbajul de filtrare în GetByFilter este o expresie asemănătoare XPath evaluată față de reprezentarea XML a obiectului MIP — implementatorii ar trebui să genereze șiruri de filtrare programatic din parametri de interogare tastați, mai degrabă decât să le construiască prin concatenare de șiruri, care este predispusă la erori și o potențială vulnerabilitate de injecție.

Procesul de testare și certificare

Implementarea MIP4-IES este validată prin procesul formal de testare a conformității al programului. Testarea conformității se desfășoară la evenimentele Grupului de Lucru MIP (IATE-uri — Interoperability Assessment and Testing Events) unde participanții la program își aduc implementările și desfășoară testări de interoperabilitate bilaterale și multilaterale. Trecerea testării IATE este necesară înainte ca un sistem să poată fi declarat conform MIP4-IES și acceptat în exercițiile de coaliție.

Suita de teste IATE acoperă conformitatea modelului de date (toate tipurile de obiecte și atributele obligatorii sunt implementate corect), conformitatea interfeței de servicii (operațiunile IES se comportă corect pentru toate scenariile de test definite) și comportamentul de deconflictare (gestionarea OID, rezolvarea conflictelor pentru modificările simultane). Pregătirea pentru testarea IATE necesită implementarea unui client de testare care poate genera toate tipurile obligatorii de obiecte MIP, poate efectua toate operațiunile IES și poate raporta rezultatele testelor în formatul cerut de cadrul de evaluare a testelor MIP.

Echipele de dezvoltare care implementează MIP4-IES pentru prima dată ar trebui să bugeteze efort semnificativ pentru pregătirea testelor. Modelul de date MIP este mare, iar asigurarea implementării corecte a tuturor atributelor și relațiilor obligatorii necesită testare sistematică a acoperirii — nu doar testarea căii fericite a celor mai comune tipuri de obiecte. Cele mai frecvente cauze ale eșecului IATE în implementările de prima dată sunt gestionarea incorectă a OID, gestionarea incorectă a marcajelor de timp (marcajele de timp MIP folosesc un format UTC specific care diferă de valorile implicite ale bibliotecilor comune) și implementarea incompletă a modelului de date pentru tipurile de obiecte care apar mai rar în operațiunile de bază dar sunt testate în suita IATE.