logo
Katedra Informatyki i Automatyki
Akademia Techniczno-Humanistyczna
w Bielsku-Białej
Tel.: +48 33 8279-264
Mikołaj Karpiński
Oleksandr Korchenko
Miroslaw Kordos
Vasyl Martsenyuk
Stanisław Rajba
Stanisław Zawiślak
Samsung Electronics BK
Samsung Electronics IV
Samsung Electronics TK
Rockwell Automation

Tematy prac dyplomowych proponowane w 2016 r. - Katedra Informatyki i Automatyki


Propozycje tematów prac dyplomowych oraz praktyk studenckich w Rockwell Automation w 2016 r.
Promotor: obierany jest przez studenta
Konsultant: mgr inż. Tomasz Jakubiec (tel. 600 176 942)

1. Wymiana danych w systemach automatyki przemysłowej za pomocą Web Services
Celem pracy jest zaimplementowanie modułu komunikacyjnego opartego o Web Services, działającego na systemie embedded w architekturze ARM, umożliwiającego wymianę danych z siecią przemysłową opartą o EtherNet/IP. Należy :
- sprawdzić wydajność różnych technologii związanych z Web Services (np. ilość żądań na sekundę)
- ocenić rozwiązania pod kątem łatwości integracji z systemami IT, w szczególności związanymi z automatyką przemysłową

2. Moduł komunikacyjny w technologii bezprzewodowej w sieciach automatyki przemysłowej
Celem pracy jest zintegrowanie modułu komunikacji bezprzewodowej z istniejącym modułem komunikacyjnym PLC pracującym w sieci EtherNet/IP. Należy
- zintegrować i oprogramować modul WiFi
- ocenić parametry komunikacji (czas rzeczywisty) w różnych scenariuszach testowych

3. Ewaluacja i implementacja algorytmów rownoległego dostępu do systemu plików w systemach AMP
Celem pracy jest przeanalizowanie różnych systemów plików pod kątem możliwości równoległego dostępu do nich z różnych procesorów w asymetrycznych systemach wieloprocesorowych. Należy
- zaimplementować/zaadaptować wybrane rozwiązanie do platformy opartej o ARM
- zaimplementować odpowiednie testy demonstrujące działanie równoległe i umożliwiające ocenę podstawowych parametrów wydajnościowych.
- uwzględnić w szczególności systemy plików dedykowane do pamięci FLASH

4. Evaluation of Timings and Cache Operation in Simulated and Real-World Multicore ARM Processors
Celem pracy jest przeprowadzenie testów sprawdzających wydajność pamięci cache w systemie wieloprocesorowym oraz porównanie wyników testów w środowisku rzeczywistym i symulacyjnym. Należy również:
- opracować metodę mierzenia wydajności pamięci cache z systemem operacyjnym lub bez.
- porównać parametry czasowe symulacji i systemu rzeczywistego

5. Evaluation of Real Time Behavior of TCP/IP stacks
Celem pracy jest przeprowadzenie testów sprawdzających jakie opóźnienia (ang. latencies) w przetwarzaniu pakietów sieciowych wprowadzane przez różne implementacje stosów komunikacyjnych TCP/IP dla różnych architektur procesorów/systemów operacyjnych. Należy:
- skonfigurować środowiska testowe
- napisać odpowiednie aplikacje testowe
- zmierzyć opóźnienia i jitter w wysyłaniu/odbieraniu pakietów UDP/TCP dla standardowych stosów w systemie Linux i vxWorks dla procesorów ARM - dla rożnych scenariuszy testowych
- zmierzyć opóźnienia i jitter w wysyłaniu/odbieraniu pakietów UDP/TCP dla standardowych stosów w sytemie Linux i Windows dla procesorów opartych o standardową architekturę IA32 - dla różnych scenariuszy testowych.
- ocenić niektóre inne implementacje stosów komunikacyjnych
- ocenić wpływ sprzętowego interfejsu sieciowego
- zaproponować i zaimplementować zmiany w systemie Linux umożliwiające priorytetyzację pakietów

6. Stanowisko demonstracyjno/szkoleniowe produktów automatyki przemysłowej.
Celem pracy jest opracowanie projektu oraz realizacja stanowiska demonstracyjno-szkoleniowego produktów automatyki przemysłowej opartego o urządzenia firmy Rockwell. Wykorzystanie i zaprezentowanie pełnej gamy możliwości sterowników PLC serii Controllogix oraz urządzeń powiązanych.
- redundancja PLC – możliwość diagnostyki i zarządzania z poziomu HMI, obsługa logów.
-komunikacja w sieci Ethernet IP z urządzeniami rozproszonymi (IO, PLC) – obsługa, konfiguracja, statusy z poziomu HMI
-diagnostyka sterownika PLC – obsługa Minor Fault, kontrola stanu sterownika z poziomu HMI (RUN/Program, itp.)
-synchronizacja czasu pomiędzy sterownikami – konfiguracja CIP sync
-obsługa różnych rodzajów urządzeń wykonawczych/czujników poprzez moduły IO – czujniki, napędy -wizualizacja na HMI

7. Analizator poprawności danych strony web
Celem pracy (praktyka) jest napisanie biblioteki w Python’ie, która umożliwia weryfikację pojawiających się na stronie linków. Linki mogą być zarówno proste jak i zagnieżdżone (również wielokrotnie). Biblioteka ma również pozwalać na identyfikację i raportowanie niepoprawnych linków na stronie docelowej.

8. Środowisko automatycznych testów protokołów opartych o Ethernet
Celem pracy jest stworzenie środowiska do testów automatycznych urządzeń komunikujących się po sieci Ethernet.
- Opracowanie, skonfigurowanie platformy sprzętowej
- Konfiguracja i optymalizacja systemu operacyjnego (pod względem dużej liczby przetwarzanych pakietów)
- Napisanie aplikacji umożliwiającej wykonywanie zdefiniowanych przez użytkownika testów (napisanych w języku Python)
- Środowisko to ma również zapewnić logowanie przesyłanych pakietów do urządzenia testowanego oraz pakietów odbieranych (w formacie pcap)

9. Monitorowanie dostępności serwisów urządzenia podczas testów.
Celem pracy jest zdefiniowanie oraz opracowanie „Test Monitorów” służących do oceny dostępności serwisów zaimplementowanych w urządzeniu podczas jego testowania.
Np. sprawdzenie czy urządzenie odpowiada na ARP request, czy jest możliwość nawiązania połączenia ze wszystkimi otwartymi portami TCP, UDP, itp. podczas wykonywania innych testów.
Każdy ze zdefiniowanych test monitorów powinien być napisany w formie pluginu, który będzie można niezależnie konfigurować, dodawać do środowiska automatycznych testów (opracowanego w pkt 13.) oraz uruchamiać i zatrzymywać.

10. Interfejs GUI dla środowiska automatycznych testów.
Celem pracy jest napisanie GUI dla środowiska automatycznych testów (opracowanego w pkt 13, 14). Aplikacja ta powinna umożliwiać:
- konfiguracje parametrów środowiska testowego,
- konfiguracje urządzenia, które będzie testowane (DUT),
- konfiguracje parametrów poszczególnych scenariuszy testowych.
- konfigurowanie poszczególnych test monitorów (pkt 14), oraz sterowanie ich pracą
- Zarządzanie scenariuszami testowymi (grupowanie, uruchamianie wszystkich, tylko zaznaczonych, itp.)
- Zarządzanie raportami i logami z poszczególnych testów.

11. Opracowanie scenariuszy testowych dla testów protokołów Ethernet, ARP
Celem pracy jest opracowanie oraz zautomatyzowanie testów potwierdzających zgodność testowanego urządzenia z protokołami Ethernet, ARP.
Ponadto testy powinny zawierać scenariusze zawarte w specyfikacjach Embedded Device Security Assurance (EDSA): EDSA-401 Ethernet robustness test spec(v2_01), EDSA-402 ARP robustness test spec(v2_31) (www.isasecure.org)
Testy mają być zautomatyzowane w zdefiniowanym środowisku testów automatycznych (pkt 13)

12. Opracowanie scenariuszy testowych dla testów protokołów IPv4, ICMP
Celem pracy jest opracowanie oraz zautomatyzowanie testów potwierdzających zgodność testowanego urządzenia z protokołami IPv4, ICMPv4.
Ponadto testy powinny zawierać scenariusze zawarte w specyfikacjach Embedded Device Security Assurance (EDSA): EDSA-403 IPv4 robustness test spec(v1_31), EDSA-404 ICMPv4 robustness test spec(v1_3) (www.isasecure.org)
Testy mają być zautomatyzowane w zdefiniowanym środowisku testów automatycznych (pkt 13)

13. Opracowanie scenariuszy testowych dla testów protokołów TCP, UDP
Celem pracy jest opracowanie oraz zautomatyzowanie testów potwierdzających zgodność testowanego urządzenia z protokołami TCP, UDP.
Ponadto testy powinny zawierać scenariusze zawarte w specyfikacjach Embedded Device Security Assurance (EDSA): EDSA-405 UDP robustness test spec(v2_6), EDSA-406 TCP robustness test spec(v1_41) (www.isasecure.org)
Testy mają być zautomatyzowane w zdefiniowanym środowisku testów automatycznych (pkt 13)

Tematy z prac 16-18 mogą być połączone w jedną lub podzielone na zagadnienia związane z każdym z wymienionych protokołów osobno.

14. Model-Based Test Cases Generation and Selection Algorithms for Real Time Embedded Systems (praca mgr)
Celem pracy jest analiza istniejących rozwiązań wspierających generowanie automatycznych testów dla systemów realtime. W ramach pracy przewidziana jest implementacja systemu czasu rzeczywistego przy pomocy znalezionych narzędzi lub też zaimplementowanie prototypu własnego narzędzia przy pomocy którego można zaimplementować i przetestować dany system. Proponowany plan pracy:
Analiza obecnego stanu wiedzy i badań nt automatycznego generowania testów dla systemów czasu rzeczywistego
Analiza bieżących wdrożeń i użycia, wybranie narzędzia lub zaproponowanie implementacji narzędzia wspierającego generację
Zamodelowanie i zbudowanie systemu wbudowanego na standardowej platformie
Wygenerowanie testów
Weryfikacja systemu przy pomocy wygenerowanych testów
Podsumowanie rezultatów

15. Zapora sieciowa (firewall) dla urządzeń wbudowanych (embedded) opartych o system VxWorks (praca inżynierska)
Celem pracy jest opracowanie interfejsu użytkownika (stron www) do konfiguracji zapory sieciowej wykorzystując biblioteki firewall dostępne w systemie operacyjnym VxWorks
Oczekiwana funkcjonalność:
- aktywacja/deaktywacja zapory
- filtry połączeń przychodzących/wychodzących
- ograniczenie ilości przesyłanych danych
- filtry analizujące zawartość pakietu
- logowanie informacji

16. Creation Set of generic C++0x classes/interfaces for efficient hardware in memory mapping (temat na praktykę)
The goal is to develop set of generic C++ classes to interface with hardware registers, memory regions for using with objects constructed via placement new operator instead of using linked script file. Concrete platform dependant classes will be based on those generic ones, like UARTs, timers, etc...

17. Środowisko Projektowe wykorzystujące metodologię i narzędzia Ciągłej Integracji (temat na praktykę)
Celem pracy jest zbudowanie/rozbudowa środowiska projektowego wykorzystującego praktyki 'Continuous Integration' o następującej funkcjonalności:
- zautomatyzowane dedykowane środowisko buildowe
- analiza statyczna kodu
- testy automatyczne (wykonywane na maszynie buildowej i na urządzeniu embedded)
- metryki: pokrycie kodu testami, złożoność kodu, ilość zmienionych linii kodu
- narzędzia Jenkins/Hudson
- ograniczenia dostępu dla grup użytkowników
- notyfikacja e-mail o rezultacie buildu, testów
- zintegrowany wgląd w wyniki ostatnich i archiwalnych buildów/testów
- archiwizacja wyników i automatyczne usuwanie starszych wyników