INTRODUZIONE ALLA NORMA TECNICA EN ing. Luigi Corbetta Esperto sicurezza del software
10/03/08Introduzione INQUADRAMENTO LA NORMA:CEI EN (72-2) Dispositivi elettrici automatici di comando per uso domestico e similare Simile a: EN60204 (Macchine) EN60950 (Information Tecnologies) Differisce (sostanzialmente) in quanto si occupa non solo di HW (come le precedenti) MA ANCHE DI SW!
10/03/08Introduzione INDICE DELLA NORMA 1 CAMPO DI APPLICAZIONE E RIFERIMENTI NORMATIVI 2 DEFINIZIONI Definizioni relative alla struttura dei dispositivi di comando che utilizzano il software Definizioni relative all’assenza di errore per i dispositivi di comando che utilizzano il software ( Definitions relating to error avoidance in controls using software) Definizioni relative alle tecniche di controllo difetto/errore per i dispositivi di comando che utilizzano il software
10/03/08Introduzione INDICE DELLA NORMA Definizioni relative alle prove di memoria dei dispositivi di comando che utilizzano il software Definizioni della terminologia software – Generalità 3 PRESCRIZIONI GENERALI I dispositivi di comando devono essere progettati e costruiti in modo tale che nel loro uso ordinario non rechino danni alle persone o all’ambiente anche nel caso di un uso negligente, come può accadere nell’uso ordinario. Definizioni relative alle prove di memoria dei dispositivi di comando che utilizzano il software Definizioni della terminologia software – Generalità 3 PRESCRIZIONI GENERALI I dispositivi di comando devono essere progettati e costruiti in modo tale che nel loro uso ordinario non rechino danni alle persone o all’ambiente anche nel caso di un uso negligente, come può accadere nell’uso ordinario.
10/03/08Introduzione INDICE DELLA NORMA 4 GENERALITÀ SULLE PROVE 5 CARATTERISTICHE NOMINALI 6 CLASSIFICAZIONE Secondo la classe di SW 7 INFORMAZIONI Allegato H 8 PROTEZIONE CONTRO LE SCOSSE ELETTRICHE 9 DISPOSIZIONI PER LA MESSA A TERRA PROTETTIVA 10 MORSETTI E TERMINAZIONI 11 PRESCRIZIONI COSTRUTTIVE Vedi Allegato H 4 GENERALITÀ SULLE PROVE 5 CARATTERISTICHE NOMINALI 6 CLASSIFICAZIONE Secondo la classe di SW 7 INFORMAZIONI Vedi Allegato H 8 PROTEZIONE CONTRO LE SCOSSE ELETTRICHE 9 DISPOSIZIONI PER LA MESSA A TERRA PROTETTIVA 10 MORSETTI E TERMINAZIONI 11 PRESCRIZIONI COSTRUTTIVE Vedi Allegato H
10/03/08Introduzione INDICE DELLA NORMA 12 RESISTENZA ALL’UMIDITÀ E PROTEZIONE CONTRO LA POLVERE 13 RESISTENZA D’ISOLAMENTO E PROVA ALLA TENSIONE APPLICATA 14 RISCALDAMENTO 15 TOLLERANZA DI FABBRICAZIONE E DERIVA 16 SOLLECITAZIONI AMBIENTALI 17 DURATA 18 RESISTENZA MECCANICA 19 PARTI FILETTATE E CONNESSIONI 20 DISTANZE SUPERFICIALI, DISTANZE IN ARIA E DISTANZE ATTRAVERSO L’ISOLAMENTO 21 RESISTENZA AL CALORE,AL FUOCO E ALLE CORRENTI SUPERFICIALI 12 RESISTENZA ALL’UMIDITÀ E PROTEZIONE CONTRO LA POLVERE 13 RESISTENZA D’ISOLAMENTO E PROVA ALLA TENSIONE APPLICATA 14 RISCALDAMENTO 15 TOLLERANZA DI FABBRICAZIONE E DERIVA 16 SOLLECITAZIONI AMBIENTALI 17 DURATA 18 RESISTENZA MECCANICA 19 PARTI FILETTATE E CONNESSIONI 20 DISTANZE SUPERFICIALI, DISTANZE IN ARIA E DISTANZE ATTRAVERSO L’ISOLAMENTO 21 RESISTENZA AL CALORE,AL FUOCO E ALLE CORRENTI SUPERFICIALI
10/03/08Introduzione INDICE DELLA NORMA 22 RESISTENZA ALLA CORROSIONE 23 RIDUZIONE DEI DISTURBI DA RADIODIFFUSIONE 24 COMPONENTI 25 FUNZIONAMENTO NORMALE 26 FUNZIONAMENTO CON PERTURBAZIONI CONDOTTE DALLA RETE, DISTURBI MAGNETICI ED ELETTROMAGNETICI 27 FUNZIONAMENTO ANORMALE 28 GUIDA SULL’UTILIZZO DELLE DISCONNESSIONI ELETTRONICHE A) INDELEBILITÀ DEI DATI DI TARGA ED ALTRE INDICAZIONI B) MISURA DELLE DISTANZE SUPERFICIALI E DELLE DISTANZE IN ARIA 22 RESISTENZA ALLA CORROSIONE 23 RIDUZIONE DEI DISTURBI DA RADIODIFFUSIONE 24 COMPONENTI 25 FUNZIONAMENTO NORMALE 26 FUNZIONAMENTO CON PERTURBAZIONI CONDOTTE DALLA RETE, DISTURBI MAGNETICI ED ELETTROMAGNETICI 27 FUNZIONAMENTO ANORMALE 28 GUIDA SULL’UTILIZZO DELLE DISCONNESSIONI ELETTRONICHE A) INDELEBILITÀ DEI DATI DI TARGA ED ALTRE INDICAZIONI B) MISURA DELLE DISTANZE SUPERFICIALI E DELLE DISTANZE IN ARIA
10/03/08Introduzione INDICE DELLA NORMA E) CIRCUITO DI MISURA DELLE CORRENTI DI DISPERSIONE F) CATEGORIE DI RESISTENZA AL CALORE ED AL FUOCO G) PROVA DI RESISTENZA AL CALORE ED AL FUOCO H) PRESCRIZIONI PER I DISPOSITIVI DI COMANDO ELETTRONICI H 2 Definizioni H 2.16 Definizioni relative alla struttura dei dispositivi di comando che utilizzano il software H 2.17 Definizioni relative all’assenza di errore per i dispositivi di comando che usano il software H 2.18 Definizioni relative alle tecniche di controllo difetto/errore dei dispositivi di comando che utilizzano il software
10/03/08Introduzione INDICE DELLA NORMA H 2.19 Definizioni relative alle prove di memoria dei dispositivi di comando che usano il software H 2.20 Definizione della terminologia software – Generalità H 6 Classificazione H 6.18 Secondo la classe di software H 7 Informazioni H Dispositivi di comando che usano i software J) PRESCRIZIONI PER DISPOSITIVI DI COMANDO CHE UTILIZZANO TERMISTORI H 2.19 Definizioni relative alle prove di memoria dei dispositivi di comando che usano il software H 2.20 Definizione della terminologia software – Generalità H 6 Classificazione H 6.18 Secondo la classe di software H 7 Informazioni H Dispositivi di comando che usano i software J) PRESCRIZIONI PER DISPOSITIVI DI COMANDO CHE UTILIZZANO TERMISTORI
10/03/08Introduzione Dispositivi di comando che usano SW I dispositivi di comando che usano i software devono essere costruiti in modo che il software non alteri la conformità dei dispositivi di comando alle prescrizioni della presente Norma. La verifica si effettua con le prove per i dispositivi di comando elettronici della presente Norma, con ispezione, secondo le prescrizioni di questo paragrafo, e con l’esame della documentazione richiesta nelle prescrizioni da 66 a 72 della Tab. 7.2.
10/03/08Introduzione Definizione e scelta delle classi I dispositivi possono essere classificati in base alla “classe di sw” Vengono definite 3 classi di sw: Classe A (funzioni non afferenti la sicurezza), B (funzioni tese ad evitare funzionamenti non sicuri) oppure C (funzioni tese ad evitare danni speciali) In un dispositivo di comando differenti classi di software possono applicarsi a funzioni logiche differenti
10/03/08Introduzione Le classi - esempi A:termostati di camere, dispositivi di controllo di umidità, dispositivi di illuminazione, timer e temporizzatori B:dispositivo termico di interruzione e bloccaporta di lavabiancheria. C:dispositivi di comando automatici di bruciatori e dispositivi termici di interruzione per sistemi chiusi di riscaldamento di acqua (senza valvola)
10/03/08Introduzione Documentazione richiesta La norma IMPONE la scrittura di documentazione specifica relativa al software. Le prove e verifiche vengono eseguite sulla base della documentazione fornita LA PREDISPOSIZIONE DI ADEGUATA DOCUMENTAZIONE E' CONDIZIONE ESSENZIALE PER LA CERTIFICABILITA' (E ANCOR PIU' IMPORTANTE GARANZIA DI LONGEVITA' E MANUTENIBILILTA' DEL PROGETTO)
10/03/08Introduzione Documentazione richiesta Documentazione sulla sequenza del software sequenza di funzionamento dei dispositivi di comando con più di un circuito la descrizione della filosofia del sistema di comando e della portata del dispositivo la circolazione dei dati e delle cronologie Documentazione sul programma fornita in un linguaggio di studio di programmazione dichiarato dal costruttore
10/03/08Introduzione Documentazione richiesta Analisi dei difetti del software Identificare i dati ed i segmenti di sicurezza della sequenza del software le cui disfunzioni potrebbero causare una non conformità alle prescrizioni di sicurezza Questa identificazione deve comprendere la sequenza di funzionamento e può, per esempio, prendere la forma di un’analisi d’albero di difetto che deve comprendere i difetti/errori della Tab. H derivabili daquesta non conformità.
10/03/08Introduzione Documentazione richiesta Classe(i) e struttura del software È l'unica documentazione richiesta per la classe A. Al contrario delle altre documentazioni, questa deve essere fornita come documentazione sul manuale utente.
10/03/08Introduzione Documentazione richiesta Misure analitiche e tecniche di controllo difetto/errore impiegate Tempi di rilevamento difetto/errore (anche suddiviso per segmento di sw) Risposta del dispositivo di comando in caso di rilevamento di un difetto/errore
10/03/08Introduzione Misure analitiche sviluppo software Struttura del sw: (Attenzione norma PIENA di errori) Classe C Doppio canale (omogeneo o diverso) con comparazione Singolo canale con self-test periodico e controllo Classe B Singolo canale con prova funzionale o autoprova periodica Doppio senza comparazione Ovviamente le strutture di classe C Memoria ridondante Controllo trasmissione dati
10/03/08Introduzione Misure analitiche durante lo sviluppo
10/03/08Introduzione Analisi del SW - 1 Ispezione (senza sviluppatore) Controllo collettivo (con sviluppatore) Entrambi i metodi prevedono l'analisi del codice da parte di soggetti terzi rispetto allo sviluppatore L'analisi si svolge tramite sedute collettive, opportunamente strutturate e coordinate: Valutazioni unanimi (accept / re-work / re-inspect) Da 3 a 7 partecipanti Max 2 ore a seduta (100 / 150 LOC)
10/03/08Introduzione Analisi del SW – Statica – Black Box Il sw viene provato sulla base delle specifiche (indipendente dalla realizzazione) per ogni variabile di input che assume valori in un intervallo, testare almeno un valore al di sotto, uno al di sopra e uno nell’intervallo. per ogni variabile di input che assume valori discreti,testare almeno un valore valido e uno non valido (per la robustezza). test di frontiera (boundary testing): testare i valori di frontiera di ogni variabile (usualmente rilevano più errori di altri).
10/03/08Introduzione Analisi del SW – Statica – White Box 1 Il sw viene provato sulla base della realizzazione (indipendente dalle specifiche) Si basa sul concetto di copertura: si costruisce un grafo corrispondente allalgoritmo, in cui ogni nodo rappresenta uno statement, e gli archi rappresentano il flusso. Il test viene eseguito percorrendo 'in vario modo' il grafo dell'algoritmo Grado di copertura= #elementi coperti/#totale copribili
10/03/08Introduzione Analisi del SW – Statica – White Box 2 Criteri di copertura: Statement test (ST) – percorrere almeno una volta ogni nodo Branch test (BT) – percorrere ogni arco almeno una volta Condition testing (CT) – ogni singola sottocondizione assume almeno una volta T o F Decision & Condition (DC) – ogni decisione E ogni condizione assumono almeno una volta T e F
10/03/08Introduzione Analisi del SW – Statica – White Box 3 ST BT CT DT
10/03/08Introduzione Analisi del SW – Statica – White Box 4 Altri criteri di copertura Path test (PT) – ogni cammino del grafo viene percorso almeno una volta (occorre limitare il numero di ripetizioni nei cicli!) Data Flow: il grafo corrispondente all'algoritmo viene generato partendo dai concetti di definizione/uso dei dati (variabili di memoria) Vengono eseguiti cammini che 'sollecitano' sequenze diverse di definizione/uso delle variabili
10/03/08Introduzione Definizioni adottate dalla norma Prova sistematica: Black o white box Analisi statica: analisi sistematica e statica del sw, con verifica di: Logica Percorso dei dati Interfacce Variabili
10/03/08Introduzione Verifica malfunzionamenti – 1 (quali) E' richiesta, in dipendenza della classe la verifica dei seguenti possibili malfunzionamenti
10/03/08Introduzione Verifica malfunzionamenti – 2 (quanto) In genere le contromisure da adottare per la verifica dei malfunzionamenti sono più blande per la classe B, in quanto devono prevedere meno casistiche di guasto es. registri CPU B -> solo guasto “stuck-at” C -> generico DC fault
10/03/08Introduzione Verifica malfunzionamenti – 3 (come) Le tecniche da adottare sono generalmente: -verifica funzionale (problematica la definizione delle classi di equivalenza per i test) -codici di controllo (parità, CRC, ecc... -> spesso conviene adottare codici di controllo CONTEMPORANEI su dati e indirizzi) Dynamic pattern (G watchdog