Symulacja systemu niezawodnościowego w javie i DESKit

Jedną z metod badania i wyznaczania charakterystyk niezawodnościowych obiektów prostych i systemów są metody symulacyjne. Wystarczy zbudować symulator działania obiektu lub systemu i już można wyznaczać dowolne charakterystyki na drodze eksperymentów. Poniżej przedstawię krótki opis symulatora napisanego przy wykorzystaniu javy i pakietu symulacyjnego DESKit.
Rdzeń działania obiektu jak i systemu stanowi aktywność pojedynczego elementu (obiektu prostego) w ramach której symulowany jest: czas poprawnej pracy po którym następuje awaria elementu oraz czas naprawy po którym następuje wznowienie działania elementu. Przy każdej awarii i naprawie wywoływana jest funkcja sprawdzająca wpływ stanu elementu na stan całego systemu. Przedstawiam kod aktywności na rysunku z zaznaczonymi kluczowymi elementami symulacyjnymi.
W ramach skonstruowanego symulatora jest możliwość:
- definiowania dowolnych struktur niezawodnościwych systemu poprzez podanie w odpowiednim formacie ścieżek zdatności
- wykonywania pojedynczych eksperymentów jak i wielu jednocześnie
- wyznaczania wybranych charakterystyk
- wizualizcji przebiegu ekserymentów, z możliwością skalowania procesu upływu czasu
Jak na razie wszystkie elementy symulowanego systemu mają parametry prace opisane zmienną losową o rozkładzie wykładniczym.
DANE WEJŚCIOWE:
- Struktura systemu
Definiowana w postaci
[liczba elementów]=[ [nr elementu w ścieżce zdatności] - [nr elementu w ścieżce zdatności]-...] : [ [nr elementu w ścieżce zdatności] - [nr elementu w ścieżce zdatności]-...] : ...
Przykładowo:
7=1-3-7:1-4-7:2-3-7:2-4-7:5-6-7
Opisuje taki system:
- Parametry elementu
E 1 work intensity - intensywność rozkładu wykładniczego dla zmiennej losowej czasu poprawnej pracy elementu 1
E 1 repair intensity - intensywność rozkładu wykładniczego dla zmiennej losowej czasu naprawy elementu 1
- Wyznaczane prawdopodobieństwa
(NFT)Prob. non fail at t - prawdopodobieństwo, że system nie zepsuje się do chwili t (jako wartość podawane są (jako separator '-') czasy dla których ma być wyznaczone prawdopodobieństwo)
(NFP)Prob. non fail period - prawdopodobieństwo braku awarii systemu w przedziale czasu (jako wartość podawane są przedziały, separator między początkie a końcem przedziału ',' a separator między przedziałami '-')
Wyniki
- Konsola - przebieg eksperymentu w postaci tekstowej
- Wykresy - zależności czasowe i histogramy
- Wartości prawdopodobieństw
- Wizualizacja przebiegu eksperymentu
Okno symulatora: