Page 49 - XXIV Konferencja Automatyków Rytro 2026
P. 49
osiągających wysokie wskaźniki wydajnościowe nie znajduje szerokiego zastosowania
praktycznego ze względu na nadmierne wymagania energetyczne, co istotnie ogranicza
ich potencjał aplikacyjny.
Niezawodność
Każde oprogramowanie zawiera błędy, co wynika z natury procesu jego wytwarzania [4].
Dotyczy to zarówno oprogramowania tworzonego manualnie, jak i generowanego
w sposób zautomatyzowany. Całkowite wyeliminowanie błędów, a więc stworzenie
oprogramowania w pełni wolnego od defektów, jest w praktyce niemożliwe.
W systemach opartych na oprogramowaniu dąży się zatem do osiągnięcia poziomu
liczby i znaczenia błędów, który pozostaje akceptowalny z punktu widzenia
funkcjonalności i bezpieczeństwa systemu. Kluczową rolę w tym procesie odgrywa
testowanie oprogramowania. Jego celem nie jest jedynie wykazanie poprawności
działania systemu, lecz przede wszystkim identyfikacja istniejących błędów. W tym
ujęciu testowanie można traktować jako problem optymalizacyjny, polegający na
zaprojektowaniu możliwie niewielkiego zbioru testów, który umożliwia wykrycie
maksymalnej liczby defektów. Testowanie oprogramowania, mimo swojej kluczowej roli,
jest często jednak postrzegane jako kosztowna i czasochłonna aktywność projektowa,
co w praktyce prowadzi do prób jego ograniczania kosztem jakości systemu.
W systemach opartych na oprogramowaniu niezawodność jest ściśle powiązana z jego
jakością, a testowanie stanowi podstawowe narzędzie umożliwiające jej ilościową
ocenę. Znaczenie błędów oraz ich wpływ na działanie systemu mają również kluczowe
znaczenie z perspektywy użytkowników końcowych. Wadliwe oprogramowanie sterujące
może istotnie pogorszyć odbiór produktu, a w konsekwencji wpływać na decyzje
zakupowe i preferencje klientów.
Bezpieczeństwo
Systemy automatyki przemysłowej, ze względu na swoje zastosowanie, muszą spełniać
rygorystyczne wymagania w zakresie bezpieczeństwa, rozumianego jako ograniczanie
ryzyka wystąpienia sytuacji niebezpiecznych mogących prowadzić do strat materialnych
lub zagrożenia zdrowia i życia [5]. Ponieważ funkcjonalność tych systemów w dużej
mierze opiera się na oprogramowaniu, a każde oprogramowanie zawiera błędy,
stworzenie systemu całkowicie wolnego od takiego ryzyka jest w praktyce niemożliwa.
W konsekwencji bezpieczeństwo analizuje się w kategoriach akceptowalnego poziomu
ryzyka [6].
Redukcja ryzyka (mitygacja) realizowana jest poprzez zastosowanie odpowiednich
mechanizmów i warstw bezpieczeństwa, które pełnią rolę niezależnych komponentów
nadzorczych, monitorujących stan systemu oraz reagujących na sytuacje niepożądane
(zob. rys. 2). W praktyce przemysłowej oznacza to, że znaczna część nakładu pracy
projektowej i implementacyjnej poświęcana jest obsłudze błędów, stanów wyjątkowych
Paweł Skruch, Wiele celów, jedno rozwiązanie – o projektowaniu nowoczesnej automatyki. str. 5
XXIV KONFERENCJA AUTOMATYKÓW RYTRO 2026 AGH

