Fuusiomootori on vain niin hyvä kuin sille syötetty data, eikä sille syötetty data ole lähes koskaan puhdasta. Tutka raportoi kantaman metreinä ja suuntiman milleina; AIS-vastaanotin raportoi sijainnin WGS84-desimaaliskoordinaatteina ja nopeuden solmuina; kuva-aineisto kantaa hankkimisaikaleiman paikallisessa ajassa; SIGINT-sieppaus ei kanna geolokalisaatiota ollenkaan. Ennen kuin mikään korrelaatio, jäljitys tai analytiikka voi käynnistyä, jokainen näistä heterogeenisistä lähdöistä on muotoiltava uudelleen yhdeksi yhtenäiseksi sisäiseksi esitysmuodoksi. Tämä uudelleenmuotoilu on sensoridatan normalisointi, ja sen tavoittelema yksi esitysmuoto on kanoninen datamalli. Tässä artikkelissa käsitellään, kuinka suunnitella kanoninen malli, rakentaa lähdekohtaiset adapterit, jotka mappaavat siihen, normalisoida yksiköt, koordinaatit ja aika, kuljettaa alkuperä jokaisen tietueen läpi ja kehittää skeemaa vuosien ajan ilman siitä riippuvien kuluttajien rikkomista.

Miksi kanoninen datamalli

Naiivin lähestymistavan monisensorijärjestelmään on antaa jokaisen kuluttajan ymmärtää suoraan jokainen lähdemuoto. Fuusiomootori jäsentää tutkaviestejä, sitten AIS-viestejä, sitten kuva-aineiston havaitsemisia ja niin edelleen. Tämä toimii kahdelle tai kolmelle lähteelle ja romahtaa neljännen paineen alla. Jokainen uusi sensorityyppi pakottaa muutoksen fuusiokoodiin, tallennuskerrokseen, COP-renderöijään ja jokaiseen analytiikkaan, joka koskettaa dataa. Kytkentä on kvadraattinen: N lähdettä kertaa M kuluttajaa.

Kanoninen datamalli katkaisee tämän kytkennän. Määrittelet yhden sisäisen skeeman — normalisoidun havainnon — ja vaadit, että jokainen lähde mapaillaan siihen ennen kuin se astuu putkistoon. Fuusiomootori, jälkivarasto ja analytiikkakerros kuluttavat vain kanonista mallia eivätkä koskaan näe natiivisensorin muotoa. Uuden sensorin lisääminen tarkoittaa yhden adapterin kirjoittamista; mikään alavirtainen komponentti ei muutu. Kytkentä laskee N kertaa M:stä N plus M:ksi.

Kanoninen malli ei ole pienin yhteinen nimittäjä -muoto. Se on tarkoituksellisesti rikas ylijoukko: se kantaa kentät, joita mikä tahansa kuluttaja saattaa tarvita — kinematiikka, identiteetti, luottamus, epävarmuus, luokittelu ja alkuperä — vaikka tietty lähde täyttäisi vain osan niistä. Tutkan kontakti ja HUMINT-raportti näyttävät rakenteellisesti identtisiltä kanonisessa mallissa; ne eroavat vain siinä, mitkä kentät ovat läsnä ja kuinka luotettava kukin on.

Normalisoidun havainnon anatomia

Hyvin suunnitellussa kanonisessa havainnossa on viisi kenttäryhmää, joilla kullakin on selkeä tarkoitus.

Identiteetti ja tyyppi. Maailmanlaajuisesti yksilöllinen havainto-ID, entiteettityyppikoodi, joka on johdettu kontrolloidusta taksonomiasta (maaviestiväline, pintaalus, ilma-alus, lähetin, jalkaväkisotilas), ja lähteen ilmoittama identiteetti, kuten jälkinumero, MMSI tai kutsunimi. Tyyppitaksonomia on jaettava kaikkien lähteiden kesken, jotta AIS:n raportoima alus ja tutkan havaitsema alus mappaavat samaan kanoniseen tyyppiin.

Kinematiikka. Sijainti kanonisessa koordinaattiviitekehyksessä, nopeus ja suuntima kanonisissa yksiköissä sekä korkeus tai syvyys tarvittaessa. Jokainen kinemaattinen kenttä kantaa liittyvän epävarmuuden — kovarianssin tai ainakin virheisäteen — koska fuusioalgoritmit eivät voi painottaa havaintoa, jota ne eivät voi rajoittaa.

Aika. Tapahtuma-aika (milloin havainto tapahtui), erillään vastaanottoajasta (milloin putkisto vastaanotti sen). Tapahtuma-aika on kaiken korrelaation perusta; vastaanottoaika on diagnostiikka- ja latenssimittauksia varten. Jokainen aikaleima kantaa epävarmuusrajan.

Luottamus. Normalisoitu luottamuspisteet ja erikseen lähteen oma luotettavuusluokitus. Epäluotettavan lähteen korkean luottamuksen havainto ei ole sama kuin luotetun lähteen kohtalaisen luottamuksen havainto, ja kanonisen mallin on pidettävä nämä kaksi erotettavina.

Alkuperä. Alkuperäinen lähde-ID, sensori-tyyppi, natiivin viestin ID, adapteri ja skeemaversio, joka tuotti tietueen, sekä lähteeltä peritty luokittelu ja varaumat. Alkuperä on se, mikä tekee jokaisesta alavirtaisesta väitteestä jäljitettävää.

Adapterit: missä lähdekohtainen monimutkaisuus asuu

Adapteri on ainoa paikka järjestelmässä, joka ymmärtää sensorin natiivimuodon. Se jäsentää raakaviestin, poimii relevantit kentät, suorittaa kaikki muunnokset, liittää alkuperän ja lähettää kanonisen havainnon. Kaikki lähteessä outoa — sen omistettava binääriasettelu, puuttuvat kentät, epäsäännöllinen päivitystahti, kellon ajautuminen — absorboituu adapterin sisällä eikä vuoda alajuoksulle. Tämä on sama vastuiden erottamisen kuri, johon monisensoriinen fuusioarkkitehtuuri nojaa: fuusioytimen pysyminen geneeriseksi johtuu täsmälleen siitä, että adapterit tekevät likaisen työn.

Adapterien tulisi olla pieniä, itsenäisesti testattavia ja tilattomia mahdollisuuksien mukaan. Tilaton adapteri, joka mappailee yhden syöttöviestin yhteen kanoniseen havaintoon, on triviaali yksikkötestata tallennetuilla näytesviesteillä. Kun adapterin on pidettävä tilaa — esimerkiksi interpoloidakseen sijaintia harvojen päivitysten välillä tai soveltaakseen liukuvaa kellon poikkeaman korjausta — tilan tulee olla eksplisiittinen ja rajattu, ei koskaan implisiittinen kertymä, joka ajautuu pitkän mission aikana.

Skeemamappailu käytännössä

Skeemamappailu on kenttäkohtainen käännös lähteen natiivirakenteesta kanoniseen havaintoon. Vaikea osa on harvoin kentät, jotka mappaavat yksi-yhteen; se on ristiriidat. Lähde saattaa pakata kaksi kanonista käsitettä yhteen kenttään tai jakaa yhden kanonisen käsitteen useisiin. Lähde saattaa käyttää luettelointia, jolla ei ole kanonista vastaavuutta, mikä vaatii hakutaulukon ja dokumentoidun oletusarvon tunnistamattomille arvoille. Lähde saattaa jättää pois kentän, jonka kanoninen malli käsittelee pakolliseksi, pakottaen adapterin joko johtamaan sen, merkitsemään havainnon osittaiseksi tai hylkäämään sen.

Mappailu itsessään tulisi ilmaista deklaratiivisesti mahdollisuuksien mukaan — mappaustaulukko tai konfiguraatio, joka toteaa "natiivikentästä X yksiköllä U tulee kanoninen kenttä Y" — jotta käännös on auditoitavaa eivätkä muutokset vaadi moottorin uudelleenkääntämistä. Imperatiivinen koodi on varattu aidosti monimutkaisille muunnoksille, joita taulukko ei voi ilmaista. Nämä samat heterogeenisuusongelmat ovat laajempien puolustuksen järjestelmien tiedonintegrointihaasteiden juuressa, ja kurinalaistunut mappaamiskerros on yksittäinen tehokkain lieventämiskeino.

Yksiköt, koordinaatit ja aika

Kolme normalisointitehtävää aiheuttaa enemmän hiljaisia, vaikeasti diagnosoitavia virheitä kuin mikään muu fuusioputkistossa: yksikkömuunnos, koordinaattimuunnos ja aikatasaus. Jokainen tuottaa lähdön, joka näyttää uskottavalta mutta on väärä.

Yksiköt. Valitse yksi kanoninen yksikköjärjestelmä — SI on tavanomainen valinta: metrit, metrit sekunnissa, radiaanit tai asteet johdonmukaisesti — ja muunna jokainen saapuva arvo adapterin rajalla. Solmut muuttuvat metreiksi sekunnissa; jalat muuttuvat metreiksi; magneettiset suuntimat muunnetaan todellisiksi paikallista magneettista deklinaatiota käyttäen. Vaara ei ole muunnosaritmetiikassa, joka on triviaalia, vaan muuntamattomassa kentässä, joka lipsahtaa läpi, koska lähteen yksikköä oletettiin eikä tarkistettu. Nopeuskenttä, joka jäi solmuihin ja käsiteltiin metreinä sekunnissa, tuottaa jäljen, joka liikkuu noin kaksinkertaisella todellisella nopeudellaan — jäljen, joka korreloi väärin ja on vaikea havaita, koska se ei ole absurdi, vain virheellinen.

Koordinaatit. Sensorit raportoivat WGS84-geodeettisessa, MGRS:ssä, paikallisissa tangenttitasohileissä tai alustasuhteisissa kehyksissä. Kaikki on muunnettava yhdeksi kanoniseksi viitekehykseksi ennen korrelaatiota. Käytä testattua geodesikirjastoa käsin tehdyn trigonometrian sijaan; datumien eroavuus tai merkkivirhe koordinaattimuunnoksessa tuo sijaintivirheitä kymmeniä metrejä, mikä on operatiivisesti merkittävää ja notorisoituneen vaikeaa jäljittää takaisin lähteeseen.

Aika. Muunna jokainen aikaleima yhteen auktoritatiiviseen kantaan — GPS-synkronoitu UTC on standardi — ja tallenna se tapahtuma-aikana, ei saapumisaikana. Perinnäissensoreilla, joilla on vapaasti käyvät tai paikalliset kellot, tarvitaan lähdekohtaisia poikkeaman korjaustaulukoita, ja jokaisen aikaleiman on kannettava eksplisiittinen epävarmuusraja. Havainnot, joiden aikaleiman epävarmuus ylittää määritetyn kynnyksen, tulisi merkitä tai hylätä ennen kuin ne saavuttavat korrelaattorin, koska ajallisesti väärin merkitty havainto liittyy väärään objektiin ja korruptoi jäljen, johon se liittyy.

Keskeinen oivallus: Tuhoisimmat normalisointivirheet eivät ole niitä, jotka kaatavat putkiston — ne korjataan välittömästi. Ne ovat hiljaisia: muuntamaton yksikkö, koordinaatidatumien ristiriita, kiinteällä poikkeamalla viivästynyt aikaleima. Tulos on uskottava, järjestelmä raportoi terveenä, ja fuusioidut jäljet ovat hiljaa väärin. Validoi jokainen muunnettu arvo fyysisen uskottavuuden alueiden suhteen adapterin rajalla, ja saat kiinni nämä virheet yhdessä lähteessä, joka ne tuotti, sen sijaan että debuggaisit korruptoitunutta operatiivista kuvaa.

Alkuperä: fuusioitujen tulosten vastuullisuus

Kun fuusioitu jälki esitetään komentajalle, kysymys, joka lopulta seuraa, on "mistä tämä tuli?" Jos vastaus on "fuusiomoottorin väittämä", se ei riitä järjestelmälle, joka informoi kohdentamis- tai akkreditointipäätöksiä. Alkuperä on todistusketju, joka vastaa kysymykseen asianmukaisesti: tämä jälki rakennettiin näistä kolmesta havainnosta, jotka tuottivat nämä kaksi sensoria, normalisoidut näillä adapteriversioilla, näinä tapahtumaaikoina, kantaen nämä luokittelut.

Alkuperä on liitettävä normalisoinnissa, ei rekonstruoitava myöhemmin. Jokainen kanoninen havainto kantaa lähde-ID:nsä, sensori-tyyppinsä, natiivin viestin ID:nsä, adapterin ja skeemaversion sekä lähteen luokittelun ja varaumat. Kun fuusiomootori yhdistää havaintoja jäljeksi, se kerryttää niiden alkuperää sen sijaan, että hylkäisi sen, joten jäljen yhdistelmäluokittelu on syötteidensä rajoittavin ja sen lähdeluettelo on niiden unioni. Tietotarve valvotaan sitten kyselyhetkellä tämän yhdistelmäluokittelun perusteella — ei koskaan ingestoinnin aikaan, koska tietueen lopullinen herkkyys riippuu siitä, mihin se myöhemmin yhdistetään. Tämä on sama vastuullisuuskuri, johon kurinalaistunut sanomajono puolustuksen dataputkistossa nojaa tehdäkseen jokaisen tapahtuman jäljitettäväksi sen siirtyessä vaiheiden välillä.

Skeeman kehittäminen ilman kuluttajien rikkomista

Kanoninen malli on pitkäaikainen sopimus. Uusia sensorityyppejä saapuu, uudet attribuutit tulevat relevanteiksi, ja mallin on absorboitava ne pakottamatta järjestelmän jokaisen kuluttajan synkronoitua uudelleenkäyttöönottoa. Kuri, joka tekee tämän mahdolliseksi, on lisäävä, versioitu muutos.

Lisäävä tarkoittaa, että uudet kentät ovat aina valinnaisia ja oletusarvoisia, joten kuluttaja, joka ei ymmärrä uutta kenttää, yksinkertaisesti sivuuttaa sen. Olemassa olevia kenttiä ei koskaan käytetä uudelleen eikä poisteta paikan päältä — kentän uudelleenkäyttö on yksittäinen nopein tapa hiljaa korruptoida kuluttaja, jota ei päivitetty. Versioitu tarkoittaa, että jokainen havainto merkitään skeemaversiolla, jonka alla se tuotettiin, ja jokainen kuluttaja ilmoittaa vaatimansa vähimmäisskeemaversion. Tuottaja voi alkaa lähettää uutta valinnaista kenttää heti kun se lisätään; kuluttajat omaksuvat sen omassa aikataulussaan.

Kun aidosti rikkova muutos on väistämätön, se esitellään uutena pääskeemaversiona, joka toimii rinnakkain vanhan kanssa. Tuottajat lähettävät molemmat, tai käännösshim alentaa uudet tietueet vanhan muotoon, kunnes jokainen kuluttaja on siirtynyt; vasta sitten vanha versio poistetaan käytöstä. Tämä rinnakkaisajokuri on mauttomaa, mutta se mahdollistaa sensorverkon jatkuvan kasvun — samalla tavalla kuin hyvin suunniteltu sotilaallinen IoT-sensorverkko ottaa käyttöön uusia solmutyyppejä — ilman putken pysäyttämistä koordinoitua katkaisua varten.

Skeeman versiointi maksaa myös testauksen osalta. Koska jokainen tietue kantaa versionsa ja alkuperänsä, toistamiskyky voi imeä tallennettua raakadataa, ajaa sen uuden adapterin tai skeemaversion läpi ja verrata kanonista lähtöä tunnettuun perustasoon. Adapterien muutokset validoidaan aitoja tallennettuja syötteitä vastaan ennen kuin ne koskevat live-dataa, ja regressiot ilmenevät toistamisessa eikä kentällä.

Rakenna kanoninen mallisi todistetun perustan päälle

Corvus HEAD imee heterogeeniset sensorisyötteet, normalisoi ne kanoniseksi, versioiduksi datamalliksi ja kuljettaa alkuperän operatiiviseen kuvaan asti — jotta jokainen fuusioitu jälki on johdonmukainen, vastuullinen ja akkreditoitava.

Tutustu Corvus HEAD:iin → Varaa esittely

Tämän analyysin ovat valmistelleet Corvus Intelligencen insinöörit, jotka rakentavat missiokriittisiä tiedonintegrointija fuusiojärjestelmiä puolustus- ja hallintoorganisaatioille. Lue lisää tiimistämme →