Technológiai áttekintés Csertán György Pataricza András Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanusítás 2 Célkitűzés Technológiai alapok bemutatása nagymegbízhatóságú biztonságkritikus rendszerek fejlesztéséhez Célterületek autóipar repülőipar vasút biztonságkritikus ipari vezérlő eszközök 3 1
Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanusítás 4 Idővezérelt architektúrák Cél: elosztott számítógépes architektúra nagymegbízhatóságú biztonságkritikus valós-idejű rendszerekhez nagy alkalmazások felosztása közel önálló, jól definált felületekkel rendelkező részekre 5 Idővezérelt architektúrák Előnyök architektúra tervezés = felület tervezés előre definiált, mindenki által ismert, egyértelmű kommunikáció beépített hibatűrés hardver redundáns csomópontok duplikált kommunikációs csatornák szofver algoritmikus hibatűrés 6 2
Idővezérelt architektúrák összeállíthatóság (composability) csomópontok független fejleszthetősége, stabil szolgáltatások már a funkciók hozzáadása előtt, csomópontok konstruktív integrációja replika determinizmus skálázhatóság 7 Idővezérelt architektúrák Hátrányok rugalmatlan architektúra előre definiált kommunikáció előre definiált végrehajtás érzékenység szigorú kommunikáció és végrehajtás szinkronizáció WCET becslés kell WCTT becslés kell késleltetett válaszidő aszinkron eseményekre 8 Idővezérelt architektúrák Idővezérelt kommunikációs protokoll determinisztikus, időben megtörténő üzenetküldés hibatűrő óra szinkronizáció erős hiba izoláció kieső csomópontok konzisztens diagnosztizálása Példák TTP TTCAN FlexRay TTEthernet (prototípus fázisban) 9 3
Idővezérelt architektúrák TTP/C alapműködés: időosztásos többszörös hozzáférés (TDMA) TTA cluster CNI CNI CNI CNI node1 node2 node3 node4 node1 node2 node3 node4 TDMA round cluster cycle 10 Idővezérelt architektúrák Kétszintű tervezési módszertan (jelenleg): üzenet ütemezés taszk ütemezés Előny taszk újrafelhasználhatóság javul taszk önállóan tesztelhető Hátrány szub-optimális allokáció és ütemezés 11 Idővezérelt architektúrák Csomópontok Host A Host B Host C Host D Csomópont Hoszt számítógép Kommunikációvezérlő 12 4
Idővezérelt architektúrák Kommunikáció Host A Host B Host C Host D Replikált kommunikációs csatorna 13 Idővezérelt architektúrák Működés Taszk Taszk Host A Host B Host C CNI Host D Kommunikáció-vezérlő Bus Guardian 14 Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanúsítás 15 5
Robosztus partícionálás Cél: alkalmazások szétválasztása térben időben függetlenség elérése egymásra hatások minimalizálása hibaterjedés behatárolása hiba behatárolási régiók (fault containment region) SIL szinteknek megfelelés tanúsítás gyorsítása / egyszerűsítése 16 Robosztus partícionálás Időben idővezérelt protokoll idővezérelt architektúra bus guardian 17 Robosztus partícionálás Térben elosztott architektúra több csomópont csomópontonként egyszerű operációs rendszer memória területek szétválasztása időszeletek biztosítása érzékelők / beavatkozók szétválasztása 18 6
Robosztus partícionálás Partitions External Network (e.g. CAN) Sensors/Actuators DECOS Network Safety- Critical Job EEE-Support Layer Non-Safetycritical Job Non-Safetycritical Job EEE-Support Layer EEE-Sup. Layer Core Core Operating Operating System System (COS) (COS) Encapsulated Execution Environment 'EEE' (TC 1796) Communication Layered TTP - LTTP Controller (L-Flexray) Virtual Gateway(s) HFTL *... Physical Gateway(s)...... HW ((un)packing, Fault-Tolerance 2-channel Layer -comp.) HFTL I/O EEE-Sup. Layer Protected Shared Memory FPGA Board (Xilinx Virtex4) 19 Robosztus partícionálás Többszörözés (replikálás) hibatűrés alapja hiba behatárolási régió csomópont megoldás taszkok többszörözése másolatok külön csomópontra üzenetek többszörözése külön-külön buszon átvitel protokoll végzi a szavazást 20 Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanusítás 21 7
Kódgenerálás Cél: rendszerfejlesztés gyorsítása nincs szükség kézi kódolásra kódminőség javítása ellenőrzött modellből indul ki tanusítás egyszerűbbé tétele ha a kódgenerátor tanusított a modell és a kód közötti egyezőség megbízható kódolással kapcsolatos verifikáció elhagyható 22 Kódgenerálás Egy 10 KLOC alkalmazás DO178B level B szerinti átlagos tervezési, fejlesztési és ellenőrzési ideje: 16 mérnökév 90-es évek végén a repülőipari projektek: 46%-a túllépte a költségkereteket 35%-a késett A repülőipari projektek ideje többnyire: ellenőrzés: 28% kódolás: 14% követelmények: 12% 23 Kódgenerálás Kiindulás: modell alapú fejlesztés jól definiált szemantikájú modell nincs szükség kézi kódolásra végrehajtható modell szimulációs ellenőrzéshez 24 8
Kódgenerálás Kézi Hagyományos automatikus Életciklus Megtakarítás 0% -20% Tanusítható kódgenerátor -50% Terv ellenőrzéssel -60% becsült (forrás: Esterel Technologies) 40 50 100 25 Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanusítás 26 Integrált, automatizált V&V Cél: ellenőrzés a fejlesztőeszközökbe integrálva ellenőrzés a fejlesztéssel párhuzamosan hibák mielőbbi felfedezése ellenőrzési folyamat automatizálása szabványokból származtatott tevékenységek ellenőrzési lépések folyamatának koordinálása kézi működtetési hibák megelőzése 27 9
Integrált, automatizált V&V Autóipar ISO/IEC 61508, ISO WD 26262 Repülőipar DO 178B, DO 160D, MIL-STD-461E Ipari vezérlés IEC 61511, IEC 61131, EMC-directive 89/336/EC Egyéb: EN 50129, IEC 62061, IEC 60601 28 Integrált, automatizált V&V Ellenőrzés folyamata Control Info (workflow, V&V tool spec. etc.) Test Bench Management Data & Documents Repository V&V- Tools AUT (Artefact Under Test) 29 Integrált, automatizált V&V Segíti a tervezőt az ellenőrzési (V&V) folyamatban Követi a biztonsági szabványok-at (e.g. IEC 61508, e.g. EN 50129, ISO 26262, e.g. DO178) Definiál egy (követelmény vezérelt) workflow-t a moduláris biztonsági esetek generálásához Segít a V&V tevékenységek azonosításban és végrehajtásában Képez egy keretrendszert a V&V képességek (módszerek, eszközök) integrálásához 30 10
Integrált, automatizált V&V Tartalmazza az ellenőrzési terveket (V-plan) az egyes rendszer elemekhez Összegyűjti a dokumentált V&V tevékenységek eredményeit egy tárolóban biztonsági esetek létrehozása céljából 31 Funkcionális biztonsági életciklus IEC 61508 (általános), ISO WD 26262 (autóipar) 1 2 3 4 5 Concept Overall scope definition Hazard and risk analysis Overall safety requirements Safety requirements Allocation Általános V&V keretrendszer használata 6 Overall operation and maintenance planning 7 Overall planning Overall operation and maintenance planning 8 Overall installation and commissioning planning 9 Safety-related systems: E/E/P E S Realisation (see E&E&P E S safety lifecycle) 10 Safety-related systems: E/E/P E S Realisation 11 External risk reduction facilities Realisation 12 13 Overall installation and commissioning Overall safety validation Back to appropriate Overall safety lifecycle phase 14 Overall operation, Maintenance and repair 15 Overall modification and retrofit 16 Decommissioning or disposal 32 Tartalom Idővezérelt architektúrák Robosztus partícionálás Kódgenerálás Integrált, automatizált V&V Tanusítás 33 11
Tanusítás Cél: annak igazolása, hogy a termék megfelel a vonatkozó biztonsági szabványoknak ISO WD 26262: Megoldás: biztonsági esetek IEC 61508 Automotive sector ISO/IEC 62061: Machinery sector IEC 6150 8 Standalone Alrendszerek és komponensek IEC 61508 megfelelőség IEC 61511: Process sector IEC 61513: Nuclear sector Szektor megvalósítások 34 Moduláris biztonsági esetek (1) Biztonsági eset: érvelés a hatóság meggyőzésére, hogy a termék eléggé biztonságos Általános biztonsági eset: bármely termék, amely az architektúrára épül biztonságos az architektúra biztonságosságának megmutatása újra használható az architektúrára épülő termék tanusításánál Az általános eset EN 50129:2003- re épül (szoftver szempontjából egyszerűbb mint IEC 61508) 35 Moduláris biztonsági esetek (2) Alkotóelemek Biztonsági esetek az alapvető architekturális szolgáltatásokra (az idővezérelt architektúrára már elvégezték mások) Biztonsági esetek az egyes csomópontokra (azok megbízhatóságának igazolására) Biztonsági esetek az alkalmazásokra 36 12
Tanusítás Tipikus felépítés 37 Összefoglalás Idővezérelt architektúra a hibatűrésért és a biztonságkritikusságért Robosztus partícionálás a szétválaszthatóságért Kódgenerálás a hatékonyságért és tanúsíthatóságért Automatizált, integrált V&V a minőségért Tanusíthatóság a szabványoknak való megfelelésért 38 13