Szoftverfejlesztés a repülőgépiparban
-
Upload
akos-horvath -
Category
Software
-
view
243 -
download
1
Transcript of Szoftverfejlesztés a repülőgépiparban
![Page 1: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/1.jpg)
Budapesti Műszaki és Gazdaságtudományi EgyetemMé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 ÁkosBME-MIT
![Page 2: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/2.jpg)
Motiváció
![Page 3: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/3.jpg)
Repülőgép szoftverek története
MIPS LOC Mbyte/10 Digital links0
50
100
150
200
250
300
350
400A-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
![Page 4: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/4.jpg)
Fejlesztési folyamat jellemzőiEgyedi 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
![Page 5: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/5.jpg)
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éreo ajánlások
1992 (új verzió 178C 2013) ~120 oldalas dokumentum
![Page 6: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/6.jpg)
Szoftver szintek DO-178B
Level A&Bo Fly-by-wire vezérléso Autópilótao Adat megjelenítési rétego Radaro Hajtómű vezérléso Fekete doboz
Level C&Do Telemetriao Küldetés tervezése és
nyomonkövetéseo Rendszer életjel figyelési alrendszereko Valós-idejű adatrögzítés és kiértékelés
(szenzor)
![Page 7: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/7.jpg)
Előírások (Objectives) eloszlása a DO-178B
Planning Dev. Verif. CM QA Cert.0
5
10
15
20
25
30
35
40
45Level A (66)
Level B (65)
Level C (57)
Level D (28)
![Page 8: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/8.jpg)
Előírások (Objectives) eloszlása a DO-178B
Planning Dev. Verif. CM QA Cert.0
5
10
15
20
25
30
35
40
45Level A (66)
Level B (65)
Level C (57)
Level D (28)
![Page 9: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/9.jpg)
Szoftverfejlesztés DO-178B
![Page 10: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/10.jpg)
Verifikációs és validáció DO-178B
Nyomonkövethetőség
Verifikáció és Validáció
![Page 11: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/11.jpg)
Szoftver Verifikáció teszteléssel DO-178B
# A B C Foo Executed1 0 0 0 NO2 0 0 1 NO3 0 1 0 NO4 0 1 1 YES5 1 0 0 NO6 1 0 1 YES7 1 1 0 NO8 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 CoMinden kifejezést egyszer
végre kell hajtani
kifejezés
![Page 12: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/12.jpg)
Szoftver Verifikáció teszteléssel DO-178B
# A B C Foo Executed1 0 0 0 NO2 0 0 1 NO3 0 1 0 NO4 0 1 1 YES5 1 0 0 NO6 1 0 1 YES7 1 1 0 NO8 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 BoMinden feltétel minden
kimenetét végre kell hajtanioMinden ki és bemeneti
pontot végre kell hajtani
feltétel
![Page 13: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/13.jpg)
Szoftver Verifikáció teszteléssel DO-178B
# A B C Foo Executed1 0 0 0 NO2 0 0 1 NO3 0 1 0 NO4 0 1 1 YES5 1 0 0 NO6 1 0 1 YES7 1 1 0 NO8 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 42,3,4, and 6 OR 2,4,5
and 6
IF(C AND( A OR B))THEN Foo(); Modified Decision Condition Coverage
(MCDC) Level Ao Minden feltétel minden kimenetét végre
kell hajtanio Minden kondíció minden állapotát le kell
tesztelnio Minden ki és bemeneti pontot végre kell
hajtanio Minden kondícióra be kell látni, hogy
befolyásolja a tartalmazó feltételének a döntését
kondíció
![Page 14: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/14.jpg)
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
Nyom
onkövethetőség
![Page 15: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/15.jpg)
Fejlesztő eszközök tanúsítványozása (DO-178B) Szoftver fejlesztő eszközök
o Hibákat injektálhat a végső rendszerbeo 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
![Page 16: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/16.jpg)
Verifikációs eszközök tanúsítványozás (DO-178B)
Szoftver verifikációs eszközöko Egyes hibákat nem detektálo Normál működési határok között (pl., bemeneti
paraméterek) kell hibamentes működést biztosítanio Pl., statikus kód analízis eszközök ASTRÉE, CAVEAT
Fejlesztő Eszköz
![Page 17: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/17.jpg)
Modellvezérelt fejlesztés a repülőgépiparban
A Hibatűrő Rendszerek Kutatócsoport projektjeiben
© DIANA, CERTIMOT, TRANS-IMA, SecureChange
![Page 18: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/18.jpg)
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
![Page 19: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/19.jpg)
Modellek a Fejlesztésben
Air Conditioning Management
Required Temperature
Cabine Temperature
Heater
UI Feedback
InOut
OutOut
Heater Controller
Terminator
In
In
Out
Out
In
![Page 20: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/20.jpg)
Rendszermodell
(Tervezés)
Architektúramodell
(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ális modelltranszform
á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ésModellgenerá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ásaEmbraer: HW-SW allokáció és szimuláció
Tervezési szabályok
Tervezési szabályok
Tervezési szabályok
![Page 21: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/21.jpg)
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 = falsevar_system_safety[Temp] = sensorFailed
![Page 22: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/22.jpg)
Modell alapú analízis – formális módszerek
Rendszer modell
Rendszer modellezés
Mathematicalmodel
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 = falsevar_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
![Page 23: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/23.jpg)
TRANS-IMA: Embraer BME-MIT kooperáció
![Page 24: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/24.jpg)
Friss levegő szabályozó
Meleg levegő szabályozó
Hőmérséklet monitorozásHőmérsékelt
beállítása
TRANS-IMA: HW-SW allokáció
PackController
ZoneController
SW funkciók (kritikus + nem kritikus)
3
System Display
AirCondPanel
3
Redundancia
Aft Zone
ForwardZone
Flight DeckAir
Conditioning panel
System Display
Zone Controller
Pack Controller
Pack
Pack
Pack Controller
![Page 25: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/25.jpg)
FederáltRTOS
TRANS-IMA: Funkciók allokálása
PackController
ZoneController Aft Zone
ForwardZone
Flight DeckAir
Conditioning panel
System Display
Zone Controller
Pack Controller
Pack
Pack
Pack Controller
3
System Display
AirCondPanel
3
1
3 2
7
példányok
4
5 6
8
Partíciók
ARINC 653RTOS
Kényszerek
Kritikus és nem kritikus funkciók nem mixelhetőekKritikus funkciók
példányai nem mixelhetőek
2
5
5
4
9
8
8
8Memória igény+
kényszerek
További kényszerek• WCET,• ütemezés, etc.• interfészek• adattípusok
SW funkciók (kritikus + nem kritikus)
![Page 26: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/26.jpg)
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áraAft Zone
ForwardZone
Flight DeckAir
Conditioning panel
System Display
Zone Controller
Pack Controller
Pack
Pack
Pack Controller
PackController
ZoneController
3
System Display
AirCondPanel
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
![Page 27: Szoftverfejlesztés a repülőgépiparban](https://reader035.fdocuments.net/reader035/viewer/2022070511/58a3be541a28ab62218b6375/html5/thumbnails/27.jpg)
Ö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áso Automatikus kódgeneráláso Nyomonkövethetőség
Repülőgépipar, mint szoftvermérnöki munkao Lassan változó területo Emberekben/tudásban van az értéko Hosszú távon is stabil iparo Cégek közötti átjárhatóság „támogatott