EMBEDDED WORLD Det amerikanska stridsplanet F-35 använder en ny sorts mjukvaruarkitektur. Den heter Mosaic och är amerikanska Lynx svar på en vision från amerikanska försvarsdepartmentet. På mässan Embedded World gjorde Lynx sitt bästa för att förklara sin märkliga skapelse för Elektroniktidningen ...
SÅ FUNKAR MOSAICHypervisorn Lynxsecure används för konfigurering. Den delar upp processorn i ”rum” och kommunikationskanaler mellan rummen som kallas ”passager”. Varje rum är i sin tur partitionerat i ”gäster”. Det finns tre sorters gäster: operativsystemslösa tillämpningar kallade LSA:er (Lynx Simple Applications), tillämpningar som körs i Lynx realtidsoperativsystem LynxOS -178 samt tillämpningar som körs i ett Linux genererat i Buildroot. Som passageways används fifo-köer, Ethernet eller emulerade enheter (devices). Mosaic ser liksom den tidigare produkten hypervisorn Lynxsecure till att gäster och rum inte kan störa varandra. |
... utan att ännu ha lyckas fullt ut, får vi erkänna.
Elektroniktidningens preliminära vaga bild är att Mosaic är som en sorts hypervisor under hypervisorer. Mosaic delar upp processorn i ”rum” där varje rum fungerar ungefär som en hypervisor och kan delas upp i gäster i samma mening som begreppet användes i hypervisorvärlden – en gäst kan vara en instans av ett operativsystem eller ren programkod.
Rummen kan i sin tur kommunicera med varandra via kanaler som kallas passageways.
Nyheten om F-35 blev offentlig i samband med att Lynx nu anser att Mosaic nått en sådan mognad att det kan erbjudas kommersiellt.
Mosaic har uppenbarligen någonting gemensamt hypervisorer eftersom Lynx (tidigare Lynuxworks) hypervisor Lynxsecure är en baskomponent i Mosaic. En hypervisor låter oberoende mjukvarukomponenter dela plats på en och samma processor.
I Mosaic har Lynx förverkligat ett koncept kallat ”Mosa” (modular open systems approach) definerat av det amerikanska försvarspertementet Dod (department of defense).
Dod vill kunna bygga system på komponenter som upphandlats separat och utvecklats helt oberoende av varandra. Nyckelorden är flexibilitet och konkurrens. Drivkrafterna är både tekniska och ekonomiska.
Teknikutvecklingen sker mycket snabbt just nu enligt Dod, som snabbt vill kunna anpassa sina system till nya sorters hot. Mjuvarukomponenter i ett Mosa-system ska vara utbytbara. De ska kunna rekonfigureras eller kombineras till nya system. Samma separat utvecklade komponent ska kunna stoppas in i olika system.
Mosa-system ska kunna ha en lång livstid genom att komponenter ska kunna förnyas när de tjänat ut – som celler i en kropp. Lösningar som finns idag ska i framtiden kunna anpassa till och återanvändas som Mosa-komponenter, är tanken.
Denna vision Mosa har Lynx konkretiserat i sin produkt Mosaic (Mosa integration center). Utöver att använda Lynxsecure konkretiserar Lynx luckorna i Mosa med nya lösningar. Komponenterna är trots allt inte totalt oberoende av varandra, utan måste till exempel kunna deklarera sina funktionalitet och kommunicera med varandra på standardiserade sätt. Där har Lynx valt några protkoll (se faktarutan).
För funktionaliteten tog Lynx fram ett eget XML-baserat modelleringsspråk, eftersom möjliga alternativ som SysML och AADL inte har något sätt att tala om processorprimitiv som interrupt och privilegier, vilket behövs här.
Något som Lynx trycker på i sin lansering är att Mosaic-modellen enligt Lynx är ett enklare sätt att bygga tillämpningar på än att göra det mot ett operativsystem.
Tillämpningarna ska dessutom kunnas byggas effektivare. Och dessutom med tvingande policies kring resursanvändning – vilket är en välsignelse när du vill bygga buggfritt och robust.
Systemet blir dessutom motståndskraftig mot cyberattacker av olika slag.
Mosaic kräver för att fungera en processor med hårdvarustöd för virtualisering. Idag stöds multikärnor på arkitekturerna Intel VTx, Arm v8-A, och snart även PPC Qoriq. En av de första konkreta processorer som Mosaic stöder är Xilinx Zynq UltraScale+.
Mosaic har redan ett bredd ekosystem. Utöver processorpartnerna Arm, NXP, Xilinx och Intel finns där bland annat Curtiss-Wright, Harris, Lockheed Martin, Boeing, Bosch, Rohde-Schwartz, Etas, Adacore, Lauterbach – och amerikanska flottan.