Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Materiały dydaktyczne Komputerowe wspomaganie w mechatronice Semestr V Wykłady Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 1 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Wstęp Mechatronika to nauka łącząca pięć dziedzin wiedzy: mechanikę, elektronikę, informatykę, automatykę i robotykę. Komputerowe wspomaganie w mechatronice będzie więc korzystać z narzędzi oraz rozwiązań informatycznych. Informatyka pozwala m.in. na zastosowanie narzędzi komputerowego wspomagania projektowania, wnioskowania, budowania połączeń między urządzeniami mechatronicznymi, programowanie urządzeń mechatronicznych, itp. Do wszystkich tych zastosowań istnieje duży wybór narzędzi informatycznych różnych producentów oprogramowania. Metody sztucznej inteligencji Człowiek dążył zawsze do zastąpienia swojej osoby w pracach przez niego wykonywanych. Ideałem jest maszyna, która podobnie jak człowiek będzie w stanie podejmować różne decyzje. Dziś możliwa jest realizacja niektórych funkcji „mózgu ludzkiego”, co pozwala na częściowe spełnienie tych oczekiwań. Powstały sztuczne twory w pamięci komputerów, które nazywane są sztucznymi sieciami neuronowymi (ang. Artificial Neural Networks). Są to struktury matematyczne modelowane za pomocą programu komputerowego lub odpowiedniej realizacji sprzętowej (komputery neuronowe) wykonujące obliczenia lub przetwarzanie sygnałów poprzez odpowiednio zorganizowane i połączone elementy wykonujące pewną podstawową operację matematyczną na swoim wejściu, zwane neuronami. Sieci neuronowe (podobnie jak człowiek) przed ich zastosowaniem do realizacji zadań, do których są przeznaczone muszą przejść proces uczenia się. Między innymi z tego powodu mówi się o tzw sztucznej inteligencji (ang. Artificial Intelligence), która w przeciwieństwie do programu komputerowego realizującego pewien algorytm stanowiący ciąg instrukcji stanowi tzw. podejście niealgorytmiczne. Mówi się tu o tzw. podejściu heurystycznym. Metody sztucznej inteligencji posiadją dziś szerokie zastosowanie, m.in. w: rozwiązywaniu problemów i strategie przeszukiwań systemach ekspertowych robotyce uczeniu się maszyn przetwarzaniu języka naturalnego (w tym przetwarzaniu mowy, generowaniu mowy) rozpoznawaniu obrazów, kolorów, dźwięków, kształtów, ruchu itp. teorii gier tworzeniu baz wiedzy (weryfikacja, aktualizacja wiedzy) inteligentnych bazach danych wyszukiwaniu informacji itd. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 2 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Systemy ekspertowe Prace nad sztuczną inteligencją zapoczątkowały pojawianie się najpierw tzw. systemów wspomagania decyzji (Decision Support System) pomagających człowiekowi podejmować decyzje przy założeniu, że wiedza użytkownika na temat rozstrzyganego problemu jest stała. System wspomagania decyzji udostępnia informacje potrzebne do jej podejmowania bez względu na to, jaką wiedzą dysponuje użytkownik. Oznacza to, że systemy tego typu nie wzbogacają swojej wiedzy na temat rozstrzyganego problemu oraz nie prowadzą dialogu z użytkownikiem. Kolejnymi, bardziej inteligentnymi rozwiązaniami są tzw. systemy ekspertowe (eksperckie), które są w stanie podejmować decyzje dotyczące realizacji dalszych działań w danej dziedzinie podobnie jak osoba posiadająca doświadczenie z tej dziedziny, która jest określana mianem eksperta. W przeciwieństwie do systemów wspomagania decyzji, systemy ekspertowe objaśniają podejmowane decyzje, a tym samym prowadzą dialog z użytkownikiem w celu rozstrzygnięcia problemu oraz korzystają z jego wiedzy. Celem systemu eksperckiego jest zatem wzbogacanie wiedzy użytkownika na temat samego problemu decyzyjnego i wiedzy z danego zakresu. Działanie systemu ekspertowego jest więc próbą odtworzenia sposobu myślenia człowieka lub grupy ludzi, które pozwala na wyposażenie komputera w „inteligencję”. Danych do systemu ekspertowego może dostarczać zarówno ekspert jak i użytkownik systemu. Oczywiście podstawową i najważniejszą wiedzą systemu ekspertowego będzie wiedza eksperta w nim zawarta. Wiedza pobrana od użytkownika będzie nabywana w czasie eksploatacji systemu ekspertowego. System ekspertowy zbudowany jest z rozmaitych modułów programowych oraz wzajemnych powiązań między nimi. Tym niemniej, w każdym systemie ekspertowym można wyróżnić dwie podstawowe części funkcjonalne (rys. 1): system sterowania – jest też bardzo często określany mianem „shella”. Zawiera on: ◦ kontroler wywodu (ang. interface engine) - moduł zawierający rozkazy, procedury oraz programy służące do wykorzystania oraz prezentacji wiedzy, reguł oraz faktów zawartych w bazie w celu rozwiązywania problemu. Łączy fakty z regułami aby sformułować odpowiedź dla użytkownika. Jest to najważniejszy program odpowiedzialny za właściwe wykorzystanie metawiedzy i wiedzy jak również obsługę tzw. wyjątków oraz wybór sposobu wnioskowania. Inaczej mówiąc interpretuje on wiedzę z bazy wiedzy specyfikowaną przez pojedynczego użytkownika w trakcie prowadzonego z nim dialogu. ◦ interfejsy do komunikacji z użytkownikiem lub użytkownikami. Biorąc pod uwagę różne prawa do korzystania z systemu mogą to być następujące interfejsy: ▪ prowadzenia dialogu z użytkownikiem ▪ objaśniający operacje systemu ekspertowego, interpretacji uzyskanych wyników, sposób rozumowania i podejmowania decyzji, jak również Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 3 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego lokalizujący błędy w bazie wiedzy. Moduł ten nie zawsze istnieje, a jego obecność zależy od wielkości Systemu Ekspertowego. ▪ moduł pozyskiwania wiedzy do bazy wiedzy celem jej aktualizacji. Jest to zespół rozkazów (procedur programu), umożliwiających nabywanie wiedzy, która zostaje zapisana w Bazie Wiedzy w postaci reguł i faktów baza wiedzy (ang. knowledge base). Jest to część systemu ekspertowego posiadająca wiedzę z danej dziedziny oraz o decyzjach podejmowanych przez eksperta. System sterowania Użytkownik Ekspert oraz Inżynier Moduł Dialogowy zawiera zespół procedur i program, które pozwalają użytkownikowi na zdefiniowanie problemu. System Ekspertowy nie może istnieć bez Modułu Dialogowego. Moduł Wnioskow ania Moduł Pozyskiwa nia Moduł Objaśniaj ący interfejs Baza Wiedzy zawiera dziedzinową wiedzę systemu zbiór: definicji, faktów, pojęć i relacji między nimi, reguły wnioskowania Rys. 1.Budowa systemu ekspertowego Jak widać system ekspercki może składać się z wielu elementów. Jednak najważniejszymi są: baza wiedzy, bez której system ekspercki nie mógłby wnioskować, kontroler wywodu, który pozwala na funkcjonowanie systemu i wyciąganie wniosków, interfejs do komunikacji z użytkownikiem pozwalający na wymianę informacji między systemem ekspertowym a użytkownikiem. Wszystkie te elementy muszą ze sobą współpracować w celu wspomagania korzystania z wiedzy i ułatwiania podejmowanie decyzji. Systemy ekspertowe mogą wspomagać lub zastępować ludzkich ekspertów z danej dziedziny ułatwiając dostęp do ich wiedzy. Mogą też dostarczać rad, zaleceń oraz diagnoz dotyczących problemów z tej dziedziny. Najważniejszym problemem jest więc uzyskanie wiedzy od ekspertów. Powstanie systemu eksperckiego ma za zadanie zastąpienie ekspertów, a co za tym idzie późniejsze zmniejszenie zapotrzebowania na ich wiedzę. Powoduje to duże utrudnienie w czasie gromadzenia wiedzy. Akwizycja wiedzy od specjalistów z danej dziedziny wiedzy dla systemów eksperckich może być realizowana przez: Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 4 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego prowadzenie wywiadów z ekspertami analizę kwestionariuszy wypełnianych przez ekspertów analizę raportów pisanych przez ekspertów analizę komentarzy ekspertów wykonywanych w czasie pracy obserwację ekspertów przy pracy Pozyskiwanie wiedzy oraz jej gromadzenie pozwala na zwiększenie skuteczności działania systemu eksperckiego. Zdobywanie wiedzy bezpośredniej pochodzącej od ekspertów nie jest jednak jedyną drogą jej pozyskiwania. Obserwując działania człowieka można wyróżnić uczenie się: Bezpośrednie (tzw. uczenie na pamięć) Nie wymaga od systemu uczącego żadnego działania (tj. wnioskowania, czy też transformacji wiedzy). Przykładem dla programu może być np. uczenie przez bezpośrednie zaprogramowanie poprzez przekazywanie informacji. Metoda ta wymaga wystąpienia w procesie uczenia tzw. nauczyciela, który przekazuje wiedzę narzucając jej odpowiednią strukturę w taki sposób, aby była ona akceptowana przez ucznia na podstawie analogii. Metoda ta polega na odpowiednim wykorzystaniu posiadanej wiedzy do rozwiązania aktualnych problemów. Zdobyta na tej podstawie wiedza w razie niepowodzenia może prowadzić do weryfikacji posiadanej (zdobytej wcześniej) wiedzy Informacja do bazy wiedzy jest bardzo często przekazywana poprzez ogólne opisy pojęć nazywanych klasami na podstawie zbioru przykładów reprezentujących te pojęcia. Nauczyciel może w tym przypadku wpływać na prędkość zdobywania wiedzy poprzez odpowiedni dobór przykładów jak również na uczącego. Występuje również metoda nauczania na podstawia obserwacji. Stosuje się w niej również przykłady ale bez korzystania z pomocy nauczyciela. Metoda ta może wystąpić w dwóch odmianach, w zależności od postawy uczącego: bierna – obserwator nie podejmuje żadnej interakcji z otoczeniem, prowadzi bierną obserwację czynna – obserwator wpływa na otoczenie poprzez eksperymentowanie i obserwuje skutki powstałych w ten sposób zmian. Efektem procesu pozyskiwania wiedzy będą zawsze zmiany wiedzy zachodzące w systemie doradczym na podstawie informacji docierających do niego z zewnątrz. Pozyskiwanie wiedzy na podstawie przykładów należące do nauczania poprzez przekazywanie informacji jest stosowane w procesie trenowania sieci neuronowych. Gromadzenie wiedzy poprzez analogię stanowi rodzaj zbierania wiedzy, który polega na zastosowaniu posiadanej przez system wiedzy do wyciągania nowych wniosków. Przy aktualnym poziomie zaawansowania metod sztucznej inteligencji oraz wykorzystujących nią systemów eksperckich stosowanie analogii do pozyskiwania wiedzy na razie nie jest powszechne. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 5 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Problem gromadzenia wiedzy oraz jego automatyzacja to jeden z największych problemów w dziedzinie systemów eksperckich. Systemy ekspertowe cechuje: wąska specjalizacja zastąpienie specjalisty z konkretnej dziedziny ◦ jawna reprezentacja wiedzy i oddzielenie wiedzy specjalistycznej od procedur sterowania ◦ zdolność do wyjaśnień (ang. explanation facilities), w szczególnosci sposobu rozwiązania danego problemu ◦ system ekspertowy rozwiązuje problemy nie w oparciu o jawnie zapisany algorytm, lecz z wykorzystaniem rożnych metod (reguł) wnioskowania ◦ systemy ekspertowe wykorzystują w przeważającej mierze przetwarzanie symboli, w mniejszym zaś stopniu obliczenia numeryczne Modele sieci neuronowych Sztuczna sieć neuronowa jest strukturą połączonych ze sobą prostych elementów przetwarzających informacje. Elementy te najczęściej nazywane są neuronami, ale także jednostkami lub węzłami. Do połączeń między tymi elementami są przypisane współczynniki wagowe, które określają siłę powiązań. Tworzą one zbiór parametrów sieci. Parametry te tworzą swego rodzaju wiedzę na temat rozwiązywanego problemu. Wartości tych współczynników są określane w procesie uczenia sieci. Rys. 2. Model neuronu liniowego McCullocha-Pitsa Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 6 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 3. Model neuronu nieliniowego Na początku prac nad sieciami neuronowymi stosowano tzw. sieci liniowe. Model neuronu stosowanego w sieciach liniowych przedstawiono na rys. 2, a jego funkcję aktywacji poniżej. Okazało się jednak, że tworzenie bardziej rozbudowanych sieci tego typu daje te same rezultaty. W związku z tym zaprzestano prac nad rozwojem sieci neuronowych. Dopiero pojawienie się neuronu z nieliniową funkcją aktywacji zapoczątkowało gwałtowny rozwój prac nad nieliniowymi sieciami neuronowymi. Na rys. 3 przedstawiono model nieliniowego neuronu. Wartości wejściowe są mnożone przez wagi znajdujące się na tzw. łączach synaptycznych a następnie sumowane. Uzyskana wartość jest następnie przekształcana przez funkcję aktywacji neuronu. Na wyjściu uzyskuje się wartości z przedziału <0,1> (unipolarne) lub <-1,1> (bipolarne). Najczęściej stosowaną bipolarną ciągłą funkcją aktywacji jest: Najczęściej stosowaną bipolarną dyskretną funkcją aktywacji jest: Odpowiednio można podać unipolarne funkcje aktywacji, odpowiednio: Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 7 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego oraz: Ciągłe funkcje aktywacji są nazywane też funkcjami sigmoidalnymi. Na rys. przedstawiono bipolarną ciągłą funkcję aktywacji dla różnych wartości parametru λ, natomiast na rys. unipolarną ciągłą funkcję aktywacji. Rys. 4.Bipolarna ciągła funkcja aktywacji neuronu dla różnych parametrów λ Rys. 5.Unipolarna ciągła funkcja aktywacji neuronu dla różnych parametrów λ Ogólnie sztuczne sieci neuronowe można podzielić ze względu na ich budowę na: jednokierunkowe ◦ jednowarstwowe (rys. 6) ◦ wielowarstwowe (rys. 7) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 8 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego rekurencyjne (rys. 8 i 9). Przykładem jest sieć Hopfielda, która stanowi układ gęsto połączonych neuronów. Neurony są połączone każdy z każdym, bez połączeń zwrotnych. Sieci tego typu gwarantują zbieżność do preferowanych wzorców. Samoorganizujące się mapy (SOM, ang. Self Organizing Maps), zwane inaczej sieciami Kohonena maszyny wektorów wspierających (SVM, ang. Support Vector Machines) sieci oparte na radialnych funkcjach bazowych (RBF, ang. Radius basis function) sieci przesyłające żetony (ang. counter-propagation neural networks). Rys. 6. Schemat sieci jednokierunkowej jednowarstwowej Rys. 7. Schemat sieci jednokierunkowej dwuwarstwowej Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 9 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 8. Schemat sieci rekurencyjnej jednowarstwowej Rys. 9. Schemat sieci rekurencyjnej z jedną warstwą ukrytą neuronów Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 10 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego W przeciwieństwie do zwykłych programów, w których należy dokładnie opracować algorytm dla realizacji określonego zadania, sieci neuronowe zbudowane są z neuronów oraz struktury połączeń między nimi. Projektant musi dobrać odpowiednią strukturę sieci do rozwiązania zadania. Samo dobranie odpowiedniej architektury sieci neuronowej nie daje jednak od razu gotowego rozwiązania zagadnienia, do którego została ona zrealizowana. W odróżnieniu od konwencjonalnego programowania, kiedy po zakodowaniu odpowiednich algorytmów realizujących określone zadanie można od razu uzyskać pożądany wynik, dla sieci neuronowych należy po jej zaprojektowaniu wykonać kolejny etap polegający na wytrenowaniu sieci. Dopiero po przeprowadzeniu tego procesu sieć można wykorzystać do realizacji wyznaczonych dla niej zadań. Różnice pomiędzy konwencjonalnym oraz neuronowym wykonywaniem obliczeń podano w tabeli 1. Tabela 1. Porównanie konwencjonalnego oraz neuronowego wykonywania obliczeń Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 11 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Metody uczenia sieci neuronowych Ze względu na konieczność trenowania sieci neuronowej powstały różne metody jej uczenia. Do najważniejszych należą: uczenie pod nadzorem (z nauczycielem, rys. 10) uczenie z krytykiem (rys. 11) uczenie samoorganizujące się typu Hebba uczenie samoorganizujące się typu konkurencyjnego. Stosowane głównie dla tzw. sieci Kohonena (SOM, ang. Self Organizing Map). Rys. 10.Sieć neuronowa jako układ adaptacyjny pracujący pod nadzorem „nauczyciela” W czasie procesu trenowania sieci neuronowej z nadzorem sieć uczy się rozpoznawać wzorce ze zbioru uczącego. Podczas tego procesu modyfikowane są wagi synaptyczne w celu zmniejszenia błędu predykcji będącego różnicą pomiędzy wartością prognozowaną y a Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 12 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego wartością docelową d określoną dla każdego wektora zbioru uczącego. Wynika z tego, że każdy element zbioru uczącego składa się z pary wartości: {xk, dk}, k=1 ... K. gdzie: k - indeksuje kolejne elementy zbioru uczącego, K - wielkość zbioru uczącego, Rys. 11. Struktura sieci neuronowej z krytykiem Przy zastosowaniu metody uczenia z krytykiem sieć neuronowa otrzymuje tylko informację dotyczącą poprawności podjętej decyzji o zmianie wag synaptycznych. Uczenie samoorganizujące się typu Hebba przyjmuje, że wagi są modyfikowane w każdym cyklu trenowania sieci: przy jednoczesnym stanie pobudzenia obu neuronów waga powiązań między nimi neuronami wzrasta, jeżeli dwa neurony nie są jednocześnie pobudzone, to waga połączeń między nimi maleje. Sygnałem uczącym jest w tym przypadku sygnał wyjściowy neuronu sieci. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 13 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Klasyfikacja sieci komputerowych Sieci komputerowe i standardy połączeń w nich stosowane stanowią dziś podstawę budowy systemów połączeń różnego rodzaju urządzeń. Stosuje się je również do komunikacji pomiędzy urządzeniami mechatronicznymi. Urządzenia mechatroniczne należą do grupy urządzeń miejscowych, stąd rozwiązania sieciowe stosowane do ich łączenia należą do grupy tzw. sieci miejscowych. Stosuje się też określenia: sieć polowa, sieć przemysłowa. Ze względu na obszar zastosowań sieci miejscowych istotne jest określenie parametrów czasowych transmisji sygnałów i zapewnienia odpowiednich ich wartości. Sieci te muszą spełniać wysokie wymagania determinizmu czasowego ze względu na konieczność spełnienia wymagań pracy w czasie rzeczywistym. Istnieje wiele podziałów sieci komputerowych. Najbardziej podstawowym jest podział ze względu na zajmowany przez nie obszar: LAN (ang. Local Area Network) – sieć lokalna. Sieć obejmująca swoim zasięgiem obszar jednego pomieszczenia, budynku, a nawet kilku budynków znajdujących się blisko siebie. W szczególnym przypadku mogą to być dwa komputery połączone ze sobą. MAN (ang. Metropolital Area Network) – sieć miejska. Sieć obejmująca swoim zasięgiem obszar aglomeracji miejskiej. Mimo wyróżnienia tego rodzaju sieci często sieć miejską przypisuje się do sieci LAN lub WAN. Przypisanie to jest wtedy uzależnione od rodzaju technologii sieciowych stosowanych w sieci miejskiej. WAN (ang. Wide Area Network) – sieć rozległa. Sieć obejmująca swoim zasięgiem obszar większy niż opisany w poprzednich przypadkach. Może być to sieć łącząca dwa miasta, jak również państwa a nawet kontynenty. Przykładem ogólnie znanym jest sieć „Internet”. Do przeprowadzenia transmisji sygnału należy zastosować nośnik informacji, za pomocą którego będzie można tą transmisję zrealizować. Nośnik ten nazywany jest medium transmisyjnym. Może nim być np. przewód miedziany, światłowód, jak również fale radiowe lub optyczne. Sieci komputerowe można też podzielić ze względu na zastosowane medium transmisyjne. Możemy je wtedy podzielić na sieci: przewodowe bezprzewodowe Pierwsze z nich mają już ugruntowaną silną pozycję przy zastosowaniu w sieciach miejscowych. Jest to szczególnie związane z ich większą odpornością na zakłócenia wywodzące się z otoczenia, w którym są stosowane. Często też zastosowanie przewodów miedzianych pozwala na spełnienie dodatkowych funkcji poza realizacją transmisji informacji. Do najczęściej spotykanych należy możliwość zasilania za pomocą przewodów sieciowych urządzeń automatyki polowej. Rozwiązania tego typu są też spotykane w lokalnych sieciach komputerowych. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 14 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Sieci bezprzewodowe wkraczają coraz bardziej do systemów automatycznego sterowania, jednak są one stosowane najczęściej tam, gdzie ciężko jest zainstalować systemy przewodowe. Występuje też podział nie związany z fizyczną budową sieci. Jest on raczej związany ze sposobem udostępniania zasobów przez stacje w niej pracujące. Dzieli się je wtedy na sieci: klient-serwer (ang.client-server) – sieć składająca się z: ◦ stacji udostępniającej zasoby, czyli tzw. serwera. Jest to najczęściej jedna wyspecjalizowana stacja do której nie mają bezpośredniego dostępu zwykli użytkownicy sieci. Stacja ta nie jest przeznaczona do bezpośredniej pracy. ◦ klientów, czyli stacji korzystających z zasobów serwera. Są to komputery użytkowników sieci. równorzędna (peer-to-peer) – w przeciwieństwie do sieci client-server wszystkie komputery mogą współdzielić swoje zasoby jak również korzystać z zasobów udostępnianych przez innych użytkowników sieci. Kiedyś tego typu podział był bardziej widoczny. Można było znaleźć małe sieci firmowe lub domowe, które pracowały jako sieci peer-to-peer oraz duże sieci korporacyjne, które były sieciami client-server. Dziś najczęściej oba te rozwiązania funkcjonują równocześnie. Można wyróżnić w sieciach komputerowych zarówno wyspecjalizowane jednostki będące różnego typu serwerami udostępniającymi swoje zasoby jednostkom roboczym obsługiwanym przez użytkowników końcowych, jak również jednostki robocze udostępniające sobie wzajemnie różne zasoby lokalne. Można też dokonać podziału sieci ze względu na ich zastosowanie: komputerowe polowe itp. Architektura sieci komputerowych W celu umożliwienia współpracy różnych technologii sieci komputerowych opracowany został przez organizację ISO (ang. International Standard Organization, Międzynarodowa Organizacja Standaryzacyjna) model budowy sieci komputerowych (rys. 12a) znany pod nazwą OSI (ang. Open System Interconnection, Otwarty System Połączeń). Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 15 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Application Presentation Application Presentation Session Session Transport Transport Network Network Data Link Data Link Physical Physical OSI layers OSI layers encapsulation IP network Network Layer Medium Rys. 12. a) Model ISO/OSI; b) VLAN w odniesieniu do modelu ISO/OSI Jest to warstwowy model opisujący sposób przepływu informacji pomiędzy stacjami biorącymi udział w jej transmisji. Jest to model koncepcyjny zbudowany z siedmiu warstw, z których każda spełnia określone funkcje istotne dla realizacji transmisji sieciowej. Model ISO/OSI nie definiuje szczegółowych metod komunikacji, które określone są w formie protokołów komunikacyjnych dla każdej z warstw dla określonych technologii sieciowych. Działania przypisane do każdej z warstw modelu ISO/OSI mogą być rozpatrywane niezależnie, gdyż działają one niezależnie w obrębie realizowanych przez nie funkcji. Nie wszystkie warstwy muszą być też definiowane przez daną technologię sieciową. Application Presentation Local Area Network model IEEE Project 802 Session LLC Sublayer Transport MAC Sublayer Physical Layer Medium Network Data Link Physical OSI layers Rys. 13. Model ISO/OSI, standard IEEE 802.3 Przedstawiony na rys. 12a model ISO/OSI składa się z siedmiu warstw: fizycznej (ang. Physical) – określa ona: ◦ wymagania sprzętowe do transmisji,parametry elektryczne ◦ poziomy napięć ◦ parametry czasowe sygnałów łącza danych (ang. Data Link) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 16 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego ◦ nadawanie/odbiór ◦ formatowanie ramek danych przed transmisją ◦ końcowa zgodność przesyłanych danych sieciowej (ang. Network) ◦ określenie trasy transmisji ◦ komutacja pakietów transportowej (ang. Transport) ◦ rozpoznawanie błędów ◦ zażegnywanie błędów ◦ odtwarzanie kolejności pakietów ◦ retransmisje zagubionych pakietów ◦ zwielokrotnianie połączeń ◦ kierowanie przepływem danych sesji (ang. Session) ◦ otwiera i zamyka sesje pomiędzy hostami ◦ rozpoznawanie hasła ◦ realizacja procedury logowania i wylogowania ◦ zarządzanie siecią ◦ nadzór pracy sieci ◦ generowanie raportów i sprawozdań prezentacji (ang. Presentation) – odpowiada za format używany do wymiany danych pomiędzy stacjami pracującymi w sieci: ◦ bezpieczeństwo ◦ kompresja ◦ tłumaczenie kodów sterujących (np. ASCII i EBCDIC) ◦ transfer plików ◦ itp. aplikacji (ang. Application) – realizuje usługi komunikacji między użytkownikami: ◦ transfer plików ◦ dostęp do baz danych ◦ wymiana poczty elektronicznej ◦ oprogramowanie serwerów plików i drukarek ◦ itd. Jak widać każda z wymienionych warstw modelu ISO/OSI dodaje do transmitowanych danych przez sieć swoją informację, która następnie jest dekodowana przez stację odbierającą te dane z drugiej strony toru transmisyjnego. Na rys. 12a przedstawiono proces enkapsulacji, czyli umieszczenia informacji jednej z warstw w innej. Tutaj przenoszona jest warstwa trzecia w calu realizacji sieci VLAN na za pomocą protokołu IP. Na rys. 14 przedstawiono ideę realizacji tzw. VLAN-trunking pozwalającego na wydzielenie tzw. grup roboczych. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 17 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 14. Sieci VLAN w obrębie urządzeń sieci LAN (źródło: http://www.cs.put.poznan.pl/mlibuda/VLAN.pdf) Na rys 13 przedstawiono realizację projektów związanych ze standardem 802.3 w odniesieniu do modelu ISO/OSI. Można tu zauważyć pojawienie się dwóch podwarstw w warstwie drugiej: LLC (an. Logical Link Control) – podwarstwa kontroli logicznej łącza MAC (ang. Media Access Control) – podwarstwa dostępu do łącza Podwarstwa MAC zawiera w sobie tzw. adres MAC, który składa się z 48 bitów podawanych w systemie heksadecymalnym (szesnastkowym). Adres ten jest na stałe zapisany w karcie sieciowej. Znając adres MAC można sprawdzić kto jest producentem karty sieciowej, ponieważ pierwsze 24 bity tego adresu są do niego przypisane. Dopiero kolejne bity identyfikują konkretną kartę sieciową. Adres MAC pozwala też na: przydzielenie na jego podstawie adresów warstwy trzeciej, np. adresów IP zapewnienie bezpieczeństwa sieci, np. dostępu do sieci podział sieci na segmenty tworzenie VLAN-ów itp. Inną bardzo ważną funkcją podwarstwy MAC jest zapewnienie stacjom dostępu do łącza transmisyjnego i realizacji transmisji danych. Przykładowo dla sieci Ethernet jest tu umieszczony protokół dostępu do łącza CSMA/CD (ang. Carrier Sense Multiple Access / with Collision Detection, wykrywanie nośnej z detekcją kolizji). Zanim jednak zostanie wyjaśniony podany tu przykładowy mechanizm dostępu do łącza należy wyjaśnić pojęcie topologii sieci. Występuje ona w dwóch odmianach: 1. Topologia fizyczna jest to fizyczny sposób połączenia pomiędzy urządzeniami sieciowymi przy pomocy medium komunikacyjnego oraz urządzeń sieciowych 2. Topologia logiczna Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 18 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego jest to niezależny od topologii fizycznej sposób połączenia pomiędzy urządzeniami sieciowymi określający sposób komunikacji pomiędzy stacjami pracującymi w sieci. Mimo, że występują dwa rodzaje topologii to w obu przypadkach wyróżniamy te same ich rodzaje. Różnica polega tylko na odniesieniu podanej struktury do odpowiedniej topologii. Topologii można wyróżnić wiele. Do najważniejszych należą topologie: szyny pierścienia gwiazdy drzewiasta kratownicy Dalej można wyróżnić topologi złożone: podwójna szyna podwójny pierścień wiolo-gwieździsta itp. Oczywiście mogą występować też topologie złożone z połączenia wymienionych. a) b) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 19 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego c) d) e) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 20 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego f) g) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 21 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego h) i) Rys. 15. Topologie sieciowe: a)magistrala, b)podwójna magistrala, c) gwiazda, d)pierścień, e) podwójny pierścień, f) wielogwiazda, g) drzewo, h) kratownica, i) złożona Wymienione tu topologie mogą być bez problemu realizowane jako fizyczna struktura połączeń. Jeżeli chodzi o topologię logiczną to nie zawsze występują praktyczne rozwiązania. Dla wcześniej podanego protokołu dostępu do łącza CSMA/CD odpowiada logiczna topologia magistrali. Ta metoda dostępu polega na obserwowaniu przez stacje czy w danej chwili łącze jest wolne. Jeżeli tak, to stacja może podjąć próbę nadawania, czyli przesłania informacji przez wolną aktualnie magistralę. Może się jednak zdarzyć, że w tej samej chwili więcej niż jedna stacja będzie próbowała przesłać dane. Wystąpi w takim przypadku tzw. kolizja. Stacje po wykryciu kolizji odstępują od nadawania i odczekują losowo Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 22 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego wygenerowany czas. Sytuacje tu opisane mogą występować do momentu gdy tylko jedna stacja przejmie kontrolę nad łączem. Oczywiście kolizje spowalniają prędkość działania sieci, dlatego ważne jest aby było ich jak najmniej. W tym celu wykonuje się tzw separację domen kolizji. Umożliwia to zastosowanie odpowiednich urządzeń sieciowych. Sprzęt sieciowy Sieć teleinformatyczna jest zbudowana z wielu elementów. Należą do nich: okablowanie urządzenia koncentracyjne urządzenia brzegowe patch panele szafy krosownice stacje końcowe serwery gniazda złącza Okablowanie sieciowe można podzielić ze względu na jego zastosowanie: ◦ campusowe ◦ poziome ◦ pionowe ◦ krosowe ◦ dystansowe Powyższy podział pojawił się wraz z tzw. okablowaniem strukturalnym (rys. 16, 17, 18). Wprowadzenie tego typu okablowania ułatwiło znacznie realizację sieci ze względu na występowanie pewnych standardowych elementów. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 23 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 16. Podział linii transmisyjnej w okablowaniu strukturalnym Rys. 17. Podział okablowania strukturalnego Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 24 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 18. Umiejscowienie poszczególnych rodzajów okablowania strukturalnego w sieci LAN W sieciach komputerowych znajdują zastosowanie różnego rodzaje media transmisyjne. Do najważniejszych należą: przewód koncentryczny (ang. coaxial cable) skrętka telefoniczna (ang. twisted pair cable) światłowód (ang. fiber optic) Ze względu na niską cenę oraz możliwości transmisyjne przy budowie sieci komputerowych najczęściej stosuje się skrętkę telefoniczną. Przewód ten występuje w wielu odmianach. Istnieje kilka podziałów tego typu przewodów. Skrętkę możemy podzielić na: nieekranowaną UTP (ang. Unshielded Twisted Pair) ekranowaną STP (ang. Shielded Twisted Pair) foliowaną FTP (ang. Folied Twisted Pair) Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 25 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rys. 19. Konstrukcja kabla typu skrętka Jak pokazano na rys. 19 każda para skrętki jest ze sobą skręcona. Taki skręt jest też wykonany z poszczególnymi parami. W typowym kablu sieciowym występują cztery pary przewodów. Przewody typu skrętka podzielone zostały na tzw. kategorie. Podział ten dotyczy możliwości transmisyjnych przewodów oraz ich zastosowania: Kat. 1 – tradycyjna nieekranowana skrętka telefoniczna przeznaczona do transmisji głosu. Nie nadaje się do transmisji danych. Kat. 2 – nieekranowana skrętka, szybkość transmisji do 4MHz. Zbudowana z 2 par skręcanych przewodów. Kat. 3 – transmisja do 10MHz, zastosowanie: Token Ring (4Mb/s), Ethernet 10Base-T (10Mb/s), kabel zawiera zwykle 4 pary skręconych przewodów Kat. 4 – prędkość transmisji do 16MHz, najniższa kat. dla Token Ring (16Mb/s). Kabel zbudowany z 4 par przewodów. Kat. 5 – skrętka z dopasowaniem rezystancyjnym 100Ω. Transmisja danych do 100MHz na odległość do 100m pod warunkiem poprawnej instalacji kabla, zgodnej z wymaganiami okablowania strukturalnego. Pozwala na transmisję danych do 1Gb/s. Zastosowanie w sieciach half-duplex Fast Ethernet 100 Mbit/s, brak zastosowań do 1000Base-T. Kat.5e – rozszerzona kat.5 pozwalająca na transmisję do 100MHz. Poprawiono parametry związane z FEXT, NEXT, tłumieniem i RL (Return Loss) w stosunku do tych w CAT 5. Zastosowanie w sieciach full-duplex Fast Ethernet 100 Mbit/s oraz 1 Gbit/s Kat. 6 – nieekranowana skrętka (UTP), bądź ekranowana skrętka (STP), bądź foliowana skrętka (FTP) do przenoszenia danych w paśmie do 250 MHz i przepływnością do 10 Gbit/s. Specyfikacja okablowania wg. ANSI/TIA/EIA-568B.2-1 w 2002. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 26 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Kat. 7 – ekranowana skrętka (STP), bądź foliowana skrętka (FTP) do przenoszenia danych w paśmie do 600 MHz. Specyfikacja okablowania klasy F wg. ISO/IEC 11801. Na rys. 20 przedstawiono budowę kabla koncentrycznego, nazywanego też współosiowym. Jest to przewód o dużych możliwościach transmisyjnych. Jest on też odporny na zakłócenia otoczenia ze względu na swoją konstrukcję, która też wpływa na jego dużą wytrzymałość mechaniczną. Mimo swoich niewątpliwych zalet przewody tego typu straciły dziś na znaczeniu. Rys. 20. Budowa kabla koncentrycznego Ze względu na zmniejszenie kosztów instalacji światłowodów przewody tego typu są dziś coraz częściej stosowane. Na rys. 21 przedstawiono budowę typowego włókna światłowodowego. Rys. 21. Konstrukcja światłowodu Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 27 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Można zauważyć (rys. 21), że światłowód jest zbudowany z trzech współosiowych warstw: rdzeń (ang. Core) płaszcz zewnętrzny (ang. Cladding) ochronna warstwa lakieru Grubości poszczególnych warstw mają standardowe grubości. Rdzeń ma najczęściej średnicę 62,5 μm, rzadziej 50μm. Jest on wykonany ze szkła kwarcowego lub plastiku (POF Plastic Optic Fiber). Płaszcz, niezależnie od grubości rdzenia ma zawsze średnicę 125 μm. Kolejne warstwy ochronne mają również zawsze taką samą grubość, dlatego niezależnie od rodzaju światłowodu i jego budowy wewnętrznej zawsze ma on na zewnątrz tą samą grubość. Kolejnymi warstwami ochronnymi jest kewlarowy oplot oraz zewnętrzna izolacja. Typowe grubości światłowodów, ich zasięg bez konieczności stosowania regeneratorów sygnału oraz typowe zastosowania i okna transmisyjne w których pracują podano na rys. 22. Rys. 22. Właściwości oraz zastosowania typowych światłowodów Zasada działania światłowodu opiera się o znaną z fizyki zasadę całkowitego wewnętrznego odbicia światła. Zgodnie z nią ośrodki, przez które przechodzi światło muszą mieć różne współczynniki załamania światła. Płaszcz wykonany jest z materiału o niższym współczynniku załamania światła niż rdzeń. Różnica ta powoduje, że płaszcz zachowuje się jak “lustro" otaczające rdzeń. Promień światła przemieszcza się więc poprzez rdzeń światłowodu. Na rys. 21 przedstawiony został bardzo ważny parametr oznaczony jako α będący tzw. aperturą kątową światłowodu, na podstawie której można wyznaczyć aperturę numeryczną światłowodu: Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 28 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego gdzie: α – kąt wierzchołkowy stożka akceptacji n1 – współczynnik załamania światła rdzenia światłowodu n2 – współczynnik załamania światła płaszcza światłowodu Oba pojęcia: kąt akceptacji i apertura numeryczna służą do określenia tego samego zjawiska, czyli kąta wprowadzenia światła z diody lub lasera do światłowodu wielomodowego. Apertura numeryczna: informuje o zdolności zbierającej światłowodu jest głównym parametrem odpowiedzialnym za jakość sprzężenia między światłowodami i między światłowodem a źródłem światła określa czułość na ewentualne przesunięcia włókien względem siebie jest niezbędna do oceny innych parametrów światłowodów takich jak: rozkład współczynnika załamania, tłumienia Rys. 23. Rodzaje włókien światłowodowych Ze względu na budowę światłowodu można je podzielić na (rys. 23): jednomodowe Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 29 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego wielomodowe gradientowe Rys. 24. Typowe złącza światłowodowe Dla przewodów światłowodowych będą też stosowane inne elementy łączące niż w przewodach miedzianych. Będą więc stosowane odpowiednie patch panele światłowodowe jak również złącza. Typowe złącza światłowodowe przedstawiono na rys. 24. Ze względu na lepszą konstrukcję uniemożliwiającą poluzowywanie się przewodów w szafie krosowniczej zalecane jest stosowanie złączy typu SC. Ważnym elementem podstawowych należą: sieci teleinformatycznych są urządzenia sieciowe. Wzmacniacz (Repeater) ◦ działa w warstwie fizycznej OSI ◦ regeneruje i wzmacnia sygnały fizyczne ◦ przeznaczony do zwiększenia zasięgu sieci Koncentrator (Hub) ◦ urządzenie wzmacniające sygnał na każdym ze swoich wyjść ◦ występuje wiele rodzajów koncentratorów. Ich funkcje zależą od zastosowania Most (Bridge) ◦ działa w warstwie łącza danych modelu ISO/OSI ◦ oddziela logicznie segmenty sieci ◦ jest niezależny od wyższych warstw modelu ISO/OSI ◦ stosowany do zarządzania ruchem sieci LAN i separacji domen kolizji Przełącznik (Switch) ◦ Działa w warstwie łącza danych modelu ISO/OSI ◦ separuje logicznie segmenty sieci ◦ jest niezależny od wyższych warstw modelu ISO/OSI ◦ stosowany do zarządzania ruchem sieci LAN Router ◦ działa w obrębie trzeciej warstwy modelu ISO/OSI Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 30 Do Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego ◦ oddziela logicznie podsieci ◦ zależny od protokołu warstwy sieciowej ◦ zna topologię sieci ◦ używany w komunikacji międzysieciowej Brama (Gateway) ◦ działa w warstwach od sesji do aplikacji ◦ zależny od aplikacji ◦ stosowany do komunikacji pomiędzy aplikacjami Język modelowania UML Pojawienie się języków programowania obiektowego oraz budowanie dużych systemów informatycznych spowodowało, że prace na tymi systemami wykonywane są przez duże grupy specjalistów, z których każdy ma przydzielone własne zadania do wykonania. Wyniki tych prac są następnie łączone w jedną całość. W celu przedstawienia poszczególnym grupom programistów wyników analizy oraz projektowania obiektowego należało stworzyć jakieś narzędzia ujednolicające ten proces i pozwalające na swobodny przepływ informacji między zespołami pracującymi nad poszczególnymi częściami oprogramowania. W latach 80' i 90' XX wieku Grady Booch, Jim Rumbaugh oraz Ivar Jackobson opracowali język UML (ang. Unified Modeling Language, zunifikowany język modelowania), który pozwala na obiektowe modelowanie dziedziny problemu. W roku 1998 UML stał się standardem de facto w modelowaniu obiektowym. Obecnie jest on rozwijany przez organizację OMG (ang. Object Management Group), która sformułowała żądania standardowego języka modelowania. Do członków tej organizacji należy wiele znanych firm, np.: Hewlett-Packard, Microsoft, Oracle, Texas Instruments i inne UML składa się z wielu komponentów nazywanych diagramami, które pozwalają zawrzeć różne aspekty modelowanego systemu. Zalicza się do nich: diagramy struktur ◦ klas (najczęściej spotykane, ang. class diagram) ◦ obiektów (ang. object diagram) ◦ komponentów (ang. component diagram) ◦ wdrożenia (ang. deployment diagram) ◦ od wersji UML 2.0 ▪ struktur złożonych (ang. composite structure diagram) ▪ pakietów (ang. package diagram) ◦ od wersji UML 2.2 ▪ profili (ang. profile diagram, nowość wprowadzona w UML 2.2) diagramy zachowań ◦ czynności (ang. activity diagram) ◦ przypadków użycia (ang. use case diagram) ◦ maszyny stanów (ang. state machine diagram) (dla UML 1.x stanów, ang. Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 31 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego statechart diagram) ◦ Interakcji (diagram abstrakcyjny) ◦ komunikacji (ang. communication diagram) (dla UML 1.x współdziałania, ang. collaboration diagram) ◦ sekwencji (ang. sequence diagram) ◦ od wersji UML 2.0 ▪ czasowe (ang. timing diagram) ▪ przeglądu interakcji (ang. interaction overview diagram) Mimo tak dużej ilości rożnych diagramów najczęściej wykorzystywane są cztery z nich, w podanej kolejności: Przypadków użycia Sekwencji Klas Aktywności Narzędzia implementujące język UML należą najczęściej do grupy narzędzi komputerowego wspomagania inżynierii oprogramowania (CASE, ang. Computer Aided Software Engineering) i niektóre z nich pozwalają na tzw. inżynierię wsteczną oraz w przód dla wybranych języków programowania obiektowego. Literatura [1] Chroniec J., Strzemieczna E., Sztuczna inteligencja. Metody konstrukcji i analizy systemów eksperckich, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1995 [2] Chustecki J., Janikowski A., i inni, Vademecum teleinformatyka II, IDG Poland S.A., Warszawa 2002 [3] Chustecki J., Janikowski A., i inni, Vademecum teleinformatyka, IDG Poland S.A., Warszawa 1999 [4] Niederliński A., Regułowe systemy ekspertowe, Wyd. Pracowni Komputerowej Jacka Skalmierskiego, Gliwice 2000 [5] Osowski S. Sieci neuronowe w ujęciu algorytmicznym, WNT, Warszawa 1996 [6] Owoc M. (red.): Elementy systemów ekspertowych. Cz. I., Sztuczna inteligencja i systemy ekspertowe, Wydawnictwo Akademii Ekonomicznej, Wrocław 2006 [7] Schmuller J., UML dla każdego, HELION, Gliwice 2003 [8] Seta Z., Wprowadzenie do zagadnień sterowania, MIKOM, Warszawa 2002 [9] Stefanowicz B., Systemy eksperckie. Przewodnik, WSISiZ, Warszawa 2003 [10] Tadeusiewicz R., Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa 1993 [11] Żurada J., Barski M., Jędruch W., Sztuczne sieci neuronowe. Podstawy teorii i zastosowania, PWN, Warszawa 1996 Projekt „Rozwój i promocja kierunków technicznych w Akademii Morskiej w Szczecinie” Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, 70-500 Szczecin 32