Certyfikacja oprogramowania systemów przemysłowych Andrzej KWIECIEŃ

Slides:



Advertisements
Podobne prezentacje
Interpretacja p. 7.6 ISO 9001 Jacek Węglarczyk
Advertisements

ROMAN QUALITY SUPPORT - - cell:
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy.
PROGRAMOWANIE STRUKTURALNE
SYSTEMY ALARMOWE System alarmowy składa się z urządzeń: - decyzyjnych (centrala alarmowa) - zasilających - sterujących - wykrywających zagrożenia (ostrzegawczych-
POSTĘP TECHNICZNY W PRACY BIUROWEJ
Przestrzeń zamknięta wymagająca i nie wymagająca pozwolenia na wejście
Wydział Zastosowań Informatyki i Matematyki SGGW
DOKUMENTOWANIE PROCESU ZINTEGROWANEGO
Certyfikacja oprogramowania systemów przemysłowych
Pomiary w inżynierii oprogramowania
Pomiary w inżynierii oprogramowania
Jakość systemów informacyjnych (aspekt eksploatacyjny)
Rational Unified Process
Projektowanie i programowanie obiektowe II - Wykład IV
Modele baz danych - spojrzenie na poziom fizyczny
Dalsze elementy metodologii projektowania. Naszym celem jest...
Wykład 2 Cykl życia systemu informacyjnego
Certyfikacja Kompetencji Informatycznych w standardzie ECCC
1 1.
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
System operacyjny. System operacyjny Co to jest system operacyjny: jest szczególnym rodzajem programu, którego zadaniem jest koordynowanie pracy.
Instytut Tele- i Radiotechniczny WARSZAWA
AKREDYTACJA LABORATORIUM Czy warto
WinPakSE/PE Zintegrowany System Ochrony Obiektów
WebQuest wykonane w ramach projektu BelferOnLine
Wanda Klenczon Biblioteka Narodowa
Budowa systemu komputerowego
Autor: Justyna Radomska
Bezprzewodowego system OMNIA
Prezentacja i szkolenie
Sieciowe Systemy Operacyjne
Zadanie badawcze nr 3 Zwiększenie wykorzystania energii z OZE w budownictwie 1 Kierownik części zadania badawczego dr Zbigniew Caputa Projekt finansowany.
Zarządzanie projektami
Rational Unified Process Implementacja Aleksandra Reiman, gr. I-52.
Dr Karolina Muszyńska Na podst.:
TESTOWANIE OPROGRAMOWANIA
Zasady nowego podejścia do normalizacji i harmonizacji technicznej Przedmiotem harmonizacji są wyłącznie przepisy związane z bezpieczeństwem, zdrowiem.
Program Operacyjny KAPITAŁ LUDZKI Priorytet IV Szkolnictwo Wyższe i Nauka Dział Rozwoju Kadry Naukowej Narodowe Centrum Badań i Rozwoju.
Podstawy programowania
Podstawy analizy ryzyka
Zmiany w wymaganiach normy ISO (w kontekście EMAS)
KONTROLA ZARZĄDCZA - 1 Kontrolę zarządczą stanowi ogół
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Zintegrowany sterownik przycisków. Informacje podstawowe Każdy przycisk jest podłączony do sterownika za pośrednictwem dwóch przewodów, oraz dwóch linii.
Zarządzanie zagrożeniami
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Procesor, pamięć, przerwania, WE/WY, …
Temat 6: Dokumentacja techniczna urządzeń sieciowych.
Dokumentacja techniczna
Koncepcje zarządzania jakością (prof. nadzw. dr hab. Zofia Zymonik)
niezawodności Z problemem jakości systemów informacyjnych wiąże się problem zapewnienia odpowiedniej niezawodności ich działania.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Ergonomia procesów informacyjnych
GŁÓWNY URZĄD MIAR ul. Elektoralna 2, Warszawa, tel , fax ,
SYSTEM ZARZĄDZANIA BEZPIECZEŃSTWEM INFORMACJI- wymagania normy ISO 27001:2007 Grażyna Szydłowska.
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Logical Framework Approach Metoda Macierzy Logicznej
Oprogramowaniem (software) nazywa się wszystkie informacje w postaci zestawu instrukcji i programów wykonywanych przez komputer oraz zintegrowanych danych.
Moduł e-Kontroli Grzegorz Dziurla.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Grzegorz Cygan Wprowadzenie do PLC
Inżynieria systemów informacyjnych
Modelowanie i podstawy identyfikacji
TRANSPORTOWY DOZÓR TECHNICZNY
IV Konferencja Naukowo-Techniczna "Nowoczesne technologie w projektowaniu, budowie.
PROGRAMY DO KONTROLI RODZICIELSKIEJ
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Certyfikacja oprogramowania systemów przemysłowych Andrzej KWIECIEŃ

Certyfikacja Badanie zgodności z podanym wzorcem Uzgodnienia normatywne prowadzą do wzorca jakim jest norma Po co w ogóle normalizować? Kto jest odpowiedzialny za powstawanie norm?

Normalizować? Po co w ogóle normalizować oprogramowanie? Normalizować sposoby tworzenia algorytmów? Normalizować stosowalność narzędzi? Stosować znormalizowane narzędzia? Czy na fakt normalizacji ma wpłynąć rodzaj i przeznaczenie oprogramowania?

Czy testowanie nie wystarczy? Czy sposoby testowania też powinny być znormalizowane? Istnieją instrukcje testowania oprogramowania? Są to najczęściej zalecenia i opracowania konkretnych producentów oprogramowania! Ale są też dokumenty normatywne testowania oprogramowania! To oznacza, że są dokumenty zwane normami!

Daj przykład Urządzenie pomiarowe-walka o dokładność Identyczny algorytm, dwa kompilatory, dwa różne wyniki- czy programiście potrzebny jest kalkulator?

Wniosek Musimy coraz szybciej produkować oprogramowanie-musimy korzystać z coraz to wydajniejszych narzędzi-ale jaką mamy gwarancję, że są to dobre narzędzia? To może jednak korzystać z narzędzi znormalizowanych? –Co to znaczy?

Inny przykład Oprogramowanie analizatora gazów toksycznych i wybuchowych do celów badawczych w laboratorium studenckim Oprogramowanie analizatora gazów toksycznych i wybuchowych do celów ostrzegania i sterowania systemami zasilania energetycznego

Jeszcze jeden przykład System intensywnego nadzoru medycznego –Analiza gazowa chorego, –Gwarantowany czas powiadamiania i alarmowania Czy Tobie chodzi o bezpieczeństwo? TAK!

Chyba jednak należy software normalizować? Czy tak? A precyzyjniej? SPRAWSDZIĆ CZY OPROGRAMOWANIE ZOSTAŁO WYKONANE ZGODNIE Z ZALECENIAMI (Normą). Innymi słowy należy porównać etapy jego tworzenia z zalecanym wzorcem tworzenia.

Co to jest CENELEC Europejski Komitet Normalizacyjny Elektrotechniki Bruksela European Committee for Electrotechnical Standarization Brussels C omite E uropeen de N ormalisation ELEC trotechnique Brussels

Struktura podstawowa systemów PES

TEMAT:Bezpieczeństwo funkcjonalne systemów E/E/PE -nas interesuje tak naprawdę tylko PE Opisuje wszystkie fazy cykli życia bezpieczeństwa Umożliwia innym sektorom (np.pneumatyka) tworzenie podobnych norm Udostępnia metodę opracowania specyfikacji wymagań bezpieczeństwa Stosuje i wyznacza poziomy nienaruszalności bezpieczeństwa Wprowadza podejście opierające się na analizie ryzyka Ustala docelowe miary liczbowe uszkodzeń systemów związanych z bezpieczeństwem Ustala dolną granicę docelowej miary uszkodzeń w przypadku uszkodzeń niebezpiecznych np. średnie prawdopodobieństwo niewykonania zaprojektowanej funkcji systemu równe /h,

Cykl życia bezpieczeństwa oprogramowania Specyfikacja wymagań bezpieczeństwa oprogr Specyfikacja wymagań funkcji bezpieczeństwa Specyfikacja wymagań nienaruszalności bezp. Planowanie walidacji bezpieczeństwa oprogramowania Projekt i opracowanie oprogramowania Integracja PE Procedury pracy i modyfikacji oprogramowania Walidacja bezpieczeństwa oprogramowania Do normy IEC

Nienaruszalność bezpieczeństwa oprogramowania i cykl życia wytwarzania Specyfikacja wymagań bezp. E/E/PES Specyfikacja wymagań bezp. oprogramowania Testowanie walidacyjne Oprogramowanie po walidacji Walidacja Testowanie integracyjne E/P Architektura E/E/EPS Architektura oprogramowania Projekt systemu oprogramowania Testowanie integracyjne Projekt modułu Testowanie modułu Kodowanie Wyjście Walidacja

WYMAGANIA DOTYCZĄCE CYKLU ŻYCIA OPROGRAMOWANIA Cyklem życia oprogramowania nazywamy przedział czasu od momentu rozpoczęcia fazy opracowania jego koncepcji, aż do chwili zakończenia jego używania. Cykl życia oprogramowania zwykle obejmuje: fazę sformułowania wymagań, fazę opracowania, fazę sprawdzania, fazę integracji, fazę zainstalowania, fazę modyfikacji.

SPECYFIKACJA WYMAGAŃ BEZPIECZEŃSTWA OPROGRAMOWANIA Specyfikacja wymagań bezpieczeństwa powinna zawierać wszystkie wymagania dotyczące funkcji bezpieczeństwa, które powinny wypełniać systemy związane z bezpieczeństwem. Zwykle tę specyfikację dzieli się na: specyfikację wymagań dotyczących funkcji bezpieczeństwa, specyfikację wymagań dotyczących nienaruszalności bezpieczeństwa, która zawiera te wymagania nienaruszalności bezpieczeństwa funkcji bezpieczeństwa, które powinny wypełnić systemy z bezpieczeństwem związane

SPECYFIKACJA WYMAGAŃ BEZPIECZEŃSTWA OPROGRAMOWANIA wyszczególnienie wymagań dotyczących oprogramowania bezpiecznego, w kategoriach wymagań dotyczących programowych funkcji bezpieczeństwa nienaruszalności bezpieczeństwa oprogramowania, wyszczególnienie wymagań dotyczących programowych funkcji bezpieczeństwa dla każdego systemu PES związanego z bezpieczeństwem, koniecznych do zaimplementowania wymaganych funkcji bezpieczeństwa, wyszczególnienie wymagań dotyczących nienaruszalności bezpieczeństwa oprogramowania dla każdego systemu EPS związanego z bezpieczeństwem, niezbędnych do osiągnięcia poziomu nienaruszalności bezpieczeństwa Cele specyfikacji wymagań bezpieczeństwa oprogramowania :

SPECYFIKACJA WYMAGAŃ BEZPIECZEŃSTWA OPROGRAMOWANIA Specyfikacja wymagań bezpieczeństwa oprogramowania dotyczy wyrobu a nie projektu. Należy zatem zadbać, aby w zbiorze funkcji bezpieczeństwa znalazły się takie jak: funkcje umożliwiające osiągnięcie stanu bezpiecznego obiektu lub jego utrzymanie, funkcje związane z wykrywaniem, informowaniem i zarządzaniem defektami w programowalnej elektronice sprzętu, funkcje związane z wykrywaniem, informowaniem i zarządzaniem defektami w czujnikach i elementach wykonawczych,

SPECYFIKACJA WYMAGAŃ BEZPIECZEŃSTWA OPROGRAMOWANIA funkcje związane z wykrywaniem, informowaniem i zarządzaniem defektami w czujnikach i elementach wykonawczych, funkcje związane z wykrywaniem, informowaniem i zarządzaniem defektami w samym oprogramowaniu (tak zwane funkcje samo monitorowania oprogramowania, funkcje związane z okresowym testowaniem funkcji bezpieczeństwa w trybie on-line, funkcje związane z okresowym testowaniem funkcji bezpieczeństwa w trybie off-line, funkcje pozwalające na bezpieczne modyfikowanie PES.

WYMAGANIA DOTYCZĄCE NARZĘDZI WSPOMAGAJĄCYCH I JĘZYKÓW PROGRAMOWANIA Wybór narzędzi wspomagających zależy zazwyczaj od natury czynności produkcji oprogramowania i od jego architektury. 1.Język o ograniczonej zmienności, przy niskim poziomie nienaruszalności bezpieczeństwa. Wymagane narzędzia i języki programowania, ograniczone do języków standardowych edytorów i programów ładujących PLC (ang. Programmable Logic Controller – sterownik przemysłowy swobodnie programowalny). Odpowiedzialność za zgodność z wymaganiami będzie głównie spoczywać na dostawcy oprogramowania.

WYMAGANIA DOTYCZĄCE NARZĘDZI WSPOMAGAJĄCYCH I JĘZYKÓW PROGRAMOWANIA 2.Wyższe poziomy nienaruszalności bezpieczeństwa. Może być konieczny ograniczony podzbiór języka PLC oraz potrzebne narzędzia do weryfikacji i walidacji, takie jak analizatory kodu i symulatory. W tych okolicznościach odpowiedzialność będzie spoczywać tak na dostawcy, jak i na użytkowniku.

WYMAGANIA DOTYCZĄCE NARZĘDZI WSPOMAGAJĄCYCH I JĘZYKÓW PROGRAMOWANIA 3.Narzędzia do zastosowań wbudowanych (ang. Embedded Systems), stosujące języki o pełnej zmienności. Narzędzia te z konieczności są bardziej wszechstronne, nawet przy niskich poziomach nienaruszalności bezpieczeństwa. Odpowiedzialność za zgodność z wymaganiami, będzie spoczywać głównie na wytwórcy oprogramowania. Obejmuje to także dostawcę PLC, który będzie używać języka o pełnej zmienności przy dostarczeniu języka o ograniczonej zmienności do programowania aplikacji użytkownika.

WYBÓR JĘZYKA PROGRAMOWANIA Wybór języka a wymagany poziom nienaruszalności bezpieczeństwa, Powinien być kompletny i jednoznacznie zdefiniowany, Może być ograniczony do cech, które są jednoznacznie zdefiniowane, Dopasowany do charakterystyk zastosowania, Musi mieć właściwości wykrywania błędów. Kompilator języka powinien mieć: Certyfikat zgodności z uznaną normą albo udokumentowaną analizę przydatności Jeżeli wymagania, o których wspomniano nie mogą być spełnione, to podczas opisywania projektu architektury oprogramowania należy udokumentować uzasadnienie użycia języka alternatywnego. W owym uzasadnieniu należy przedstawić szczegółowo dopasowanie tego alternatywnego języka, do wypełnienia przewidzianego celu oraz wszelkie dodatkowe sposoby rozwiązywania jakichkolwiek zidentyfikowanych słabych stron tego języka.

WYBÓR JĘZYKA PROGRAMOWANIA Jeżeli wymagania, o których wspomniano nie mogą być spełnione, to podczas opisywania projektu architektury oprogramowania należy udokumentować uzasadnienie użycia języka alternatywnego. W owym uzasadnieniu należy przedstawić szczegółowo dopasowanie tego alternatywnego języka, do wypełnienia przewidzianego celu oraz wszelkie dodatkowe sposoby rozwiązywania jakichkolwiek zidentyfikowanych słabych stron tego języka.

Przykład normy Urządzenia elektryczne do wykrywania i pomiaru gazów palnych, gazów toksycznych oraz tlenu- Wymagania i badania dotyczące urządzeń wykorzystujących oprogramowanie i/lub techniki cyfrowe. PN-EN Treść normy opracowano przez zespół normalizacyjny S.C Komitetu Technicznego CENELEC TC 31 i została zatwierdzona przez CENELEC jako EN w dniu r ostateczny termin wycofania sprzecznych norm krajowych

Zakres normy Prezentacja wymagań i zakresu badań dotyczących urządzeń do wykrywania i pomiarów gazów palnych, toksycznych i tlenu W zastosowaniach przemysłowych zakres dotyczy również urządzeń stosowanych w przestrzeniach zagrożonych wybuchem Stanowi uzupełnienie szeregu innych norm dotyczacych wykrywania i pomiarów gazów palnych i par, gazów toksycznych lub tlenu.

Definicje Jednostka cyfrowa-część urządzenia do cyfrowego przetwarzania danych- moduły A/D i D/A są elementami JC Stan specjalny- inne stany urządzenia niż kontrola koncentracji gazu, tryb kalibracji lub stan awaryjny Oprogramowanie- twór umysłowy obejmujący programy, procedury, reguły i dokumentację towarzyszącą odnoszącą się do pracy jednostki cyfrowej Oprogramowanie związane z bezpieczeństwem-oprogramowanie używane do wprowadzania funkcji bezpieczeństwa Parametry-ustawienia producenta lub użytkownika, które mają wpływ na działanie oprogramowania

Zasady projektowania Interfejs analogowo-cyfrowy –Pełne pokrycie zakresu wejść –Przekroczenie zakresu przetwarzania jednoznacznie sygnalizowane –Próbkowanie A/D i D/A odpowiadające żądanej dokładności odwzorowania danych Błędy numeryczne –Błędy cyfrowego przetwarzania mniejsze niż najmniejsza odchyłka wskazania wymagana przez właściwą normę europejską –JC musi automatycznie kontrolować dozwolony zakres we., wy., i wewnętrzny danych oraz obsługiwać przekroczenia zakresu –Obowiazuje zasada najgorszego przypadku

Zasady projektowania Proces pomiarowy –Podczas procesu pomiarowego maksymalny, całkowity czas 4 następujących po sobie aktualizacji wartości wyjściowej nie powinien przekroczyć czasu odpowiedzi lub czasu do alarmu (urządzenia tylko alarmujące) Sygnalizacja stanu specjalnego –Konieczność sygnalizacji lokalnej jak i na wyjściach przeznaczonych do zdalnej transmisji Sygnalizacja cyfrowa –Identyfikacja sygnałów –Priorytety sygnalizacji-wyświetlany stan o najw. priorytecie –Przegląd sygnałów, które aktualnie nie są pokazane lub aktywowane

Zasady projektowania Odczyt cyfrowy –Jednoznaczność wyświetlanych jednostek miary wskazanych wartości zmierzonych –Wyraźna sygnalizacja wszystkich pomiarów powyżej i poniżej zakresu pomiarowego

Zasady projektowania Oprogramowanie –Możliwe rozpoznanie wersji oprogramowania (wyświetlacz)podczas załączania urządzenia lub po jego restarcie lub na życzenie użytkownika –Brak możliwości zmiany zaprojektowanych funkcji oprogramowania –Kontrola prawidłowości ustawień parametrów –Bariera dostępu do zmian parametrów przez osoby niepowołane (blokada mechaniczna lub programowe kody dostępu) –Ustawienia powinny być zabezpieczone nawet w przypadku wyłączenia urządzenia i podczas trwania stanu specjalnego –Lista parametrów podlegających zmianom przez użytkownika oraz ich zakresy muszą być wymienione w instrukcji obsługi –Strukturalna i modułowa konstrukcja-łatwiejsze jego sprawdzenie i konserwacja –Jasno zdefiniowany interfejs we wszystkich modułach do innych modułów

Zasady projektowania Oprogramowanie –Dokumentacja (w pliku technicznym) winna zawierać: Nazwę urządzenia, do którego należy oprogramowanie Jednoznaczna identyfikację wersji programu Typ i wersję oprogramowania użytych narzędzi Kod źródłowy modułów zabezpieczających oprogramowania Opis funkcji Strukturę oprogramowania (schemat działania programu, wykres Nassi- Schneidermana) Protokoły atestacyjne oprogramowania Każdą zmianę oprogramowania wraz z datą zmiany i nowymi danymi identyfikacyjnymi. Uwaga! Dokumentacja jest przeznaczona jedynie do użytku laboratorium badawczego. Wszystkie informacje są poufne i należą do producenta.

Zasady projektowania Sprzęt –Podzespoły powinny być sprawdzane przez oddzielne badania –Uniemożliwienie wprowadzania zmian do kodu oprogramowania w każdych warunkach pracy. Modernizacje kodu powinny odbywać się pod kontrolą wytwórcy –Konieczność stosowania jednostek pamięci, w których zawartość danych pozostaje stała kiedy zaniknie zasilanie. Jeżeli użyto baterii należy w instrukcji podać czas jej życia. Transmisja danych –Niezawodność –Opóźnienia (wynik błędów transmisji) muszą być mniejsze od czasu odpowiedzi lub 1/3 czasu włączenia alarmu. Jeżeli nie, to urządzenie powinno przejść w określony stan specjalny (udokumentowany w instrukcji obsługi)

Zasady projektowania Badania wyrobu –Zasilanie JC co okres równy 10xczas odpowiedzi –Automatyczne (po załączeniu lub na życzenie użytkownika) testowanie wszystkich dostępnych widocznych i słyszalnych funkcji wyjściowych –Sprzęt kontrolujący wraz z jego bazą czasową (np. programem alarmowym) powinien pracować niezależnie i odrębnie od jednostki cyfrowej –Program i pamięć parametryczna powinny być kontrolowane przez producentów, którzy dopuszczają wykrywanie pojedynczych bitów błędów –Pamięć nietrwała powinna być kontrolowana przez producentów poprzez badanie zdolności odczytywania i zapisywania komórek pamięci Po wykryciu awarii urządzenie powinno przejść w określony stan specjalny

Dziękuję