Úskalí certifikačního procesu leteckého softwaru Pitfalls of aviation software certification process Ing. Vladimír Michalík, Ph.D. MESIT přístroje spol. s r.o., email: v.michalik@msp.mesit.cz, Ing. Jan Vaculín MESIT přístroje spol. s r.o., email: j.vaculin@msp.mesit.cz Resumé: Článek popisuje některé problémy spojené s certifikací leteckého softwaru Evropským úřadem pro civilní letectví EASA dle norem ED-12B/DO-178B z hlediska organizační, časové, personální a materiální náročnosti. V článku jsou uvedeny praktické zkušenosti získané z vývoje a certifikace leteckého softwaru ve středně velké výrobní společnosti. The article describes the some problems associated with certification of aviation software by the European Civil Aviation Authority (EASA) in accordance with ED-12B/DO-178B standard in terms of organization, time, personnel and material demands. The article presents the practical experiences gained from the development and certification process of aviation software in medium-sized manufacturing company. 1. Uvedení do problematiky Při vývoji zařízení používaných v civilním letectví jsou možné různé typy vzájemných vztahů mezi finalistou (uživatelem výstupu vývoje), zadavatelem vývoje a vývojovou organizací. Těmito vztahy je dán i vztah uvedených subjektů k certifikační autoritě (UCL, EASA, FAA). V této souvislosti se setkáváme s: DOA - oprávnění organizace k vývoji a projektování (Design Organisation Approval) POA - oprávnění organizace k výrobě (Production Organisation Approval) Projekční organizace je organizace odpovědná za projektování výrobků, letadlových částí a zařízení nebo jejich změn nebo oprav. Projekčním organizacím jsou vydávána oprávnění podle Části 21 po prokázání jejich způsobilosti. Podle rozsahu rozlišujeme projekční organizace na: Velká organizace" organizace, která je žadatelem/držitelem Typového osvědčení, Doplňkového typového osvědčení nebo Typového osvědčení pro zvláštní účely vydané -149-
agenturou, nebo která projektuje nové výrobky, nebo projektuje významné změny a opravy výrobků a Malá organizace organizace, která projektuje nevýznamné změny a nevýznamné opravy výrobků (Pozor, nezaměňovat s velikostí organizace z hlediska počtu pracovníků či množství aktivit.) [2]. 2. Organizace vývoje leteckého softwaru Při současnému stavy techniky je značná část leteckých zařízení vybavena softwarem, který podléhá taktéž certifikačnímu procesu, který je minimálně stejně složitý, jako proces certifikace samotného hardwaru. Obr. 1: Příklad postupu při vývoji software[3] Vývojem software se zabývá jak Velká organizace", ale taktéž Mala organizace" na základě dohody DOA - DOA. V tomto případě zákazník Velká organizace" držitel certifikátu DOA, pověřená projekční organizace, řídí dodavatele držitele certifikátu DOA, Malou organizaci. Dohledem nad vývojem softwaru je pověřen Compliance Verification Engineer (CVE), který -150-
zastupuje pověřenou projekční organizaci a komunikuje s dodavatelem softwaru i s certifikačním orgánem. A B C D E F G Složky Components Dokumentace (Příručka) Documentation (Handbook) Organizace Organization Certifikace Certification Zachování letové způsobilosti Continued Airworthiness Funkce nezávislé kontroly průkazů vyhovění Independent checking function Nezávislé monitorování Independent monitoring Průběžný dohled a návazné audity Surveillance and audit follow-ups Systém zabezpečení projekce Design Assurance System Tabulka 1. Složky systému zabezpečení projekce [1] 1. Příručka Manual 2. Postupy Documented procedures Prvky Elements 1. Struktura, funkce a odpovědnosti Structure, roles & responsibilities 2. Osoby, kvalifikace a vzdělávání Personnel, competences and training 3. Funkce letové způsobilosti Office of Airworthiness functions 4. Vybavení a příslušenství Facilities and equipment 5. Dodavatelé/Partneři Suppliers - Vendors/Partners 1. Řízení konfigurace a značení Configuration control and marking 2. Ověřování shody Conformity inspection 3. TC, Opravy, Modifikace a ETSO TC, Repairs, Modifications, ETSO 1. Změny typového návrhu Changes to type design 2. Opravy Repairs 3. Koordinace projekce a výroby Co-operation between design and production 4. Informace a instrukce Information and instructions 5. Poruchy, nesprávné činnosti a závady Failures, malfunctions and defects 6. Vedení záznamů Data retention 1. Osoby Personnel 2. Kvalifikace Competences 3. Nezávislost Independence 1. Zajištění jakosti Quality assurance 1. Průběžný dohled Surveillance Organizace vývoje leteckého softwaru ve středně velké výrobní společnosti, avšak v malé projekční organizaci, pokud vyvíjí software na základě dohody DOA-DOA, spočívá především: -151-
v efektivní komunikaci se zadavatelem a s CVE ve stanovení a poskytnutí nutných finančních, personálních a technických prostředků v zajištění odborného školení personálu ve vhodném použití a přizpůsobení nástrojů pro management konfigurace, tak aby všechny dokumenty a software vytvářené v průběhu celého životního cyklu softwaru byly v řízeném stavu a aby tento stav byl aktuální a kdykoliv dokladovatelný. Hlavní úskalí certifikovaného projektu jsou následující: Časová náročnost Personální náročnost Materiální a finanční nároky 3. Časová náročnost Nevýhodou malé nebo střední výrobní společnosti, malé projekční organizace, která obvykle nedisponuje velkým počtem kvalifikovaného personálu se širší specializací, je větší časová náročnost procesu vývoje certifikovaného softwaru. Časovou náročnost vývoje certifikovaného softwaru lze sice tzv. kvalifikovaně odhadnout na základě náročnosti úkolu a množství prostředků a také lze naplánovat i termíny stěžejních milníků certifikace, ale tento odhad je většinou velmi optimistický a jakékoliv neshody vzniklé v procesu vývoje můžou časovou náročnost výrazně zvýšit. Skutečně potřebný čas výrazně ovlivňují nároky procesu zpracování dokumentace požadované procesem certifikace. Jsou to například dokumenty dle kapitol 11.1 až 11.20 standartu RTCA DO-178B [5], check listy všech dokumentů a procesů, záznamy z procesů a porad, hlášení nedostatků, změnová řízení, atd., což představuje stovky dokumentů. Snížení časové náročnosti lze dosáhnout například zakoupením zpracovaných vzorů stěžejních dokumentů, vypracováním vlastních šablon a formulářů či spoluprací s externisty, což zase může neúměrně zvýšit náklady samotného vývoje. 4. Personální náročnost 4.1 Minimální počet osob Personální náročnost vývoje certifikovaného softwaru je dána nejen náročností samotného úkolu, ale především požadavky dané normou ED-12B/DO-178B na nezávislost organizační -152-
struktury. Příklad minimalistické, certifikačním orgánem uznatelné organizační struktury pro vývoj leteckého softwaru v malé společnosti, je uveden na následujícím obrázku. Obr. 2: Organizační struktura týmu [4] Z obrázku je zřejmé, že jednotlivé funkce představují i minimalistické personální obsazení, které zajišťuje nezávislost útvaru jakosti (který dohlíží na celý proces), managementu konfigurace a verifikace. Tedy, nelze například sloučit funkce IVE s SDE (Independent Verification Engineer / Software Design Engineer). To však znamená, že kromě osob, které jsou na svých pozicích trvale (Chief Executive Officer, Technical Manager a Quality Manager) je pro potřeby vývoje certifikovaného softwaru nutné vyčlenit minimálně 6 osob. Ke zvýšení personální náročnosti přispívá v některých případech také nutnost zdvojení počtu osob na klíčových pozicích. Ze strategických důvodů (pro případ pracovní neschopnosti osoby či jejího odchodu ze společnosti) je vhodné na pozici Software Design Engineer vyčlenit alespoň dvě osoby. Na pozici Independent Verification Engineer je vhodné vyčlenit více osob dle druhu prováděných testů (statické testy softwaru, dynamické testy softwaru, bench testy, atd.). 4.2 Jazykové znalosti Dalším stěžejním požadavkem na personál je dobrá znalost úředního leteckého (anglického) jazyka, který je používán certifikačním orgánem a v letectví všeobecně. V malé ale i střední výrobní společnosti je někdy složité najít osoby, které mají vedle svých vynikajících odborných znalostí také potřebné jazykové znalostí. Z tohoto důvodu je vhodné dokumenty -153-
předkládané certifikačnímu orgánu tvořit nejen v jeho úředním jazyce, ale také zajistit i jejich odborný a autorizovaný překlad do mateřského jazyka personálu. Ještě lepším řešením je tvorba dvojjazyčných dokumentů, které se v rámci změnového řízení lépe udržují. 5. Materiální a finanční náročnost Materiální vybavení potřebné k vývoji certifikovaného leteckého softwaru tvoří nezanedbatelnou položku v cenových nákladech. Pokud malá výrobní společnost řeší první projekt vývoje certifikovaného softwaru ve své historii, pak můžou být tyto náklady velmi zatěžující. K vývoji softwaru není potřebná jenom výpočetní technika a softwarové vývojové prostředí. Také je nutné: vlastnit nebo zakoupit nástroje pro verifikaci softwaru kvalifikované pro použití dle normy ED-12B/DO-178B (statická a dynamická analýza softwaru), případně kvalifikovat stávající nástroje a vytvořit zkušební postupy, přípravky a zařízení a přizpůsobit management konfigurace požadavkům norem ED-12B/DO-178B, ale taktéž zajistit udržitelnost použité konfigurace prostředí životního cyklu softwaru. Pro hrubou představu se finanční náklady na zajištění výše zmiňovaného pohybují v částkách jednotek milionů Kč. 6. Závěr Hlavním úkolem výrobního podniku podnikajícího v leteckém oboru je zajištění jak stávajícího, tak i budoucího výrobního programu. Aby bylo možné tyto cíle naplnit je nutná nejen jeho certifikace jako výrobní organizace, ale také jako projekční organizace. Tento článek nastiňuje složitost a náročnost procesu vývoje leteckého software ve středně velkém výrobním podniku, který je současně certifikovanou malou projekční organizaci. Literatura a zdroje [1] ÚŘAD PRO CIVILNÍ LETECTVÍ ČESKÉ REPUBLIKY, Auditní dotazník pro projekční organizace dle Části 21, Praha: Úřad pro civilní letectví, 2007, 130 stran. [2] ÚŘAD PRO CIVILNÍ LETECTVÍ ČESKÉ REPUBLIKY, CAA-TI-011-5/99, POSTUPY: Pro získání oprávnění k projektování výrobků, letadlových částí a zařízení nebo jejich změn a oprav v souladu s ustanoveními Nařízení komise (ES) č. 1702/2003, Praha: Úřad pro civilní letectví, 2006, 35 stran -154-
[3] MESIT PŘÍSTROJE SPOL. S R.O., Software Development Plan for the LUN 5722 Cabin Temperature Control Unit, Uherské Hradiště: MESIT přístroje spol. s.r.o., 2013, 62 stran [4] MESIT PŘÍSTROJE SPOL. S R.O., Plan for Software Aspects of Certification for the LUN 8110 Fuel Gauge System Electronic Unit, Uherské Hradiště: MESIT přístroje spol. s.r.o., 2012, rev. 13/05/2014, 63 stran [5] RTCA INC., RTCA DO178B, Software Considerations in Airborne Systems and Equipmemnt Certification, Washington: RTCA, Inc., 1992, 85 stran, taktéž známe jako EUROCAE, ED 12B, Software Considerations in Airborne Systems and Equipment Certification, Paris: EUROCAE, 1992s -155-