====== 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 [[https://syllabuskrk.agh.edu.pl/pl/magnesite/study_plans/2012-2013-stacjonarne-informatyka-stosowana-inzynieria-oprogramowania-i-systemow/module/353-eit-2-110-s-studio-projektowe-1|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: *[[http://homepages.inf.ed.ac.uk/rbf/CAVIARDATA1/]], *[[http://www.cvg.rdg.ac.uk/PETS2007/data.html]], itp. ==== 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. [[http://www.pradnikpark.pl/pdfs/kM33a.pdf|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: [[http://pszwed.kis.agh.edu.pl/ontologies/gina-glossary/index.html|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 [[http://pszwed.kis.agh.edu.pl/lib/exe/fetch.php?media=papers:xqpn-draft-2010.pdf|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. [[http://pszwed.kis.agh.edu.pl/lib/exe/fetch.php?media=papers:pszwed-framework-for-testing.pdf|PDF]] [[http://pszwed.kis.agh.edu.pl/lib/exe/fetch.php?media=papers:fvwa-cee-set.ppt|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: [[http://secs.ceas.uc.edu/~mazlack/dbm.w2011/Komorowski.RoughSets.tutor.pdf|Rough Sets: A Tutorial]] *Przykłady danych [[https://archive.ics.uci.edu/ml/datasets/Wine|Wine]] Przydatna znajomość algorytmów optymalizacji (np. ewolucyjnych) ==== 10. Rozmyte sterowanie ruchem ==== :!: //Zajęte// **Grupa 1-2 os. ** Projekt ma wykorzystywać pakiet [[http://sumo-sim.org/|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 [[http://www.cs.fsu.edu/~engelen/soap.html|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ę.** [[http://home.agh.edu.pl/~pszwed/sproj/inscr-2014.html|Zarejestruj temat]] \\ [[http://home.agh.edu.pl/~pszwed/inscr/list.cgi?courseid=sproj-1-2014&title=StudioProjektowe1|Lista zarezerwowanych tematów]]\\ 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.