Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Légi irányítás Esettanulmány Készítette: Szilágyi Jenő Forrás:

Hasonló előadás


Az előadások a következő témára: "Légi irányítás Esettanulmány Készítette: Szilágyi Jenő Forrás:"— Előadás másolata:

1 Légi irányítás Esettanulmány Készítette: Szilágyi Jenő E-mail: szjenoko@inf.elte.hu szjenoko@inf.elte.hu Forrás:

2 Air Traffic Control2 Alapprobléma Az FAA a 90-es években le akarta cserélni a nemzeti légi irányítási rendszert. Az FAA a 90-es években le akarta cserélni a nemzeti légi irányítási rendszert. Ennek során minden akkori informatikai problémával szembesültek (több millió soros program, elosztva több száz gépen, beágyazva a legmodernebb hardverekbe) Ennek során minden akkori informatikai problémával szembesültek (több millió soros program, elosztva több száz gépen, beágyazva a legmodernebb hardverekbe) A biztonság nagyon fontos (emberélet) A biztonság nagyon fontos (emberélet)

3 Air Traffic Control3 Légi irányítás (Air Traffic Control) Hard real time (valósidejű eredmények) Hard real time (valósidejű eredmények) A biztonság kritikus szempont (emberélet) A biztonság kritikus szempont (emberélet) Elosztott (sok irányító együttműködése) Elosztott (sok irányító együttműködése) A rendszert végül nem vezették be, de implementálták és bebizonyosodott, hogy megfelel a minőségi követelményeknek A rendszert végül nem vezették be, de implementálták és bebizonyosodott, hogy megfelel a minőségi követelményeknek

4 Air Traffic Control4 Irányítás Földi irányítás (ground control): repülőtéren való földi mozgás koordinálása Földi irányítás (ground control): repülőtéren való földi mozgás koordinálása Tornyok (tower): repülőtér légterében való irányítás, henger alakú térrész Tornyok (tower): repülőtér légterében való irányítás, henger alakú térrész Útközi irányító központok (en route center): az ország légterét 22 területre osztották Útközi irányító központok (en route center): az ország légterét 22 területre osztották

5 Air Traffic Control5 Példa (Key West → Washington DC) Földi irányítás: Key West ground contorl Földi irányítás: Key West ground contorl Torony: Key West tower Torony: Key West tower Útközi irányítás: Miami Center, Jacksonville Center, Atlanta Center, Washington Center Útközi irányítás: Miami Center, Jacksonville Center, Atlanta Center, Washington Center Torony: Dulles tower Torony: Dulles tower Földi irányítás: Dulles ground control Földi irányítás: Dulles ground control

6 Air Traffic Control6 Project Initial Sector Suite System (ISSS): a 22 útközi irányítóközpontra kiterjedő új hardver- és szoftverrendszer. Initial Sector Suite System (ISSS): a 22 útközi irányítóközpontra kiterjedő új hardver- és szoftverrendszer. Az ISSS megszerezte mindhárom terület (útközi irányítóközpontok, irányítótornyok, földi irányítás) fejlesztésének jogát, így sok komponenst megoszthattak (pl.: rádió rendszer interfésze, repülő adatbázis interfész, …) Az ISSS megszerezte mindhárom terület (útközi irányítóközpontok, irányítótornyok, földi irányítás) fejlesztésének jogát, így sok komponenst megoszthattak (pl.: rádió rendszer interfésze, repülő adatbázis interfész, …) Advanced Automation System (AAS): a rendszer újításainak összessége Advanced Automation System (AAS): a rendszer újításainak összessége Végül visszavonták a megbízást, és egy olcsóbb terv vette át a helyét, de tanulságai miatt érdemes elemezni Végül visszavonták a megbízást, és egy olcsóbb terv vette át a helyét, de tanulságai miatt érdemes elemezni

7 Air Traffic Control7 Architecture Business Cycle (ABC) Megrendelő FAA Végfelhasználó légiirányítók Fejlesztők Technikai környezet Ada prg. Nyelv Elosztott programozás Fejlesztői tapasztalatok Hibatűrés Üzenetalapú rendszer Követelmények (minőség) Tervező Architektúra Rendszer ISSS Tervezőt befolyásoló tényezők

8 Air Traffic Control8 Követelmények és minőség Szinte állandó rendelkezésre állás: egy év alatt a rendszer összesen max. 5 percig lehet elérhetetlen. Szinte állandó rendelkezésre állás: egy év alatt a rendszer összesen max. 5 percig lehet elérhetetlen. Magas teljesítmény: sok repülőgépet kell kezelnie (2440), anélkül, hogy bármelyiket elveszítené. A hálózat kommunikációs csatornáinak gyorsnak és kiszámíthatónak kell lenniük. Magas teljesítmény: sok repülőgépet kell kezelnie (2440), anélkül, hogy bármelyiket elveszítené. A hálózat kommunikációs csatornáinak gyorsnak és kiszámíthatónak kell lenniük.

9 Air Traffic Control9 Követelmények és minőség Nyitottság: képes befogadni a külső szoftverkomponenseket Nyitottság: képes befogadni a külső szoftverkomponenseket A részfeladatok különálló kezelhetősége (dekompozíció) A részfeladatok különálló kezelhetősége (dekompozíció) A hardver és szoftver könnyű lecserélhetősége, módosíthatósága A hardver és szoftver könnyű lecserélhetősége, módosíthatósága Külső rendszerekhez való kapcsolódás lehetősége Külső rendszerekhez való kapcsolódás lehetősége

10 Air Traffic Control10 Követelmények és minőség Minden szektorból 1-4 irányító központ érhető el Minden szektorból 1-4 irányító központ érhető el Minden központban legalább két ember van (radar figyelő, adat figyelő) Minden központban legalább két ember van (radar figyelő, adat figyelő)

11 Air Traffic Control11 Rendszer kapacitásai 210 konzol / útközi irányító központ 210 konzol / útközi irányító központ 400-2440 repülőgép párhuzamos kezelése 400-2440 repülőgép párhuzamos kezelése 16-40 radar kezelése 16-40 radar kezelése 1 millió soros Ada kód 1 millió soros Ada kód

12 Air Traffic Control12 ISSS feladatai Radar célpont jelentés megszerzése a Host Computer System-től (HCS: a repülési adatok feldolgozásáért felelős) Radar célpont jelentés megszerzése a Host Computer System-től (HCS: a repülési adatok feldolgozásáért felelős) Szétszórja a jelentéseket a konzolok között és a konzolok kiválasztják, mely jelentést kell megjeleníteniük Szétszórja a jelentéseket a konzolok között és a konzolok kiválasztják, mely jelentést kell megjeleníteniük Konfliktus helyzetek figyelése Konfliktus helyzetek figyelése Interfész a Host felé Interfész a Host felé Adatok folyamatos figyelése (network management) Adatok folyamatos figyelése (network management)

13 Air Traffic Control13 ISSS feladatai Adatok mentésének támogatása (később visszajátszás) Adatok mentésének támogatása (később visszajátszás) Ablakozó rendszer a konzolon (figyelni az eltakart adatokra) Ablakozó rendszer a konzolon (figyelni az eltakart adatokra) Csökkentett mód futtatása meghibásodás esetén Csökkentett mód futtatása meghibásodás esetén

14 14 Architektúra

15 Air Traffic Control15 Fizikai nézet Host Computer System (HCS): Host Computer System (HCS): Pozíció információk (konzolon jelenik meg) Pozíció információk (konzolon jelenik meg) Repülési adatok (nyomtatószalagra, néhány a konzolra is) Repülési adatok (nyomtatószalagra, néhány a konzolra is) Biztonsági okokból kettő van belőle Biztonsági okokból kettő van belőle Közös konzol: pozíció, kapcsolódó adatok, repülési terv, … Közös konzol: pozíció, kapcsolódó adatok, repülési terv, … Local Communications Network (LCN): az ISSS elsődleges hálózata (4db bridzsekkel összekötött „token ring”-ből áll) Local Communications Network (LCN): az ISSS elsődleges hálózata (4db bridzsekkel összekötött „token ring”-ből áll) LCN interface units (LIU-H): a HCS-t és az LCN-t összekötő interfész LCN interface units (LIU-H): a HCS-t és az LCN-t összekötő interfész

16 Air Traffic Control16 Fizikai nézet Kiemelt Közvetlen Elérésű Radar Csatorna (Enhanced Direct Access Radar Chanel): ha elvesznek a Host-tól származó adatok, közvetlen nyers adatokat szerez a radartól Kiemelt Közvetlen Elérésű Radar Csatorna (Enhanced Direct Access Radar Chanel): ha elvesznek a Host-tól származó adatok, közvetlen nyers adatokat szerez a radartól Backup Communications Network (BCN): TCP/IP protokollt használó Ethernet hálózat Backup Communications Network (BCN): TCP/IP protokollt használó Ethernet hálózat Monitor & Control konzol: a hálózatokhoz rendelt ellenőrző konzol, mely speciális szoftvereket tartalmaz Monitor & Control konzol: a hálózatokhoz rendelt ellenőrző konzol, mely speciális szoftvereket tartalmaz

17 Air Traffic Control17 Fizikai nézet Tesztelő és szimulációs alrendszerek: új hardverek tesztelésére, új szoftverek szimulációjára (betanítás) Tesztelő és szimulációs alrendszerek: új hardverek tesztelésére, új szoftverek szimulációjára (betanítás) Központi processzorok: adatok mentésére és visszajátszására Központi processzorok: adatok mentésére és visszajátszására

18 Air Traffic Control18 ISSS fizikai nézete HCS A HCS B EDARC LIU-H M&C Consoles Bridge Central Processor Test and Training Subsystem Bridge M&C Consoles Common Consoles Common Consoles Common Consoles Common Consoles ESI LIU-C LIU-H >

19 Air Traffic Control19 Modul dekompozíciós nézet Computer Software Configuration Items (CSCI): az ISSS szoftver moduljainak összessége Computer Software Configuration Items (CSCI): az ISSS szoftver moduljainak összessége CSCI elemei: CSCI elemei: 1. Display Management: konzolokon való megjelenítés 2. Common System Services (CSS): hasznos közös szolgáltatások az ATC szoftverekben 3. Mentést, Elemzést, Visszajátszást támogató modul 4. National Airspace System Modification: a Host-ban helyezkedik el 5. IBM AIX operációs rendszer

20 Air Traffic Control20 Modul dekompozíciós nézet Az egyes modulok sugallnak bizonyos optimalizálási taktikákat: „Szemantikus koherencia” (jól definiált, nem túlterhelt elemek szétosztása a CSCI-nek) „Szemantikus koherencia” (jól definiált, nem túlterhelt elemek szétosztása a CSCI-nek) „Absztrakt közös szolgáltatások”: CSS-nél „Absztrakt közös szolgáltatások”: CSS-nél „Record/Playback”: tesztelhetőséget segíti „Record/Playback”: tesztelhetőséget segíti „előre látható változások”, „modulok generalizálása”, „interfész stabilitásának fenntartása”: minden CSCI-nél alkalmazandó „előre látható változások”, „modulok generalizálása”, „interfész stabilitásának fenntartása”: minden CSCI-nél alkalmazandó

21 Air Traffic Control21 Folyamat nézet Alkalmazás ~ folyamat Alkalmazás ~ folyamat Kommunikáció az alkalmazások között: üzenetküldés Kommunikáció az alkalmazások között: üzenetküldés A biztonság érdekében egy alkalmazás több másolatát ún. processor-group-okban többszörösen tároljuk (operational unit = primari address space (PAS) + standby address space (SAS)). A biztonság érdekében egy alkalmazás több másolatát ún. processor-group-okban többszörösen tároljuk (operational unit = primari address space (PAS) + standby address space (SAS)). Ezzel nem rendelkező alkalmazások alkotják a funcional group-okat Ezzel nem rendelkező alkalmazások alkotják a funcional group-okat

22 Air Traffic Control22 Folyamat nézet Kliens-szerver modell: kliens (kérés) → szerver (válasz) Kliens-szerver modell: kliens (kérés) → szerver (válasz) Operational unit: a PAS-nak értesítenie kell a SAS-okat az állapotváltozásról Operational unit: a PAS-nak értesítenie kell a SAS-okat az állapotváltozásról Functional group: csak a saját állapotát tartja karban Functional group: csak a saját állapotát tartja karban PAS meghibásodása esetén: PAS meghibásodása esetén: 1. Az egyik SAS előlép PAS-sá 2. Az új PAS helyreállítja a kapcsolatot a klienssel (rákérdez, történt-e kérés a meghibásodáskor) 3. A PAS helyére új SAS töltődik 4. Az új SAS feltöltése friss információkkal

23 Air Traffic Control23 Folyamat nézet Új operational unit létrehozása: Új operational unit létrehozása: 1. Input-források azonosítása 2. Mely operational unit-ok igényelnek output-ot 3. Az erőforrás igénylési gráfban való elhelyezés és körmentesség ellenőrzése (dead lock elkerülése) 4. Üzenetek megtervezése az adatforgalomhoz 5. Állapot adatok azonosítása (PAS → SAS) 6. Állapot adatok felosztása → háózatra 7. Üzenettípus definiálása 8. Teendők megtervezése hiba esetére 9. Adatok konzisztenciájának fenntartása 10. Elemi lépések gyors végrehajtásának biztosítása 11. Adatmegosztás és –lock-olás megtervezése

24 Air Traffic Control24 Folyamat nézet Sugallt optimalizálási taktikák: Sugallt optimalizálási taktikák: „állapot újraszinkronizálás” „állapot újraszinkronizálás” „shadowing” „shadowing” „aktív redundancia” „aktív redundancia” „removal from service” „removal from service”

25 Air Traffic Control25 Kliens-szerver nézet Módosíthatósági taktikák: Módosíthatósági taktikák: 1. „interfész stabilitásának fenntartása” 2. „component replacement” 3. „definiált protokollokhoz való ragaszkodás”

26 Air Traffic Control26 Kód nézet Programozási nyelv: Ada Programozási nyelv: Ada Dekompozíció: package, moduláris programozás (több fájlba való csoportosítás) Dekompozíció: package, moduláris programozás (több fájlba való csoportosítás) Konkurencia kezelés: task Konkurencia kezelés: task Absztrakció, adatelrejtés, újrahasznosítás: package Absztrakció, adatelrejtés, újrahasznosítás: package

27 Air Traffic Control27 Szoftver-réteg nézet Osztott memória ASS alkalmazás Címtér modulok Alkalmazás szubrutinok Csomagok Osztott memória CAS AIX Kernel-kiterjesztés AAS szolgáltatások Automatic Broadcast Manager Device Driver-ek TCP/IP AIX Kernel 1. 2. 3. 4. 5.

28 Air Traffic Control28 Szoftver-réteg nézet Az alsó rétegek (2.): Az alsó rétegek (2.): Kis méretű (biztonsági szempontok miatt), Kis méretű (biztonsági szempontok miatt), C-ben íródott szoftverek (a Kernel-lel való kompatibilitás miatt). C-ben íródott szoftverek (a Kernel-lel való kompatibilitás miatt). A Kernel címterében futnak, A Kernel címterében futnak, az esetleges hibákat a Kernel-en belül kell kezelni. az esetleges hibákat a Kernel-en belül kell kezelni.

29 Air Traffic Control29 Szoftver-réteg nézet Felsőbb rétegek (3.): Felsőbb rétegek (3.): Az operációs rendszer kiterjesztései. Az operációs rendszer kiterjesztései. Ada-ban íródott, Ada-ban íródott, nagyobb méretű programok. nagyobb méretű programok. A hibákat a Kernel-en kívül kell lekezelni. A hibákat a Kernel-en kívül kell lekezelni.

30 Air Traffic Control30 Szoftver-réteg nézet Legfelső réteg (4.): Legfelső réteg (4.): Applikációs szint: itt helyezkednek el az alkalmazások Applikációs szint: itt helyezkednek el az alkalmazások Local Availability Manager: irányítja az alkalmazások inicializációját, leállítását, rendelkezésre állását. Kapcsolattartás más processzorok menedzsereivel, valamint a globális menedzserrel. Local Availability Manager: irányítja az alkalmazások inicializációját, leállítását, rendelkezésre állását. Kapcsolattartás más processzorok menedzsereivel, valamint a globális menedzserrel. Internal Time Syncronisation: az ISSS processzorainak óráit szinkronizálja Internal Time Syncronisation: az ISSS processzorainak óráit szinkronizálja

31 Air Traffic Control31 Hibakezelés nézet Ez a nézet azt mutatja, hogy a hibák hogyan detektálhatók, izolálhatók, és a rendszer miként állítható helyre. Ez a nézet azt mutatja, hogy a hibák hogyan detektálhatók, izolálhatók, és a rendszer miként állítható helyre. A detektálás és helyreállítás fokozatai a hibakezlési hierarchiában: A detektálás és helyreállítás fokozatai a hibakezlési hierarchiában: Hiba detektálása a keletkezés helyén, vagy alsóbb szinten Hiba detektálása a keletkezés helyén, vagy alsóbb szinten Alsóbb szinten keletkezett kivétel kezelése Alsóbb szinten keletkezett kivétel kezelése Diagnózis, helyreállítás, jelentés, vagy kivétel dobás Diagnózis, helyreállítás, jelentés, vagy kivétel dobás

32 Air Traffic Control32 Hibakezelés nézet A hiba kezelésének szintjei: A hiba kezelésének szintjei: Fizikai (hálózat, processzor, I/O) Fizikai (hálózat, processzor, I/O) Operációs rendszer Operációs rendszer Valósidejű környezet Valósidejű környezet Alkalmazások Alkalmazások Local Availability Management szintje Local Availability Management szintje Group Availability Management szintje Group Availability Management szintje Global Availability Management szintje Global Availability Management szintje System monitor and control System monitor and control

33 Air Traffic Control33 Hibakezelés nézet Hibadetektálás: a hierarchia minden szintjén Hibadetektálás: a hierarchia minden szintjén Helyreállítás: a szoftverhierarchia minden szintjén. Helyreállítás: a szoftverhierarchia minden szintjén. Availability Manager-ek: táblázat alapján Availability Manager-ek: táblázat alapján PAS: működési státusz alapján 4 helyreállítási típus PAS: működési státusz alapján 4 helyreállítási típus A helyreállításban segítséget nyújt a redundancia: A helyreállításban segítséget nyújt a redundancia: Hálózati hardver szinten (LCN, BCN, bridge) Hálózati hardver szinten (LCN, BCN, bridge) Processzor hardver szinten (processor group) Processzor hardver szinten (processor group) Szoftver szinten (operational unit többszörös tárolása) Szoftver szinten (operational unit többszörös tárolása)

34 Air Traffic Control34 A nézetek egymáshoz való viszonya A különböző nézetekben megjelennek más nézetek elemei. Ezek teremtenek összefüggést közöttük. Feltérképezve a kapcsolatokat, lesz teljes rálátásunk az architektúrára. A különböző nézetekben megjelennek más nézetek elemei. Ezek teremtenek összefüggést közöttük. Feltérképezve a kapcsolatokat, lesz teljes rálátásunk az architektúrára. Példák összefonódásokra: Példák összefonódásokra: Modul dekompozíciós nézet elemei: CSCI Modul dekompozíciós nézet elemei: CSCI A CSCI alkalmazásokból épül fel A CSCI alkalmazásokból épül fel Az alkalmazások elemei a folyamat és a kliens-szerver nézetnek Az alkalmazások elemei a folyamat és a kliens-szerver nézetnek Az alkalmazásokat Ada-ban implementálták (programok, package-k), ami a kód nézetben jelenik meg Az alkalmazásokat Ada-ban implementálták (programok, package-k), ami a kód nézetben jelenik meg

35 Air Traffic Control35 Adaptációs adatok Konfigurációs fájl Konfigurációs fájl Ezen keresztül paraméterezhető a program Ezen keresztül paraméterezhető a program Helyi sajátosságok, változások gyors, egyszerű kezelésére Helyi sajátosságok, változások gyors, egyszerű kezelésére Generikus programozás (paraméterezhetőség, template) Generikus programozás (paraméterezhetőség, template) Hátrányok: Hátrányok: Új parancs felvétele → interpreter Új parancs felvétele → interpreter Inkonzisztencia kezelése nem automatizálható Inkonzisztencia kezelése nem automatizálható Állapottér növekedése → nehezebb tesztelhetőség Állapottér növekedése → nehezebb tesztelhetőség

36 Air Traffic Control36 Absztrakt közös szolgáltatások Template-ek alkalmazása (Ada) Template-ek alkalmazása (Ada) Példa (PAS, SAS): Példa (PAS, SAS): Ugyanazzal a template task-kal megvalósítva, ami egy végtelen ciklust tartalmaz, melyben a lehetséges eseményeket kezeli le a lehetséges állapotok függvényében Ugyanazzal a template task-kal megvalósítva, ami egy végtelen ciklust tartalmaz, melyben a lehetséges eseményeket kezeli le a lehetséges állapotok függvényében A korábban leírt funkciókat látja el A korábban leírt funkciókat látja el A programozónak nem kell tudnia: A programozónak nem kell tudnia: az üzenetkezelésről az üzenetkezelésről hogy az alkalmazás hibatűrő-e hogy az alkalmazás hibatűrő-e Ezek felsőbb tervezési szinteken kerülnek elő Támogatja a módosíthatóságot Támogatja a módosíthatóságot „megelőzni az előre látható változásokat” taktika „megelőzni az előre látható változásokat” taktika

37 Air Traffic Control37 Absztrakt közös szolgáltatások „szemantikus koherencia”: absztrakt szinten mindegyik alkalmazás ugyanazt csinálja „szemantikus koherencia”: absztrakt szinten mindegyik alkalmazás ugyanazt csinálja „modulok generalizálása” „modulok generalizálása” Ha az interfészeket és protokollokat a template részévé tesszük akkor megvalósulnak a következő taktikák is: Ha az interfészeket és protokollokat a template részévé tesszük akkor megvalósulnak a következő taktikák is: „interfész stabilitás” „interfész stabilitás” „ragaszkodjunk a definiált protokollokhoz” „ragaszkodjunk a definiált protokollokhoz”

38 Air Traffic Control38 Hogyan feleljünk meg az ATC rendszer minőségi követelményeinek? CélMegvalósításTaktika Magas rendelkezésre állás Hardver- és szoftver redundancia Állapot reszinkronizáció, aktív redundancia, … Magas teljesítmény Elosztott multiprocesszorok Introduce concurrency Nyitottság Interfészek, rétegek Absztrakt közös szolgáltatások MódosíthatóságTemplate

39 39 Itt a vége, fuss el véle!


Letölteni ppt "Légi irányítás Esettanulmány Készítette: Szilágyi Jenő Forrás:"

Hasonló előadás


Google Hirdetések