Page 24 - XXIV Konferencja Automatyków Rytro 2026
P. 24

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
   19   20   21   22   23   24   25   26   27   28   29