Composants COTS et sûreté de fonctionnement
Transcription
Composants COTS et sûreté de fonctionnement
astrium RIS TECHNICATOME Atelier thématique n°5 Mardi 18 mars 2003 — LAAS-CNRS Toulouse AIRBUS Composants COTS et sûreté de fonctionnement Jean Arlat [[email protected]] LI S EDF Electricité de France technicatome THOMSON-CSF Components and Systems Concerned I Components of a computer system • • • • • Application: Oracle, Flight Control,… Middleware: CORBA, DCOM, OLE,… Operating System: Unix, Windows, Linux,… Microkernel: Chorus, LinxOS, PalmOS,… Processor: Pentium, PowerPC,… Application Components: No Reuse “COTS” Application Appl. Appl. Application Middleware MW Executive Executive Appl. Appl. Executive Middleware MW Executive Middleware Executive Hardware I Embedded control systems I Large-scale distributed systems: I SW development tools (simulators, compilers, etc.) Web servers, ground stations, etc. How to Build Dependable Systems from Undependable COTS Components? I Level of Confidence sufficient -> Integrate I Level of Confidence not sufficient: -> Discard! -> Fault containment mechanisms & service degradation -> Fault containment mechanisms & service continuity [Depending on the degree of redundancy] Related Architectural Solutions Type Type of of COTS COTS Dependability Dependability Objectives Objectives Fault containment & service degradation Fault containment & service continuity (d° redundancy) Control by independent functions Hardware Hardware Kernel,OS, Kernel,OS, Compiler Compiler Middleware Middleware Series of protections, watchdog timer, coded processor, “safety bag”, etc. Insulation or communication by integrity checks “IMA” Partitioning Chorus & Firewalling MetaCORBA filtering,... wrappers compilation Wrapping Possible, but ? Decorrelation of activity of identical components Asynchr. redundant channels (Elektra) Diversified components Application Application B777 Applicable but ? 1 compil. ≠ options N/A ≠ Compilers NVP, RB, NSCP,... Contrôle par fonctions indépendantes Safety Bag: Architecture Elektra (Alcatel (Alcatel Austria) Austria) Poste de commande VIO VIO VIO : ControlVideo Controller Commande Surveillance Nœud Votrics Nœud Votrics Votrics Nœud Interlocking Peripheral Controller A Voie Interface de commande (ET) Interlocking Peripheral Controller B Interface de commande (ET) Interface de commande (ET) • Canaux indépendants pour traitement fonctionnel et traitement de contrôle (surveillance) • Traitement de contrôle (test d’acceptation) : assertions exécutables Empaquetage I Objectifs : N N N N API * Étendre la fonctionnalité API ! e.g., interface POSIX sur RTOS COTS COTS Restreindre la fonctionnalité ! limiter possibilités d’invocation à celles validées Empaquetage Filtrer paramètres d’entrée et de sortie ! limiter valeurs aux domaines acceptables Détecter et confiner les erreurs par assertions exécutables — efficacité dépend fortement : ! du degré de formalité de la spécification, et la connaissance que l’on en a ! de l’observabilité des opérations internes API * Boîte blanche meilleure Observabilité (open source) API COTS Empaquetage API * Boîte grise interface réflective fournie par fabricant COTS permet l’introspection API COTS Empaquetage Wrapping Framework for RT µkernels Formal specifications Formula F1 Formula F2 ... Formula Fn compilation Wrappers W1 W2 ... Wn Runtime checker Temporal Logic µkernel functional components Observation Interface SCHEDULING TIMING SYNCHRONIZATION Target Software [COTS] Component ETC. Chorus µkernel Reflection MAFALDA-RT Limitation de l’intrusion temporelle Détection Propagation Défaillances (en valeur & en temps) Traces d’exécution Caractéristiques temporelles du noyau (temps de basculement) Analyse du séquencement des événements observés Microkernel Assessment by Fault injection AnaLysis Design Aid Spécification formelle en logique temporelle Compilation Vérificateur en ligne Mécanismes “d’empaquetage” • détection • recouvrement Mise en œuvre réflexive Analyse explicite du surcoût temporel for Real-Time systems Impact of Wrapping Chorus microkernel [Salles et al. 99 (FTCS-29)] Standard component Synchronisation component: “SYN” SYN Wrapper SYN & SCH wrappers 0 2 4 6 APPFAIL (%) Erroneous results 8 10 (%) 25% 20% Task Scheduling Component: “SCH” 23% Standard Comp. SCH wrapper 15% 15% 10% 5% 0% 7% 5% 2% Erroneous Results 4% Application Hang 3% 1% System Hang Total Bus ARINC 629 Outils et règles Pilotes Équipe prog. ACE Actionneurs Programme source ACE ACE ACE Autres équipements Compilateur A Compilateur B Compilateur C Exécutable A Exécutable B Exécutable C Exécutif A Exécutif B Exécutif C Processeur A Processeur B Processeur C Exécution A Exécution B Exécution C Comparaison PFC Gauche PFC Centre Primary Flight Computers PFC Droit Autres équipements Comparaison Actuator Control Electronics Sorties Erreur COTS Erreur AMD 29050 Spécification fonctionnelle Motorola 6840 Boeing 777 Intel 80486 Diversification des composants Combinaison d’approches The GUARDS Generic Architecture ESPRIT ESPRIT Project Project 20716 20716 [Powell [Powell et et al. al. 99 99 (IEEE (IEEE TPDS TPDS no.6] no.6] Software I integrity 4 levels 3 2 1 Application FT and integrity management COTS OS’s PU PU PU 1 1 2 M Intra-channel multiplicity Inter-channel communication network Inputs and unconsolidated outputs 2 3 C Channel redundancy Consolidated outputs Output data consolidation COTS (commercial) components The GUARDS Partners: Technicatome (Coordinator) (F), Ansaldo Segnalamento Ferroviario (I), Matra Marconi Space France (F), INTECS Sistemi (I), Siemens Austria (A), LAAS-CNRS (F), Pisa Dependable Computer Center (I), Univ. of York (UK) Assimilation Level: I Certification of COTS components (OSE RTOS Kernel) I COTS components: HW, OS, Middleware,… I Architectural Solutions: —> Layered Reflective Wrappers I Benchmarking of COTS components —> IFIP WG 10.4 SIG on Dependability Benchmarking [www.dependability.org] —> IST-2000-25425 Project Dependability Benchmarking [www.laas.fr/DBench] I Emergence of Open Source Solutions (GT LL) .. . Wrapper COTS MW Wrapper COTS OS .. . M IF I M IF I F Black Box Meta I F Conclusion