Interpretacja abstrakcyjna ? to proces automatycznego sprawdzania dynamicznych właściwości oprogramowania użytkowego bez wykonywania jakichkolwiek testów oraz bez uruchamiania samego programu. Firma Triconex ? należąca do Invensys, oferująca produkty, systemy oraz usługi dla aplikacji krytycznych dla systemów bezpieczeństwa oraz służących do obsługi maszyn przepływowych ? stosuje interpretację abstrakcyjną w swoich systemach Trident, co zapewnia ciągłe sterowanie elementami o decydującym znaczeniu dla bezpieczeństwa w rafineriach, zakładach petrochemicznych i chemicznych oraz innych zakładach przemysłowych.
3 wskazówki dotyczące stosowania interpretacji abstrakcyjnej Interpretację abstrakcyjną należy stosować do oprogramowania w celu: 1. zabezpieczenia przed błędami wykonania programów 2. zredukowania czasu wykonania symulacji sztucznej inteligencji, ze związanymi regulacjami i niezbędnym dostrajaniem 3. identyfikowania i diagnozowania problemów, łącznie z umiejscowieniem wiersza kodu, w którym został zapoczątkowany błąd
|
Według firmy metoda interpretacji abstrakcyjnej przyniosła oszczędności rzędu 1 miliona USD oraz pozwoliła zaoszczędzić rok, umożliwiając weryfikację oprogramowania do sterownika z tolerancją błędów stosowanego w aplikacjach przemysłu przetwórczego, które wymagają wysokiego poziomu niezawodności i dostępności.
Sterownik Trident zapewnia tolerancję błędów dzięki zastosowaniu potrójnej, modułowej architektury nadmiarowej (redundancyjnej), która integruje trzy odizolowane, równoległe układy sterowania i obszerną diagnostykę. Dla systemu posiadającego ok. 70 000 linii kodu w języku C oraz 140 000 linii kodu w języku Ada, o potrójnym działaniu w ?twardym? czasie rzeczywistym, aby w przypadku przekroczenia określonych limitów bezpieczeństwa mógł wyłączyć zakład produkcyjny w ciągu milisekund ? testowanie wymagane przed wprowadzeniem na rynek każdego nowego produktu to niezwykle wymagające zadanie. Wyzwanie polega na wykryciu błędów wykonania programu (runtime errors), takich jak: zatrzymanie procesora, uszkodzenie danych, naruszenie granic przedziałów czasowych taktowania. Wykonanie kompletnego testu takiego produktu wymagałoby co najmniej rocznej pracy 4?5 osób, które przez 6?12 miesięcy zajmowałyby się udowadnianiem, że spełnione są wszystkie wymagania jakościowe firmy Invensys oraz wymogi niezbędne do uzyskania certyfikacji od agencji rządowych.
Metoda interpretacji abstrakcyjnej działa na ?abstrakcji? analizowanego programu zbudowanej na bazie jego właściwości dynamicznych. Triconex stosuje weryfikator PolySpace Verifier firmy Polyspace Technologies, narzędzie do interpretacji abstrakcyjnej, które jednorazowo ocenia kod na podstawie jego właściwości dynamicznych, co w znacznym stopniu redukuje błędy obliczeniowe. Oczywistą zaletą nowego podejścia do weryfikacji oprogramowania jest to, że może ono automatycznie wykryć 100% błędów wykonania programu (runtime errors) w ciągu ułamka czasu potrzebnego na przetestowanie kodu za pomocą tradycyjnych metod weryfikacyjnych.
Gershon Shamay, menedżer do spraw rozwoju oprogramowania w firmie Invensys, mówi: ? Najważniejszym udoskonaleniem (oferowanym przez interpretację abstrakcyjną) jest to, że teraz jesteśmy pewni, iż zbadaliśmy każdy wiersz kodu dla każdego możliwego warunku wejściowego. Agencje przyznające certyfikaty zgadzają się z taką oceną. W przeszłości zachęcały nas do stosowania takich kompleksowych metod weryfikacyjnych, a nasz nowy produkt uzyskał wymagane certyfikaty w rekordowym czasie ? właśnie dzięki interpretacji abstrakcyjnej.
Polyspace Technologies ? www.polyspace.com
Triconex ? www.triconex.com; www.ibsp.pl