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