Fram tills nyligen har utvecklare av militära och andra applikationer som kräver hög tillförlitlighet haft begränsade alternativ vid valet av lämpliga realtidsoperativsystem. Funktionskraven har i allt större utsträckning uteslutit OS-fria system, och marknadens krav på snabbare omloppstider och kostnadseffektiva lösningar har stått i vägen för specialanpassade OS. Utvecklarna behöver sålunda certifierbara lösningar som ger högre flexibilitet för att kunna utveckla snabbt, och uppnå mer meningsfulla kostnadsbesparingar genom användning av färdiga system.
Sydafrikabaserade Saab Avitronics tilltalades av de tids- och kostnadsbesparingar som är möjliga med LynxOS-178, ett Posixanpassat realtidsoperativsystem (RTOS) som är Linux-kompatibelt och stöder schemaläggning enligt Arinc 653, allt i syfte att ge hög flexibilitet för utvecklare som vill certifiera flera applikationer inom ramen för DO-178B.
När ingenjörerna på Saab Avitronics började arbeta med företagets senaste paket med integrerade försvarshjälpmedel (Idas, Integrated Defensive Aids Suite) innebar det starten för en ny generation OS-baserade implementeringar.
Programutveckling och certifiering utgör en stor del budgeten inom militära projekt och andra projekt som kräver hög tillförlitlighet. En av de största fördelarna med LynxOS-178 enligt teamet på Saab Avitronics ligger i möjligheten att partitionera programvarans element, inklusive applikationer och gränssnitt, samt att dessa kan certifieras individuellt till de nivåer som krävs.
Ett exempel är standarden RTCA DO-178B, den standard mot vilken FAA kräver att ny flygprogramvara certifieras. Det finns fem certifieringsnivåer, från nivå A – katastrofala konsekvenser – till nivå E i takt med att risknivån går ner från allvarliga konsekvenser till betydande, mindre samt riskfri.
Certifieringsprocessen är förstås mest krävande på högre nivåer. Om programvaran är certifierad enligt nivå A får den användas i alla säkerhetskritiska applikationer. Certifieringsprocessen är dock så tidsödande och arbetsintensiv att produktiviteten kan stanna vid bara 125 rader programkod per manmånad.
Kostnaden för att certifiera ett komplicerat programvarusystem kan uppgå till flera miljoner dollar. Tiden och arbetsinsatsen kan minskas betydligt om de delar av den programvara som kräver certifiering enligt högre nivåer kan avskiljas och certifieras oberoende av andra delar eftersom mindre kritiska delar av programvaran då kan certifieras på lägre nivåer. Det blir också enklare, snabbare och billigare att reagera på krav från individuella kunder på frågor som gäller certifieringsnivåer. Saab Avitronics konstaterade att detta kunde uppnås med hjälp av LynxOS-178 eftersom det systemet uppfyller standarden ARINC 653-1 för tids- och rymdpartitionering och det går att samtidigt exekvera applikationer på olika kritiska nivåer i olika partitioner på samma processor.
Plattformen har dessutom en komplett uppsättning certifierbara Posixgränssnitt. Det innebär en betydande minskning av den tid och arbetsinsats som krävs för att analysera och partitionera programvara för certifiering, enligt de krav som enskilda slutkunder kan ha.
FAA har angett LynxOS-178 som första och enda RTOS som accepterats som återanvändbar programvarukomponent (RSC – Reusable Software Component), något som har stor betydelse för utvecklingen av certifierbar flygprogramvara (figur 1) . Detta eliminerar behovet att omcertifiera operativsystemets kärna vid varje nytt projekt. Certifieringsarbetet kan därmed fokusera nästan helt på applikationsprogrammet. Detta är ett viktigt godkännande, eftersom FAA-riktlinjerna och metodiken för återanvändning av programvara är kända för att vara extremt robusta.
LynxOS har stöd för öppna standarder, något som möjliggjort enkel migrering av Linuxapplikationer till Posix. De flesta av de etablerade RTOS-lösningarna för hög tillförlitlighet kräver investering i märkeslösningar för allt utvecklingsarbete, något som kräver individuella licenser. Eftersom LynxOS-178 är kompatibelt med Linux kan utvecklarna slutföra en stor del av det grundläggande utvecklingsarbetet med verktyg som finns lätt tillgängliga, och sedan enkelt porta till Lynuxworksverktygen, och göra kompileringen specifikt för LynxOS-178, eller ett annat Lynuxworks-OS.
Saab Avitronics programmerare kunde koda och testa programvaran snabbt, med hjälp av GNU-verktyg. Detta var viktigt, eftersom de verktyg som används under utvecklingen lagras på en central server så att programmerarna kan arbeta med samma verktygskedja och centralt lagrade data, och därmed nå högre hastighet och bättre enhetlighet.
Den unixliknande minneshanteringsstrukturen i LynxOS-178 innebar ytterligare möjligheter till snabb och effektiv utveckling. Eftersom oberoende applikationer inte kan skriva över varandras minnesutrymme kan flera utvecklare arbeta parallellt.
Det första projektet hos Saab Avitronics som baserades på LynxOS-178 var en ny generation av Idas (Integrated Defensive Aids Suite). Med Idas får flygbesättningar nödvändig information om omgivningarna från diverse sensorer inklusive radar, laser och UV som varnar för inkommande missiler. Funktioner för hantering av säkerhetsåtgärder, exempelvis remsor och facklor för skydd av flygplanet är också integrerade i en styrenhet för elektronisk krigföring, så kallad EWC, Electronic Warfare Controller.
Huvuddatorn i EWC är Curtiss Wright SCP-122, en enkortsdator av typen Compact PCI med formfaktor 3U. Denna är uppbyggd runt processorn PowerPC750FX och har flera seriella och parallella gränssnitt inklusive RS-232, RS-422, USB och 10/100 Ethernet. Det finns en PMC-webbplats som Saab Avitronics använt för en kommunikationsmodul som hanterar många vanliga gränssnitt för flyg. Dessa innefattar separata MIL-STD-1553B BC och RT dubbla redundanta bussar, två ARINC429-mottagare och en ARINC429-sändare, sex snabba asynkrona seriella bussar typ RS422 samt två RS485-bussar, 16 diskreta indatagränssnitt, 16 diskreta utdatagränssnitt, samt två I2C-bussar som klarar mastring.
Saab Avitronics utvecklade UCM-modulen och drivrutinerna för LynxOS-178 inom företaget, och samarbetade med Lynuxworks vid portningen av operativsystemet till Curtiss Wright SCP-122 SBC. Lynuxworks har ett stort bibliotek med drivrutiner som stöder de flesta vanligt förekommande processorkorten, och ger hög tillförlitlighet i applikationer som innefattar militär verksamhet och flygtrafik. Stöd finns för många processorarkitekturer, däribland x86, Mips, Xscale och Power PC. Power PC-varianten 750 FX hade dock aldrig använts med LynxOS-178 tidigare, så Saab Avitronics fick i samarbete med Lynuxworks ta fram vad som krävdes för ändamålet.
Idasprojektet bevisade att konceptet med Linuxkompatibilitet fungerade. Nu kan företaget välja mellan olika alternativ för realtids-Linux beroende på kund och applikation. Exempelvis kan system utvecklade för flygtrafik kompileras om för andra Linuxkompatibla operativsystem anpassade för marinen.
Ett exempel är BlueCat Linux som är en kommersiell version av operativsystemet, anpassat och avsett för användning i inbyggda system, från mindre konsumentelektronik till storskaliga system med flera processorer. BlueCat Linux är ett Cots-operativsystem som använts i uppdragskritisk militär utrustning och visat sig både stabilt och tillförlitligt.