O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Szoftverfejlesztés a repülőgépiparban

305 visualizações

Publicada em

Simonyi konferencia 2013

Publicada em: Software
  • Seja o primeiro a comentar

Szoftverfejlesztés a repülőgépiparban

  1. 1. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szoftverfejlesztés a repülőgépiparban Azaz miért nem kell félnünk a szoftverhibáktól repülés közben Horváth Ákos BME-MIT
  2. 2. Motiváció
  3. 3. Repülőgép szoftverek története 0 50 100 150 200 250 300 350 400 MIPS LOC Mbyte/10 Digital links A-310 (1983) A-320 (1988) A-340 (1993) Exponenciális növekedés Mind az A380 és a B 787 több mint 100 millió LOC ~ 100 Mbyte Ref: Subra de Salafa and Paquier
  4. 4. Fejlesztési folyamat jellemzői Egyedi fejlesztési folyamat (jellemzően a V modellre épülve) Repülőgép szoftverfejlesztésre jellemzők  Szigorú tanúsítványozási folyamat o DO-178B (és C)  hogy bebizonyítsa o tanúsítványozással  a rendszer mentes a hibáktól o teljesíti a követelményeket nyomonkövethetőség a követelményektől egészen a bináris kódig! Copyright© CERTIMOT ERC-HU Project
  5. 5. Tanúsítványozás – DO-178B (C)  DO-178B - Software Considerations in Airborne Systems and Equipment Certification „DO-178B (and DO-278) are used to assure safety of avionics software. These documents provide guidance in the areas of SW development, configuration management, verification and the interface to approval authorities”  Az RTCA szabványa (Európán belül ED-12B)  Teljes civil repülőgépipar által elfogadott szabvány biztonságkritikus szoftverek fejlesztésére o ajánlások  1992 (új verzió 178C 2013)  ~120 oldalas dokumentum
  6. 6. Szoftver szintek DO-178B  Level A&B o Fly-by-wire vezérlés o Autópilóta o Adat megjelenítési réteg o Radar o Hajtómű vezérlés o Fekete doboz  Level C&D o Telemetria o Küldetés tervezése és nyomonkövetése o Rendszer életjel figyelési alrendszerek o Valós-idejű adatrögzítés és kiértékelés (szenzor)
  7. 7. Előírások (Objectives) eloszlása a DO-178B 0 5 10 15 20 25 30 35 40 45 Planning Dev. Verif. CM QA Cert. Level A (66) Level B (65) Level C (57) Level D (28)
  8. 8. Előírások (Objectives) eloszlása a DO-178B 0 5 10 15 20 25 30 35 40 45 Planning Dev. Verif. CM QA Cert. Level A (66) Level B (65) Level C (57) Level D (28)
  9. 9. Szoftverfejlesztés DO-178B
  10. 10. Verifikációs és validáció DO-178B Nyomonkövethetőség Verifikáció és Validáció
  11. 11. Szoftver Verifikáció teszteléssel DO-178B # A B C Foo Executed 1 0 0 0 NO 2 0 0 1 NO 3 0 1 0 NO 4 0 1 1 YES 5 1 0 0 NO 6 1 0 1 YES 7 1 1 0 NO 8 1 1 1 YES Coverage Type Minimum # of Test Cases Possible Combinations Statement 1 4 or 6 or 8 IF(C AND( A OR B)) THEN Foo();  Statement Coverage (SC) Level C o Minden kifejezést egyszer végre kell hajtani kifejezés
  12. 12. Szoftver Verifikáció teszteléssel DO-178B # A B C Foo Executed 1 0 0 0 NO 2 0 0 1 NO 3 0 1 0 NO 4 0 1 1 YES 5 1 0 0 NO 6 1 0 1 YES 7 1 1 0 NO 8 1 1 1 YES Coverage Type Minimum # of Test Cases Possible Combinations Statement 1 4 or 6 or 8 Decision 2 4 or 6 or 8 + Any NO IF(C AND( A OR B)) THEN Foo();  Decision Condition Coverage (DC) Level B o Minden feltétel minden kimenetét végre kell hajtani o Minden ki és bemeneti pontot végre kell hajtani feltétel
  13. 13. Szoftver Verifikáció teszteléssel DO-178B # A B C Foo Executed 1 0 0 0 NO 2 0 0 1 NO 3 0 1 0 NO 4 0 1 1 YES 5 1 0 0 NO 6 1 0 1 YES 7 1 1 0 NO 8 1 1 1 YES Coverage Type Minimum # of Test Cases Possible Combinations Statement 1 4 or 6 or 8 Decision 2 4 or 6 or 8 + Any NO MCDC 4 2,3,4, and 6 OR 2,4,5 and 6 IF(C AND( A OR B)) THEN Foo();  Modified Decision Condition Coverage (MCDC) Level A o Minden feltétel minden kimenetét végre kell hajtani o Minden kondíció minden állapotát le kell tesztelni o Minden ki és bemeneti pontot végre kell hajtani o Minden kondícióra be kell látni, hogy befolyásolja a tartalmazó feltételének a döntését kondíció
  14. 14. Nyomonkövethetőség DO-178B  Teljes fejlesztési és üzemeltetési (30+ év) életcikluson keresztül!  Követelményektől akár a byte kódig (Level A)  Visszakövethetőség biztosítása  Karbantarthatóság biztosítása  Hibák visszavezetése (tervezés/implementáció)  Jellemezően használt eszközök o Excel  o Rational RequisitePro o Rational Doors REQ_HLR_SAFE_4_3_2_12: The take-off angle cannot be more than 55° REQ_LLR_TOM_3_67: in the eps_line method the calculated s1 variable represents the angle of attack Nyomonkövethetőség
  15. 15. Fejlesztő eszközök tanúsítványozása (DO-178B)  Szoftver fejlesztő eszközök o Hibákat injektálhat a végső rendszerbe o Ugyan azon követelmények mint a fejlesztési folyamatra  ugyan azon szintre kell verifikálni mint a fejlesztendő rendszert! o Pl., Scade Suite, Matlab Stateflow, Wind River Diab compiler Fejlesztő Eszköz
  16. 16. Verifikációs eszközök tanúsítványozás (DO-178B)  Szoftver verifikációs eszközök o Egyes hibákat nem detektál o Normál működési határok között (pl., bemeneti paraméterek) kell hibamentes működést biztosítani o Pl., statikus kód analízis eszközök ASTRÉE, CAVEAT Fejlesztő Eszköz
  17. 17. Modellvezérelt fejlesztés a repülőgépiparban A Hibatűrő Rendszerek Kutatócsoport projektjeiben © DIANA, CERTIMOT, TRANS-IMA, SecureChange
  18. 18. Modellvezérelt fejlesztés biztonságkritikus rendszerekhez Tradicionális V-Modell Modellvezérelt Fejlesztés MDE ötletek DO-178C • rendszermodellek korai validációja • automatikus kódgenerálás  Csökkentett fejlesztési költségek
  19. 19. Modellek a Fejlesztésben Air Conditioning Management Required Temperature Cabine Temperature Heater UI Feedback In Out Out Out Heater Controller Terminator In In Out Out In
  20. 20. Rendszer modell (Tervezés) Architektúra modell (Tervezés) Komponens modell (Tervezés) Finomítás Finomítás Tervezés és verifikációs dokumentumok (Forráskód, konfigurációs táblák, tesztesetek, hibafák, hibadetektorok) Kódgenerálás Tesztgenerálás Vertikálismodelltranszformációk Komponens Modell (V&V) Architektúra modell (V&V) Rendszer modell (V&V) Modellgenerálás Visszavetítés Modellgenerálás Visszavetítés Modellgenerálás Visszavetítés Horizontális modelltranszformációk Formális módszerek Formális módszerek Modelltranszformációk a szoftverfejlesztésben Modelltranszformációk • tudás transzfer • elméleti eredményekből a gyakorlatba DIANA (EU): ARINC 653 RTOS konfigurációs leíróinak generálása Embraer: HW-SW allokáció és szimuláció Tervezési szabályok Tervezési szabályok Tervezési szabályok
  21. 21. Modell alapú analízis – formális módszerek Rendszer modell Rendszer modellezés Matematikai modell Modell generálás Matematikai analízis Ellentmondások listája Analízis (pl., model checker) Hiba javítása Step 9: -- System Variables (assigments) – vystem_safety_receive16 = false var_system_safety[Temp] = sensorFailed
  22. 22. Modell alapú analízis – formális módszerek Rendszer modell Rendszer modellezés Mathematical model Modell generálás Matematikai analízis Ellentmondások listája Analysis (e.g model checker) Hiba javítása Step 9: -- System Variables (assigments) – vystem_safety_receive16 = false var_system_safety[Temp] = sensorFailed  Program kód helyesség bizonyítása  Model checking  Szimbolikus futtatás  Hibafa analízis  Időzített automaták  DO-178C  elfogadott verifikációs bizonyítékok
  23. 23. TRANS-IMA: Embraer BME-MIT kooperáció
  24. 24. Friss levegő szabályozó Meleg levegő szabályozó Hőmérséklet monitorozás Hőmérsékelt beállítása TRANS-IMA: HW-SW allokáció Pack Controller Zone Controller SW funkciók (kritikus + nem kritikus) 3 System Display AirCond Panel 3 Redundancia Aft Zone Forward Zone Flight DeckAir Conditioning panel System Display Zone Controller Pack Controller Pack Pack Pack Controller
  25. 25. Federált RTOS TRANS-IMA: Funkciók allokálása Pack Controller Zone Controller Aft Zone Forward Zone Flight DeckAir Conditioning panel System Display Zone Controller Pack Controller Pack Pack Pack Controller 3 System Display AirCond Panel 3 1 3 2 7 példányok 4 5 6 8 Partíciók ARINC 653 RTOS Kényszerek Kritikus és nem kritikus funkciók nem mixelhetőek Kritikus funkciók példányai nem mixelhetőek 2 5 5 4 9 8 8 8 Memória igény+ kényszerek További kényszerek • WCET, • ütemezés, etc. • interfészek • adattípusok SW funkciók (kritikus + nem kritikus)
  26. 26. TRANS-IMA: Kommunikációs utak allokálása 1 2 3 7 4 5 6 8 Communication channels Hőmérséklet Nyomás Pára Aft Zone Forward Zone Flight DeckAir Conditioning panel System Display Zone Controller Pack Controller Pack Pack Pack Controller Pack Controller Zone Controller 3 System Display AirCond Panel 3 SW funkciók (kritikus + nem kritikus)  ~300-500 funkció  Komplex hardver architektúra  Automatizált lépések  Szimulálás Simulinkben  Teljes tool-chain megvalósítása
  27. 27. Összefoglaló  MDE = Modern fejlesztési módszer a repülőgépiparban o Megbízható szoftver tervezéséhez • Szigorú külső tanúsítványozást lehetővé tesz o Korai hibadetektálás o Automatikus kódgenerálás o Nyomonkövethetőség  Repülőgépipar, mint szoftvermérnöki munka o Lassan változó terület o Emberekben/tudásban van az érték o Hosszú távon is stabil ipar o Cégek közötti átjárhatóság „támogatott

×