Table of Contents
Studio projektowe 1 (2014)
Terminy
Cel zajęć
Celem zajęć jest realizacja projektu obejmująca:
- elementy modelowania biznesowego
- specyfikację wymagań
- projekt architektury systemu
- projekt modułów
- implementację modułów.
- integrację, wdrożenie, testy
Zajęcia mają obejmować również elementy zarządzania projektem informatycznym
Patrz Sylabus
Organizacja
Projekty są wykonywane w grupach. Zaleca się, aby były to grupy o liczebności wskazanej przy tematach projektów. Grupa powinna wybrać temat projektu z listy i zarezerwować za pomocą formularza rejestracji. Tematy projektów muszą być unikalne. Możliwe jest zaproponowanie własnego tematu po uprzedniej akceptacji przez prowadzącego. Jeżeli na liście pojawią się dwie rezerwacje tego samego projektu – późniejszy wpis zostanie usunięty.
TBD
Do ustalenia:
- tryb i terminy konsulatcji projektów
- prezentacje
- monitorowanie postępu prac
- kryteria oceny
Tematy projektów
Tematy projektów odzwierciedlają aktualnie prowadzone lub planowane prace badawcze. Podana liczba osób jest orientacyjna i podlega negocjacjom (wymagana jest wyraźna dekompozycja zadań)
1. Narzędzie wspierające ocenę ryzyka dla systemów IT
Zajęte
Grupa 2-3 os.
Celem jest specyfikacja projekt i implementacja internetowej aplikacji pozwalającej na ocenę ryzyka dla oprogramowania dla metody zaproponowanej w artykule http://home.agh.edu.pl/~pszwed/pub/conferences/swop-security.pdf
- Definicja zagrożeń (najchętniej w postaci drzewiastej struktury - podział na kategorie)
- Identyfikacja aktywów (w tym import CSV lub innej postaci z Archimate)
- Definicja macierzy wpływu (drzewa wartości dodanej)
- Rozszerzalny słownik zabezpieczeń
- Definicja formularzy oceny ryzyka dla poszczególnych aktywów
- Wypełnianie formularzy
- Moduł oceny
Technologia: JEE.
2. Śledzenie ruchomego obiektu na mapie
Zajęte
Grupa 2 os.
- Systemu składa się z aplikacji mobilnej oraz serwera. Aplikacja mobilna (Android) przekazującej dane lokalizacyjne do serwera.
- Interesują nas wyłącznie dane z WiFi/triangularyzacji sieci komórkowej charakteryzujące się dość dużym szumem (kilkadziesiąt metrów) ale znacznie mniejszym zużyciem energii niż GPS
- Po stronie serwera dane są poddane czyszczeniu i rzutowane na mapę za pomocą wskazanych algorytmów (do zaimplementowania, język Java)
- Źródło mapy: OSM
- W BD przechowywane są zarówno dane surowe, jak i zrzutowane (po przetworzeniu)
- Wizualizacja tras na mapie
- Należy przeprowadzić testy systemu na kilkudziesięciu zebranych śladach (ruch pojazdem, ruch rowerem, pieszy)
3. Semantyczne repozytorium wideo
Zajęte
Grupa 2-3 os.
Repozytorium przechowuje klipy wideo wraz z metadanymi. Zastosowanie: wsparcie dla systemu analizy wideo.
- Różne reprezentacje klipu: pojedyncze ramki lub strumień
Metadane mogą obejmować:
- Dane opisujące ustawienia kamery
- Obrazy tła z anotacjami czasowym
- Przetworzone ramki
- Zdefiniowane stałe obiekty sceny (typy + informacja geometryczna)
- Wydzielone segmenty obrazu (ramki, elipsy, wieloboki lub bitmapy)
- Wydzielone obiekty (ramki, elipsy, wieloboki lub bitmapy), typy obiektów
- Relacje pomiędzy obiektami (wraz z cechami)
- Wektory cech przypisanych obiektom i relacjom (pary klucz-wartość)
- Obiekty mogą być wykryte (zidentyfikowane) ale mogą to być również manualne anotacje
- Dodatkowo - powiązania między klipami, np. ta sama scena obserwowana z różnych kamer
Przykłady zbiorów podlegających obróbce:
4. System/algorytm budowy grafu pomieszczeń
Grupa 2 os.
Kluczowym zadaniem jest opracowanie i implementacja algorytmu, który generuje graf opisujący układ pomieszczeń. Węzły to pomieszczenia, okna, drzwi, krawędzie to połączenia. Zarówno węzłom, jak i krawędziom mogą być przypisane atrybuty, np. rozmiar pomieszczenia, kształty geometryczne.
- Wejściem jest bitmapa zawierająca plan, np. mieszkania, galerii handlowej. Przykład wyrazistego planu
- Na plan nakładana jest siatka komórek
- Następuje scalanie komórek sklasyfikowanych jako “wnętrze” w węzły grafu
- Wykrycie komórek składających się na takie obiekty jak przejścia (drzwi) oraz okna
- Zbudowanie grafu
Funkcje systemu:
- Upload bitmapy lub PDF
- Możliwość zaznaczenia interesującego regionu podlegającego analizie (wielobok)
- Możliwość wprowadzenia manualnych anotacji dla komórek lub regionów na testowym obrazie (jednym z grupy). Celem jest nauczenie, jak wygląda ściana, tekst, drzwi
- Budowa grafu i zapis w BD (wraz referencyjną bitmapą)
- Możliwość przeglądania i wizualizacji (np. w przeglądarce)
- Możliwość naniesienia poprawek manualnych w przypadku błędnego rozpoznania
- Eksport grafów w formacie XML
5. Agentowy system sterowania oświetleniem drogowym
Zajęte
Grupa 2 os.
Celem projektu jest budowa systemu symulującego inteligentny obszarowy sterownik świateł.
Rozważamy sieć drogową podmiejską. Przy drogach zainstalowane są lampy diodowe, dla których można sterować natężeniem światła. W wybranych punktach sieci drogowej (zazwyczaj w pewnej odległości przed skrzyżowaniami) zainstalowane są czujniki ruchu pozwalające wykryć pojazd i oszacować jego prędkość.
- Kiedy droga jest pusta, lampy świecą światłem małej mocy.
- Kiedy wykrywany jest pojazd, lampy mają przed nim rozjaśnić się z wyprzedzeniem uzależnionym od prędkości, pola widzenia, itp.
- Należy również rozważyć ruch ciągły na wybranych drogach (utrzymywane stałe natężenie)
System składa się ze sterowników (agentów) działających równolegle i zarządzających kilkunastoma lampami i czujnikami na pewnym obszarze. Agenci przekazują sobie informację o nadjeżdżającym pojeździe tak, aby “przekazać” sobie pojazd.
Etapy:
- Import mapy z OSM
- Manualne naniesienie lamp i zaznaczenie obszarów
- Symulacja ruchu pojazdów (różne natężenia) wraz z wizualizacją
- Implementacja pojedynczego sterownika
- Integracja kilku(nastu) sterowników wraz z wymianą komunikatów
- Wizualizacja zmian natężenia światła podczas ruchu pojazdów
6. Prototypowy system/algorytm umożliwiający identyfikację pojęć pojawiających się w tekstach
Zajęte/zarezerwowane
Grupa 1-2 os.
Celem systemu jest automatyczne rozpoznawanie pojęć pojawiających się w tekstach. Ogólnie, idea polega na opisie sekwencji wyrazów składających się na pojęcia w postaci maszyn skończenie-stanowych oraz nadanie przejściom prawdopodobieństw wystąpienia.
Przykłady:
- Wysoka gorączka [przymiotnik,rzeczownik]
- Pacjent z wysoką gorączką [przymiotnik, przyimek=z, przymiotnik, rzeczownik]
- Samochód [rzeczownik]
- Samochód dostawczy [rzeczownik przymiotnik]
- Niebieski samochód [przymiotnik rzeczownik]
Narzędzia:
- Morfologik (stemmer, sprowadza wyraz do postaci podstawowej, daje informacje, jaka to część mowy)
- Opcjonalnie: polski Wordnet
- Opcjonalnie: Jena, pakiet umożliwiający programowy dostęp do ontologii
Przykład do dyskusji: GINA
7. Sieci Petriego XQPN
Grupa 2-3 os.
Projekt obejmuje dwa moduły:
- Edytor sieci Petriego XQPN na platformie Eclipse/EMF wraz z możliwością wizualizacji wykonania
- Silnik wykonania sieci XQPN
Informacje o sieciach:
- Szwed, P.: XQPN – colored Petri nets for processing XML data with XQuery language Electrical Review Stowarzyszenie Elektryków Polskich ; ISSN 0033-2097. — 2010 R. 86 nr 9 s. 221–225 PDF
- Szwed, P., Wadowski, D., Paździora, K.: A framework for testing Web services based on XQPN Petri nets In IFIP 2009: Software Engineering Techniques in Progress : the 4th IFIP TC2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2009 : Kraków, Poland, October 12–14, 2009 / eds. Zbigniew Huzar, Jerzy Nawrocki, Marcin Szpyrka. — Kraków : AGH University of Science and Technology Press, 2009. — ISBN 978-83-7464-259-0. — 53–66. PDF Presentation: PPT
Przykład do realizacji:
http://journals.bg.agh.edu.pl/AUTOMAT/2013.17.2/automat.2013.17.2.241.pdf
8. Algorytm/system śledzenia obiektów wewnątrz pomieszczeń
Grupa 1-2 os.
Celem projektu jest przede wszystkim zaproponowanie, opracowanie i porównanie kilku wersji algorytmów.
- Źródłem danych o położeniu obiektów mogą być czujniki różnego typu (mapa WiFi, kamery)
- Obiekt może nie być jednoznacznie identyfikowany (w przypadku kamer)
- Mają zostać zastosowane symulowane dane o obiektach i ich położeniu.
- Podczas eksperymentów na ruch ma zostać nałożony szum (możliwa zmiana odczytanej lokalizacji oraz niepewność co do ustalenia ID)
- Konieczność fuzji danych (np. z kilku kamer obserwujących równocześnie tę samą scenę)
Platforma: Java+Swing
9. Analiza danych z wykorzystaniem zbiorów przybliżonych
Zajęte
Grupa 1-2 os.
Celem jest implementacja kilku algorytmów składających się na pozwalającej na analizę danych (klasyfikację) z wykorzystaniem zbiorów przybliżonych.
- Klasyczna teoria zbiorów przybliżonych: Rough Sets: A Tutorial
- Przykłady danych Wine
Przydatna znajomość algorytmów optymalizacji (np. ewolucyjnych)
10. Rozmyte sterowanie ruchem
Zajęte
Grupa 1-2 os.
Projekt ma wykorzystywać pakiet SUMO będący zaawansowanym narzędziem symulacji ruchu drogowego.
Źródłem mapy ma być OSM (Open Streat Map)
Zakładamy, że dla wybranych skrzyżowań zasymulowane zostaną światła sterujące oraz zbierane będą dane o ruchu pojazdów za pomocą wirtualnych czujników.
Sterowanie ma polegać na zmianie długości faz świateł w zależności od zmierzonego natężenia ruchu. Realizowane jest przez rozmyte reguły (typu: jeśli natężenie duże, to przedłuż fazę)
Głównym celem projektu jest optymalizacja reguł
Do zaimplementowania dwie architektury:
- niezależne sterowniki (wersja podstawowa)
- sterowniki wymieniające się informacjami (wersja rozszerzona)
11. Optymalizacja energii w systemie śledzenia pojazdów i monitorowania ruchu
Zarezerowane?
Najchętniej kontynuacja pracy inżynierskiej.
http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=tematy_prac_inzynierskich
12. Metryki dla architektur oprogramowania
Najchętniej kontynuacja pracy inżynierskiej.
http://home.agh.edu.pl/~pszwed/wiki/doku.php?id=tematy_prac_inzynierskich
14. Hurtownia danych zdarzeń zarejestrowanych podczas wykonania procesów
Zajęte
Grupa 1-2 os.
- Projekt i implementacja hurtowni danych.
- Zasilanie: pliki tekstowe w formacie XES http://www.xes-standard.org/
- Model i zakres zapytań do ustalenia
15. Usługi sieciowe udostępniane przez mobilne urządzenia
Zajęte
Grupa 2 os.
Proponuje się wykorzystanie pakietu gSOAP i przeniesienie go na platformę Android
- Etap I: demonstracja działania serwera usług sieciowych na urządzeniu mobilnym
- Etap II:
- zewnętrzny serwer monitorujący stan urządzeń mobilnych i dostępność oferowanych usług
- kontekstowe udostępnianie usług, np. zależne od stanu naładowania baterii
Rejestracja tematów
Uwaga Przed zarejestrowaniem tematu sprawdź, czy nie jest zajęty. Dany temat może zostać wybrany tylko przez jedną grupę.
Funkcja do rejestracji jest niestety bardzo prymitywna, za co z góry przepraszam. Działanie jej polega na dopisywaniu kolejnych wierszy do pliku tekstowego. Nanosząc ręcznie poprawki najłatwiej jest mi usuwać całe wiersze.
- Jeśli 1-2 osobowa grupa chce dodać kolejną osobę - proszę zarejestrować jeszcze raz wpisując wszystkich członków grupy. Wcześniejszy wpis zostanie usunięty
- Jeżeli grupa chce zmienić temat - proszę zarejestrować jeszcze raz grupę i nowy temat.