Streszczenie
W artykule przedstawiono propozycjĊ algorytmu moĪliwego do zastosowania w aplikacji z wykorzystaniem Javy oraz technologii ORM (ang. Object – relational mapping). Celem aplikacji jest wspieranie procesu podejmowania decyzji o stanie obiektu technicznego na podstawie sygnałów wibroakustycznych.
Słowa kluczowe: Java, Firebird, Hibernate, ORM, redukcja informacji diagnostycznej 1. Wprowadzenie
Aplikacja powinna umoĪliwiaü komunikacjĊ pomiĊdzy komputerami, niezaleĪnie od posiada-nej platformy sprzĊtowej i systemowej. Program zostanie napisany w jĊzyku Java, z wykorzysta-niem biblioteki graficznej Swing. Jako bazĊ danych, przechowującą obiekty trwałoĞci wybrano silnik FirebirdSQL, a komunikacja i generowanie zapytaĔ pomiĊdzy aplikacją i bazą danych od-bywaü siĊ bĊdzie za pomocą framework'a Hibernate
2. Firebird
Firebird to relacyjna baza danych oferująca wiele standardowych funkcji ANSI SQL, która działa na systemach Linux, Windows i róĪnorodnych platformach Unix. Firebird oferuje doskonałą współbieĪnoĞü, wysoką wydajnoĞü i potĊĪne wsparcie jĊzyka dla procedur składowanych i wyzwa-laczy. Jest to produkt typu open source – nie ma podwójnej licencji. MoĪe byü stosowany w apli-kacjach zarówno komercyjnych, jak i o otwartym kodzie Ĩródłowym. Do najwaĪniejszych cech bazy danych Firebird zaliczają siĊ:
Pełna obsługa procedur wbudowanych oraz wyzwalaczy; Pełna obsługa transakcji ACID;
IntegralnoĞü danych (ang. Referential Integrity);
Obsługa wielu wersji tego samego rekordu (ang. Multi Generational Architecture); Nie wymaga specjalnego Ğrodowiska do działania;
W pełni rozwiniĊty wewnĊtrzny jĊzyk dla procedur wbudowanych oraz wyzwalaczy (PSQL);
MoĪliwoĞü korzystania z zewnĊtrznych bibliotek funkcji (UDF);
Praktycznie nie wymaga obsługi przez wyspecjalizowanych administratorów; – Niemal w ogóle nie wymaga konfigurowania;
skuteczną pomoc;
Opcjonalna kilku plikowa wersja embedded – Ğwietnie nadaje siĊ miĊdzy innymi do tworzenia katalogów na płytach CD oraz jednostanowiskowych lub demonstracyjnych wersji aplikacji;
Wiele narzĊdzi, miĊdzy innymi graficzne narzĊdzia do administrowania, narzĊdzia do replikacji i inne;
Wiele moĪliwoĞci połączenia aplikacji z bazami danych: natywne poprzez API, sterowniki dbExpress, ODBC, OLEDB, Net, natywny sterownik JDBC typu 4, moduły Python, PHP, Perl, Ruby i inne;
Wersje dla wszystkich najwaĪniejszych systemów operacyjnych, włączając Windows, Linux, Solaris, Mac Os, HP_UX i FreeBSD;
Przyrostowe kopie bezpieczeĔstwa (ang. Incremental Backups); DostĊpne wersje 64-bitowe;
Pełna implementacja kursorów w PSQL; Tabele monitorujące;
Wyzwalacze dla połączeĔ oraz transakcji; Tabele tymczasowe;
TraceAPI – monitorowanie działania serwera.
Baza danych Firebird ze wzglĊdu na dostĊpnoĞü i ciągły rozwój przez uĪytkowników pozwoli-ła na jej wybór przy wykonywaniu aplikacji.
3. Hibernate
Hibernate jest wysoko wydajną usługą zapewniającą trwałoĞü i kwerendy obiektowo-relacyjne. Hibernate zajmuje siĊ mapowaniem z klas jĊzyka Java na tabele bazy danych, oraz z danych typu Java do typów danych SQL. Hibernate sam generuje zapytania do danych i obiek-tów, co znacznie skraca czas programowania aplikacji. Celem projektu Hibernate jest odciąĪenie programisty od rĊcznego wprowadzania zapytaĔ do bazy danych i ustanawiania połączenia z bazą.
Koszty prac rozwojowych są znacznie wyĪsze ze wzglĊdu na niezgodnoĞü miĊdzy nimi. Wielu programistów i architektów szacuje, Īe 30% ich kodu jest potrzebne do radzenia sobie z tymi pro-blemami infrastruktury. Hibernate bezpoĞrednio zapobiega tym wyzwaniom, zapewniając moĪli-woĞü mapowania modelu obiektowego reprezentacji danych do relacyjnego modelu danych i od-powiedniego schematu bazy danych. Główne powody zastosowania Hibernate w aplikacji to:
Wsparcie dla stylu programowania odpowiedniego dla Javy (obsługa asocjacji, kompozycji, dziedziczenia, polimorfizmu, kolekcji);
Wysoka wydajnoĞü i skalowalnoĞü (m.in. update tylko dla zmodyfikowanych obiektów i kolumn);
Wiele sposobów wydawania zapytaĔ: HQL [1], natywny SQL [2], zapytania przez obiekty Javy: Criteria i Example;
Wykorzystuje siłĊ technologii relacyjnych baz danych, SQL, JDBC [3]; Hibernate implementuje jĊzyk zapytaĔ i persistence API [4] z EJB 3.0; Architektura Hibernate została przedstawiona na rysunkach.
Rysunek 1. Architektura aplikacji wykorzystująca Hibernate
4. Budowa algorytmu
Na rysunku 3 przedstawiono algorytm wspierający proces podejmowania decyzji na podstawie danych wibroakustycznych.
W pierwszym etapie nastĊpuje przetworzenie sygnału wibroakustycznego z postaci amplitudy drgaĔ przebiegu czasowego do wybranych estymat procesu drganiowego. Zestawienie tych estyma-torów przedstawiono w tabeli 1.
Na rysunku 4 przedstawiano metodykĊ wyboru symptomu potrzebną w celu Ğledzenia ewolu-cji uszkodzeĔ w obiekcie.
Tabela 1. Wykaz oznaczeĔ estymatorów
.Oznaczenie estymatora Opis estymatora
1. Media WartoĞü Ğrednia sygnału
2. RMS(t) WartoĞü globalna wartoĞci skutecznej obliczana dla sygnału w dziedzinie czasu
5. Max WartoĞü szczytowa sygnału
6. Min WartoĞü minimalna sygnału
7. Kurtosis Kurtoza serii danych
8. Skewness Miara asymetrii serii danych
9. Standard deviation Odchylenie standardowe
10. Form factor Współczynnik kształtu
11. Peak factor Współczynnik szczytu
12. Ompulse factor Współczynnik impulsu
13. Cerance factor Współczynnik luzu
14. Fu (v) CzĊstotliwoĞü Rice’a dla prĊdkoĞci drgaĔ 15. F u(d) CzĊstotliwoĞü Rice’a przemieszczenia drgaĔ
16. H(v) Współczynnik harmonicznoĞci prĊdkoĞci drgaĔ
17. T. acf Autokorelacja
18. F. acf CzĊstotliwoĞü autokorelacji
19. A. acf Amplituda autokorelacji
20. Cov. acf Kowariancja sygnału
21. Ruido RównowaĪny poziom dĨwiĊku A LAeq,T
22. T. xacf Korelacja wzajemna
23. F. xacf CzĊstotliwoĞü korelacji wzajemnej
24. A.xacf Amplituda korelacji wzajemnej
25. Cov.xacf Kowariancja sygnału drganiowego
26. Freq. coher Główna czĊstotliwoĞü koherencji
27. Ampl. Coher Amplituda głównej koherencji
28. Apd (2std) Rozkład prawdopodobieĔstwa
29. Apdd(0,2*std) GĊstoĞü prawdopodobieĔstwa
30. f1 Bspec Pierwsza czĊstotliwoĞü dla maksymalnej amplitudy bispectrum. 31. f2 Bspec Druga czĊstotliwoĞü dla maksymalnej amplitudy bispectrum.
.Oznaczenie estymatora Opis estymatora
33. f1 Bcohe Pierwsza czĊstotliwoĞü dla maksymalnej amplitudy bikoherencji 34. f2 Bcohe Druga czĊstotliwoĞü dla maksymalnej amplitudy bikoherencji 35. Max. Amp. Bcohe Maksymalna amplituda bikoherencji
36. Wigner Ville (tiempo) WartoĞü chwilowa dla współczynnika maksymalnego rozkładu Wignera Villego 37. Wigner Ville (frecuencia)WartoĞü czĊstotliwoĞciowa maksymalnego współczynnika rozkładu Wigne-ra Villego 38. Wavelet (tiempo) WartoĞü chwilowa maksymalnego współczynnika transformaty fal-kowej 39. Wavelet(escala) WartoĞü Maksymalna współczynnika transformaty falkowej
Rysunek 3. Algorytm wspierający proces podejmowania decyzji o stanie obiektu na podstawie danych wibroakustycznych
Normalizacja
Tablica ciĊü
Dyskretyzacja DANE
(Symptopmy) Generowanietablicy ciĊü symptomówWybór zbioru reduktówTworzenie klasyfikacyjnychWybór reguł KLASYFIKATOR
Tabela NORMALIZACJA Tabela TABLICA CIĉû Tabela DYSKRETYZACJA Tabela WYBÓR SYMPTOMÓW Tabela ZBIÓR REDUKTÓW Tabela KLASYFIKATOR
Rysunek 4. Metodyka wyboru symptomu
5. Normalizacja
Dla zbioru atrybutów (w postaci kolumn symptomów) przeprowadzana jest normalizacja dla poszczególnych kolumn:
σ
μ
−
=
x
z
(1)gdzie x – wartoĞü symptomu, μ – Ğrednia wartoĞü dla symptomu, ı – odchylenie standardowe symptomu.
Tabela 2. Normalizacja atrybutów (wybrane parametry)
M edi a RM S( t) RM S( f) RM S( p) Ma x Mi n Ku rt os is Se sg o D .E st andar Fa ct or Fo rm a F act or C rest a F act or I m pul so F act or H ol gur a Fu ( v) Fu ( d) Hv T.ac f F. ac f A. ac f cov. acf ru id o T .xacf F .xacf A .xacf cov. xacf F recuenci a. C o her enci a A m pl itud. C ohe renci a apd( 2st d) apdd( 0, 2* st d) f1 B sp ec f2 B sp ec A B spec f1 B co he f2 B co he A B cohe W ig ne r V ille (t ie m po ) L.P.ĩYS V OMIA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 1 1 1 26 30 29 0 30 43 99 52 30 102 65 70 74 87 73 85 255 34 17 28 147 192 36 12 0 51 9 179 45 0 47 0 0 0 91 194 0 2 1 1 2 13 10 17 0 24 27 67 41 10 89 111 109 109 81 67 85 255 26 34 0 151 64 28 24 0 0 0 127 146 42 66 0 0 0 13 25 33 3 1 1 3 13 10 11 0 21 19 74 2 10 76 108 103 102 126 120 128 255 26 34 0 158 85 47 0 0 0 0 153 173 37 54 0 0 0 4 28 33 4 1 1 4 13 10 11 0 15 23 92 23 10 89 80 82 85 101 95 106 255 26 34 0 150 128 28 24 0 0 0 153 182 75 139 0 0 0 27 123 37 5 1 1 5 13 10 17 0 37 59 147 111 10 115 172 169 168 124 171 64 255 59 17 0 116 255 60 12 0 126 9 204 118 62 44 0 0 0 36 132 111 6 1 1 6 13 10 17 0 27 27 119 82 10 115 126 126 126 108 144 64 255 59 17 0 120 106 28 24 0 128 0 179 82 46 74 0 0 0 18 112 90 7 1 1 7 13 20 17 0 21 35 102 29 20 115 76 81 85 115 161 64 255 45 0 0 105 170 47 0 0 255 9 179 82 49 81 0 0 0 54 33 90 8 1 1 8 26 30 23 0 33 55 98 38 30 115 79 83 87 118 136 85 0 255 0 28 147 213 109 12 0 255 0 179 118 46 27 0 0 0 18 241 70 9 1 1 9 53 51 40 0 77 98 153 67 51 140 137 141 145 252 235 234 0 255 0 28 210 106 109 0 0 105 0 153 91 57 97 0 0 0 27 59 255 10 1 1 10 229 235 221 192 255 220 104 170 235 179 102 117 134 17 24 0 255 34 170 227 38 0 36 121 128 105 39 153 27 43 67 0 0 0 45 61 33 11 1 1 11 242 255 255 255 234 224 70 150 255 166 60 75 91 11 17 0 255 34 204 255 30 42 36 146 255 104 255 127 9 42 66 255 0 0 45 146 33 12 1 1 12 202 204 209 170 200 212 77 61 204 153 69 80 94 10 14 0 255 34 170 170 36 0 36 121 64 105 39 179 36 38 20 0 0 0 45 28 33 13 1 1 13 202 204 203 170 188 252 71 17 204 153 54 67 82 12 13 0 255 34 153 170 40 21 36 109 0 105 49 179 45 42 66 0 0 0 45 247 33 14 1 1 14 255 245 238 213 240 236 78 153 245 128 70 78 88 13 19 0 255 34 255 255 36 42 36 182 64 109 9 153 0 42 66 0 0 0 68 233 33
6. Algorytm wyboru symptomów 6.1. Generowanie zbioru ciĊü
Tabela 3. Zbiór ciĊü Tabela 4. Uporządkowany zbiór ciĊü
L.p. Symptom Podział Granice podziału Nazwa symptomu Symptom Podział Granice podziału Nazwa symptomu 1 1 2 39.5; 147.5 Media 3 3 8.0; 14.0; 20.0 RMS(f) 2 2 0 * RMS(t) 1 2 39.5; 147.5 Media 3 3 3 8.0; 14.0; 20.0 RMS(f) 6 2 11.0; 29.0 Min 4 4 0 * RMS(p) 7 2 61.5; 125.5 Kurtosis 5 5 0 * Max 29 2 77.5; 123.0 apdd(0,2*std) 6 6 2 11.0; 29.0 Min 10 1 95.5 Factor Forma 7 7 2 61.5; 125.5 Kurtosis 11 1 79.5 Factor Cresta 8 8 0 * Sesgo 12 1 130.5 Factor Impulso 9 9 0 * D.Estandar 15 1 167.5 Fu (d) 10 10 1 95.5 Factor Forma 22 1 95.5 T.xacf 11 11 1 79.5 Factor Cresta 31 1 34.0 f2 Bspec 12 12 1 130.5 Factor Impulso 35 1 43.0 A Bcohe 13 13 0 * Factor Holgura 2 0 * RMS(t)
14 14 0 * Fu (v) 4 0 * RMS(p)
15 15 1 167.5 Fu (d) 5 0 * Max
16 16 0 * Hv 8 0 * Sesgo
17 17 0 * T.acf 9 0 * D.Estandar 18 18 0 * F.acf 13 0 * Factor Holgura
19 19 0 * A.acf 14 0 * Fu (v) 20 20 0 * cov.acf 16 0 * Hv 21 21 0 * ruido 17 0 * T.acf 22 22 1 95.5 T.xacf 18 0 * F.acf 23 23 0 * F.xacf 19 0 * A.acf 24 24 0 * A.xacf 20 0 * cov.acf 25 25 0 * cov.xacf 21 0 * ruido 26 26 0 * Frecuencia.Coherencia 23 0 * F.xacf 27 27 0 * Amplitud.Coherencia 24 0 * A.xacf 28 28 0 * apd(2std) 25 0 * cov.xacf 29 29 2 77.5; 123.0 apdd(0,2*std) 26 0 * Frecuencia.Coherencia 30 30 0 * f1 Bspec 27 0 * Amplitud.Coherencia 31 31 1 34.0 f2 Bspec 28 0 * apd(2std) 32 32 0 * A Bspec 30 0 * f1 Bspec 33 33 0 * f1 Bcohe 32 0 * A Bspec 34 34 0 * f2 Bcohe 33 0 * f1 Bcohe 35 35 1 43.0 A Bcohe 34 0 * f2 Bcohe 36 36 0 * Wigner Ville(tiempo) 36 0 * Wigner Ville(tiempo)
na przedziały liczbowe za pomocą pojedynczych wartoĞci tego symptomu na rozłączne podzbiory [5][6]. Otrzymany zbiór ciĊü słuĪy do przeprowadzenia procesu dyskretyzacji tablicy i wyboru istotnych symptomów wykorzystywanych w procesie klasyfikacji stanu maszyny.
6.2. Dyskretyzacja tablicy symptomów
Uzyskany w poprzednim kroku zbiór ciĊü tablicy symptomów (Tabela 3) porządkowany jest ze wzglĊdu na ich liczbĊ celem wyboru symptomów z najwiĊkszą liczbą ciĊü (Tabela 4). W kolejnym kroku dla tablicy z uporządkowanymi symptomami przeprowadzana jest dyskretyzacja wartoĞci ze wzglĊdu na liczby ciĊü dla poszczególnych symptomów. Przykładowy wynik dyskretyzacji tablicy symptomów (wybrane parametry) przedstawiono w Ttabeli 5.
Tabela 5. Dyskretyzacja tablicy symptomów (wyprane parametry)
L.P. ŁOĩYSKO V POMIAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 1 1 (-Inf,39.5) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 2 1 1 2 (-Inf,39.5) * (14.0,20.0) * * (11.0,29.0) (61.5,125.5) * * (-Inf,95.5) (79.5,Inf) (-Inf,130.5) * * (-Inf,167.5) 3 1 1 3 (-Inf,39.5) * (8.0,14.0) * * (11.0,29.0) (61.5,125.5) * * (-Inf,95.5) (79.5,Inf) (-Inf,130.5) * * (-Inf,167.5) 4 1 1 4 (-Inf,39.5) * (8.0,14.0) * * (11.0,29.0) (61.5,125.5) * * (-Inf,95.5) (79.5,Inf) (-Inf,130.5) * * (-Inf,167.5) 5 1 1 5 (-Inf,39.5) * (14.0,20.0) * * (29.0,Inf) (125.5,Inf) * * (95.5,Inf) (79.5,Inf) (130.5,Inf) * * (167.5,Inf) 6 1 1 6 (-Inf,39.5) * (14.0,20.0) * * (11.0,29.0) (61.5,125.5) * * (95.5,Inf) (79.5,Inf) (-Inf,130.5) * * (-Inf,167.5) 7 1 1 7 (-Inf,39.5) * (14.0,20.0) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 8 1 1 8 (-Inf,39.5) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 9 1 1 9 (39.5,147.5) * (20.0,Inf) * * (29.0,Inf) (125.5,Inf) * * (95.5,Inf) (79.5,Inf) (130.5,Inf) * * (167.5,Inf) 10 1 1 10 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (79.5,Inf) (-Inf,130.5) * * (-Inf,167.5) 11 1 1 11 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 12 1 1 12 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 13 1 1 13 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 14 1 1 14 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5) 15 1 1 15 (147.5,Inf) * (20.0,Inf) * * (29.0,Inf) (61.5,125.5) * * (95.5,Inf) (-Inf,79.5) (-Inf,130.5) * * (-Inf,167.5)
6.3. Wybór symptomów
Kolumny dla których nie wyznaczono ciĊü są odrzucane i w konsekwencji otrzymywany jest zdyskretyzowana tablica symptomów dla których wyznaczany jest nastĊpnie zbiór reduktów.
Tabela 6. Zbiór reduktów
L.P ILOĝû REDUKTY (nr symptomu)
1 9 { " 1", " 3", " 6", " 7", " 10", " 12", " 29", " 31", " 35" } 2 9 { " 1", " 3", " 6", " 7", " 10", " 22", " 29", " 31", " 35" } 3 8 { " 1", " 3", " 6", " 10", " 11", " 12", " 15", " 31" } 4 9 { " 1", " 3", " 6", " 10", " 11", " 12", " 29", " 31", " 35" } 5 8 { " 1", " 3", " 6", " 10", " 11", " 15", " 22", " 31" } 6 8 { " 1", " 3", " 6", " 10", " 11", " 22", " 29", " 31" } 7 8 { " 1", " 3", " 6", " 10", " 11", " 22", " 31", " 35" }
6.4. Wybór reguł klasyfikacyjnych
NastĊpnie dla tablicy reduktów (Tabela 6) wyznaczane są reguły klasyfikacyjne (Tabela 7). Tabela 7. Reguły klasyfikacyjne
L.p. L.w. Reguła klasyfikacyjna
1 4 72.0,Inf)")&(" 7"="(91.0,Inf)")&(" 11"="(79.5,Inf)")&(" 14"="(-Inf,134.5)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(65.0,Inf)")&(" 36"="(115.0,Inf)")=>(" 3 2 4 2.0,Inf)")&(" 7"="(91.0,Inf)")&(" 11"="(79.5,Inf)")&(" 14"="(-Inf,134.5)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(-Inf,65.0)")&(" 36"="(115.0,Inf)")=>(" 3 3 3 2.0,Inf)")&(" 7"="(-Inf,91.0)")&(" 11"="(-Inf,79.5)")&(" 14"="(-Inf,134.5)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(65.0,Inf)")&(" 36"="(115.0,Inf)")=>(" 3 4 3 Inf,72.0)")&(" 7"="(91.0,Inf)")&(" 11"="(79.5,Inf)")&(" 14"="(134.5,Inf)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(65.0,Inf)")&(" 36"="(115.0,Inf)")=>(" 3 5 3 .0,Inf)")&(" 7"="(-Inf,91.0)")&(" 11"="(-Inf,79.5)")&(" 14"="(-Inf,134.5)")&(" 22"="(-Inf,31.5)")&(" 29"="(123.0,Inf)")&(" 31"="(-Inf,65.0)")&(" 36"="(-Inf,115.0)")=>(" 6 2 nf,72.0)")&(" 7"="(91.0,Inf)")&(" 11"="(-Inf,79.5)")&(" 14"="(-Inf,134.5)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(-Inf,65.0)")&(" 36"="(115.0,Inf)")=>(" 3 7 2 2.0,Inf)")&(" 7"="(-Inf,91.0)")&(" 11"="(-Inf,79.5)")&(" 14"="(-Inf,134.5)")&(" 22"="(-Inf,31.5)")&(" 29"="(-Inf,123.0)")&(" 31"="(65.0,Inf)")&(" 36"="(115.0,Inf)")=>(" 3 8 2 nf,72.0)")&(" 7"="(-Inf,91.0)")&(" 11"="(79.5,Inf)")&(" 14"="(134.5,Inf)")&(" 22"="(31.5,Inf)")&(" 29"="(-Inf,123.0)")&(" 31"="(65.0,Inf)")&(" 36"="(115.0,Inf)")=>(" 3 9 2 nf,72.0)")&(" 7"="(-Inf,91.0)")&(" 11"="(-Inf,79.5)")&(" 14"="(134.5,Inf)")&(" 22"="(31.5,Inf)")&(" 29"="(123.0,Inf)")&(" 31"="(65.0,Inf)")&(" 36"="(-Inf,115.0)")=>(" 3
7. Wybór modeli
Po stworzeniu reguł klasyfikacyjnych moĪna przystąpiü do budowy modelu (rys. 5–7) opisują-cego ewolucjĊ uszkodzenia dla badanego obiektu. UmoĪliwia to kompleksowe rozpoznawanie sta-nu maszyny przez pokładowe lub stacjonarne systemy diagnostyczne działające na podstawie opi-sanego algorytmu.
Rysunek 6. Model potĊgowy symptomu Xsz (obiekt Sil24_d2)
Rysunek 7. Model ekspotencjalny symptomu Xsz (obiekt Sil24_d2)
modele potĊgowe i ekspotencjalne symptomów Asr, Xsz, Asz, Ask, dla obiektu Sil24_d2 (Tabela 8).
Tabela 8. Modele potĊgowe i ekspotencjalne wybranych symptomów obiektu Sil24_d2
Symptom Model potĊgowy Model ekspotencjalny WartoĞci graniczne
Asr_Sil24_d2 4.89491*x.^0.146727168 18.0803*exp(1.9551414E-6.*x) 50
Xsz_Sil24_d2 0.14341*x.^0.071569542 0.26399*exp(1.7536301E-6.*x) 5
Asz_Sil24_d2 24.05980*x.^0.132450920 77.03300*exp(1.8367322E-6.*x) 200
Ask_Sil24_d2 7.02050*x.^0.147649869 25.7803*exp(2.0315695E-6.*x) 69
Rysunek 9. Model ekspotencjalny symptomów Asr, Xsz, Asz, Ask dla obiektu Sil24_d2
Rysunek 10. Znormalizowany wzglĊdem wartoĞci granicznych model potĊgowy symptomów Asr, Xsz, Asz, Ask dla obiektu Sil24_d2
Rysunek 11. Znormalizowany wzglĊdem wartoĞci granicznych model ekspotencjalny symptomów Asr, Xsz, Asz, Ask dla obiektu Sil24_d2
Rysunek 13.Model ekspotencjalny obiektu Sil24_d2
Na podstawie wyznaczonego modelu Sil24_d2 (rys. 12–13) moĪna okreĞliü miejsce osiągniĊcia wartoĞci granicznej (rys. 14–15).
Rysunek 15. OsiągniĊcie wartoĞci granicznej dla obiektu Sil24_d2 – model ekspotencjalny
8. Podsumowanie
W artykule przedstawiono propozycjĊ algorytmu moĪliwego do zastosowania w aplikacji z wykorzystaniem Javy oraz technologii ORM (ang. Object – relational mapping). Celem aplikacji jest wspieranie procesu podejmowania decyzji o stanie obiektu technicznego na podstawie sygna-łów wibroakustycznych. Aplikacja powinna umoĪliwiaü komunikacjĊ pomiĊdzy komputerami, nie-zaleĪnie od posiadanej platformy sprzĊtowej i systemowej. Program zostanie napisany w jĊzyku Java, z wykorzystaniem biblioteki graficznej Swing. Jako bazĊ danych, przechowującą obiekty trwałoĞci wybrano silnik FirebirdSQL, a komunikacja i generowanie zapytaĔ pomiĊdzy aplikacją i bazą danych odbywaü siĊ bĊdzie za pomocą framework'a Hibernate
Bibliografia
1. Hibernate Query Language – jĊzyk zapytaĔ Hibernate (http://download.oracle.com/javaee/5/ tutorial/doc/bnbuf.html).
2. Structured Query Language – strukturalny jĊzyk zapytaĔ u Īywany do tworzenia,
modyfikowania baz danych, oraz do umieszczania i pobierania danych z bazy (http://pl.wikipedia.org).
3. Java DataBase Connectivity – łącze do baz danych w jĊzyku Java (http://www.oracle.com/ technetwork/java/javase/jdbc/index.html).
4. JPA – oficjalny standard mapowania obiektowo-relacyjnego (ORM) (http://www.objectdb.com/java/jpa/query).
5. J. Bazan, M. Szczuka, J. Wróblewski (2002): A New Version of Rough Set Exploration System, Lecture Notes in Artificial Intelligence 2475, s. 397–404, Berlin, Heidelberg: Springer-Verlag.
6. J. Bazan, M. Szczuka, A. Wojna, M. Wojnarski (2004): On Evolution of Rough Set Exploration System, Lecture Notes in Artificial Intelligence 3066, 592–601, Berlin, Heidelberg: Springer-Verlag.
THE ALGORITHM OF SUPPORTING THE DECISION ON THE STATE OF THE OBJECT USING VIBROACOUSTIC SIGNALS
Summary
In this paper we proposes an algorithm for applications using Java technology and ORM (Object – relational mapping). The main objective is to promote the ap-plication of decision-making on the state of technical facility on the basis of vi-broacoustic
Keywords: JAVA, Firebird, Hibernate, ORM, reduction diagnostic information
Rafał Boniecki Mirosław Miciak Roman Wiatr
Zakład InĪynierii Poczty
Wydział Telekomunikacji i Elektrotechniki
Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy ul. Kordeckiego 20, 85-225 Bydgoszcz
e-mail: rafal.boniecki@utp.edu.pl mirosław.miciak@utp.edu.pl roman.wiatr@utp.edu.pl