User Tools

Site Tools


project:proj_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
project:proj_list [2021/01/22 17:03]
xkubalik [Current projects]
project:proj_list [2022/02/01 11:27]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica (Advanced error control codes in Wolfram Mathematica ​tool)** (DP - Koleník Stanislav)+  ​* **Zařízení pro měření vytíženosti zdrojů vestavného procesoru pří obsluze externích modulů (The resource consumption measure device of embedded processor handling external modules)** - (BP - Kocourek Matěj) 
 +    - Prozkoumejte existující řešení. 
 +    - Navrhněte vlastní zařízení umožňující připojení většího množství externích modulů k vestavnému procesoru. 
 +    - Vyberte vhodnou testovací platformu umožňující analýzu spotřeby paměti, procesorového času a elektrické energie v závislosti na počtu připojených externích modulů. 
 +    - Každý externí modul bude obsahovat aspoň jeden senzor a jeden ovladací prvek. 
 +    - Pro vzájemnou komunikaci vyberte vhodný komunikační protokol. 
 +    - Navržené řešení zrealizujte. 
 +    - Pro výsledné řešení napište obslužnou aplikaci umožňující měřit velikost potřebné paměti, dobu obsluhy externího modulu, dobu odezvy a výslednou spotřebu. 
 +    - Na základě získaných výsledků měření určete nároky na použitý vestavný systém v závislosti na počtu připojených externích modulů.  
 + 
 + 
 +  * **Řídicí systém pro model terénního vozítka založený na platformě Arduino (The control system used for terrain vehicle model based on Arduino platform)** - (DP - Zemánek Martin) 
 +    - Prozkoumejte existující řešení dálkově ovládaných vozítek.  
 +    - Pro návrh řízení vozítka vyberte vhodný model obsahující 6 samostatně řiditelných kol. 
 +    - Navrhněte vlastní řešení řízení vozítka s pomocí platformy Arduino tak ,aby každé kolo mělo vlastní řízení ovladané samostatným arduinem. 
 +    - Celé řízení pak bude ovládáno hlavní deskou s Arduinem. 
 +    - Aplikace pro Arduino bude umožňovat řízení každého kola tak, aby bylo možné jezdit všemi směry.  
 +    - Cele zařízení bude navrženo s ohledem na pozdější rozšíření o platformu Raspberry PI umožňující použití například rozhraní wifi, SD karty a přídavné kamery. 
 +    - Veškeré řízení pohybu vozítka bude provedeno pomocí dálkového ovládání.  
 +    - Vozítko bude na sobě obsahovat další senzory potřebné pro pohyb a detekci překážek pro všechny směry.  
 +    - Vozítko bude umět automaticky měnit maximální rychlost v závislosti na vzdálenosti od překážky a to na všechny směry možného pohybu. 
 +    - Navržené řešení zrealizujte a řádně otestujte. 
 + 
 + 
 +  * **Inovace řadiče pro grafický LCD displej elektronického psacího stroje (The controller innovation of graphical LCD display used in electronic typewrite)** - (BP - Pankovčin Boris) 
 +    - Prozkoumejte existující řešení ovládání LCD displeje psacího stroje typu Triumph-Adler Gabriele PFS. 
 +    - Z dokumentace k radiči MSM6255 analyzujte a na existujícím řešení ověřte průběhy pro ovládání displeje. 
 +    - Na základě získaných dát navrhněte a zrealizujte vlastní řadič displeje s pomocí FPGA obvodu. 
 +    - Pro účel testování propojte navrhnutý radič s vývojovou deskou RaspberryPI. 
 +    - Výsledné řešení řádně otestujte 
 + 
 + 
 +  * **Android aplikace pro dálkové ovládání platformy Arduino (An android application for remote control of the Arduino platform)** - (BP - Denissyuk Andrey) 
 +    - Prozkoumejte existující řešení. 
 +    - Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům. 
 +    - Navržené řešení naprogramujte,​ řádně ho zdokumentujte a otestujte. 
 +    - Požadavky:​ 
 +      * aplikace bude navržena jako mobilní aplikace pro OS Android 
 +      * aplikace umožní spojení aplikace z Arduinem pomoci Wifi 
 +      * pro komunikaci bude zvolen vhodný protokol 
 +      * aplikace bude umožňovat ověření uživatele s pomocí jména a hesla 
 +      * aplikace bude umožňovat přidání uživatelů s různým typem oprávnění 
 +      * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina 
 +      * aplikace umožní měnit obsah proměnných v procesu Arduina 
 + 
 +  * **Android aplikace pro sdílení proměnných s platformou Arduino prostřednictvím Bluetooth (An android application for variable sharing with Arduino platform based on Bluetooth communication)** (BP - Jokl Natanael) 
 +    * Prozkoumejte existující řešení. 
 +    * Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům. 
 +    * Navržené řešení naprogramujete,​ zdokumentujte a řádně otestujte. 
 +    * Požadavky:​ 
 +      * vyberte vhodný programovací jazyk pro OS Android a platformu Arduino, 
 +      * sdílené proměnné mezi oběma zařízeními budou přenášený s pomocí formátu JSON, 
 +      * aplikace pro Android umožní připojení k zařízení Arduino přes Bluetooth,​ 
 +      * zařízení Arduino bude podporovat tyto periferie: tlačítka, displej, LED dioda, GSM modem, 
 +      * připojení bude provedeno pomocí uživatelského jména a hesla, 
 +      * aplikace bude umožňovat více uživatelů s různým typem oprávnění,​ 
 +      * aplikace umožní sledovat proměnné na zařízení Arduino, 
 +      * aplikace umožní měnit hodnotu proměnných na zařízení Arduino v závislosti na oprávnění přihlášeného uživatele. 
 + 
 +  * **Systém pro emulaci akceleračního pedálu osobního automobilu (System for emulating the accelerator pedal of a car)** (BP - Mareček Jakub) 
 +    * Prozkoumejte existující řešení. 
 +    * Analyzujte protokol SENT a jeho rozšíření SPC. 
 +    * Analyzujte možnosti generování kódů emulujících funkci akceleračního pedálu a navrhněte řešení s využitím platformy ESP32. 
 +    * Proveďte analýzu komunikace pedálu z koncernu VW. 
 +    * Navrhněte zařízení pro replikaci signálů akceleračního pedálu tak, aby zařízení bylo schopno komunikovat s reálnou řídící jednotkou. 
 +    * Pro komunikaci pedálu s řídicí jednotkou využijte protokol SENT/SPC. 
 +    * Zařízení musí být ovladatelné přes CAN sběrnici i fyzickými ovladači. 
 +    * Navržené řešení zrealizujte a řádně otestujte. 
 + 
 +  * **Systém pro sledování vozidel a zaznamenávání knihy jízd pomocí GPS lokátorů (A vehicle tracking system with a recording of journey logs using GPS)** (BP - Jehlička Matěj) 
 +    * Prozkoumejte existující řešení. 
 +    * Pomocí metod softwarového inženýrství navrhněte a naprogramujte aplikaci pro sledování vozidel v reálném čase, která bude nasbíraná data ukládat a dále zpracovávat. 
 +    * Řešení se bude skládat ze serverové části a uživatelské části představované lokátorem (tyto dvě zařízení budou mezi sebou komunikovat přes síť Internet) 
 +    * Navržené řešení zrealizujte a řádně otestujte. 
 +    * Požadavky:​ 
 +      * GPS lokátor bude postaven na platformě ESP32 
 +      * lokátor bude odesílat data na server pomocí GPRS/EDGE 
 +      * server bude umožňovat zobrazení pozice lokátorů v reálném čase 
 +      * server bude umožňovat připojení několika lokátorů 
 +      * server bude zaznamenávat polohu a metadata z lokátorů 
 +      * uživatelské rozhraní bude realizováno formou webové aplikace. 
 + 
 +  * **Přenosný přístupový identifikační systém využívající technologii NFC a umožňující komunikaci přes GSM bránu (Portable access identification system using NFC technology and communicating via GSM gateway)** (BP - Šimůnek Martin). 
 +    * Prozkoumání existující řešení.  
 +    * Analyzujte technologii NFC a možnost využití platformy arduino jako ovládací prvek. 
 +    * Analyzujte a navrhněte bezpečné řešení s ohledem na omezené zdroje platformy Arduino.  
 +    * Navržené zařízení se bude skládat z Arduino mikrokontroleru,​ GSM modulu pro posílání SMS zpráv, čtečky NFC a LCD displeje. 
 +    * Komunikace se zařízením bude probíhat přes technologii GSM – formou SMS a za pomoci LCD displeje (základní orientační údaje). 
 +    * Navržené řešení zrealizujte a řádně otestujte. 
 + 
 +  ​* **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica (Advanced error control codes using Wolfram Mathematica)** (DP - Koleník Stanislav)
     * Rozšiřte již existující sadu výukových scénářů pro podporu výuky bezpečnostních kódů o vybrané pokročilé kódy.     * Rozšiřte již existující sadu výukových scénářů pro podporu výuky bezpečnostních kódů o vybrané pokročilé kódy.
     * Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát.     * Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát.
Line 8: Line 98:
     * V dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii.     * V dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii.
     * Navržené řešení zrealizujte a řádně otestujte. ​     * Navržené řešení zrealizujte a řádně otestujte. ​
-    * Výtvořte několik příkladů použití každého kódu.+    * Vytvořte několik příkladů použití každého kódu.
     * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.     * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.
  
Line 40: Line 130:
     * Navržené zařízení zrealizujte a řádně otestujte.     * Navržené zařízení zrealizujte a řádně otestujte.
  
-  * **Návrh spolehlivých systémů v FPGA s použitím bezpečnostních kódů (Design of dependable system based on error control codes for FPGA)** - (DP - Pail Vojtěch) 
-    * Prozkoumejte existující metody řešení. 
-    * Analyzujte vlastnosti různých typů kombinačních obvodů pomocí sady benchmarků z hlediska odolnosti proti poruchám. Využijte simulační software dostupný na KČN. 
-    * Na základě takto získaných dat nalezněnte vhodný bezpečnostní kód, který bude schopen tyto poruchy detekovat, popř. i opravovat tak, aby redundance (area ovehead) byla co nejmenší. 
-    * Specifikujte požadavky na úpravu simulačního softwaru tak, aby obsahoval podporu pro výběr nejvhodnějšího kódu. 
-    * Navržený způsob řešení ověřte na několka příkladech konkrétních obvodů a kódů. 
-    * Vytvořte klasifikaci obvodů s hlediska možností opravy/​detekce poruch. 
- 
- 
- 
-  * ** Nástroj pro generování bezpečnostních kódu ve VHDL s pomocí programu Wolfram Mathematica (Error control code generator tool in VHLD language using Wolfram Mathematica)** - (BP - Ganeev Timur) 
-    - Prozkoumejte existující řešení. 
-    - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat bezpečnostní kódy. 
-    - Vstupem do generátoru budou základní parametry pro zvolený bezpečnostní kód (počet vstupních vodičů, název výstupních souboru apod.). 
-    - Výstupem generátoru budou 3 VHDL soubory sloužící jako kodér, dekodér a testbench pro zvolený kód. 
-    - Zaměřte se zejména na základní paralelní kódy: sudá parita, Hammingův kód rozšířený Hammingův kód a dále pak na seriové kódy, jako jsou kódy generované mnohočleny (cyklický kód). 
-    - Pro každý kód vytvořte několik příkladů,​ na kterých v simulačním nástroji ModelSim ukážete správnou funkci generovaných souborů. 
-    - Zároveň pro každý vytvořený příklad zjistěte spotřebované zdroje při implementaci v FPGA obvodu. 
-    - Výsledné řešení řádně otestujte. 
- 
-  * ** Nástroj pro generování násobiček a děliček ve VHDL s pomocí programu Volfram Mathematica (Multiplier and divider circuit generator tool in VHLD language using Wolfram Mathematica)** - (BP - <​del>​Kougl Ladislav</​del>​) 
-    - Prozkoumejte existující řešení. 
-    - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat násobičky a děličky. 
-    - Vstupem do generátoru násobičky a děličky bude typ operace, šířka vodičů a počet bitů na číslici. 
-    - Generátor násobičky bude umožňovat násobení čísel bez znaménka, čísel v doplňkovém kódu a to i za použití relativních číslic. 
-    - Generátor děliček bude umožňovat dělit celá čísla a čísla menší než jedna. Zaměřte se i na použití dělení čísel využívající metody SRT. 
-    - Pro každý typ násobení a dělení vytvořte několik příkladů,​ na kterých v simulačním nástroji ModelSim ukážete správnou funkci generátorů. 
-    - Zaměřte se na prezentaci algoritmu násobení a dělení v programu Wolfram Mathematica tak, aby byl zřejmý jejich princip. 
-    - Výsledné řešení řádně otestujte. ​ 
   ​   ​
 ===== Available projects ===== ===== Available projects =====
Line 84: Line 145:
     * vlastní zadání     * vlastní zadání
     * Wifi a ESP32/​ESP2866     * Wifi a ESP32/​ESP2866
 +    * zařízení pro ochranu baterie před vybitím
  
-  2. Volfram ​Mathematica+  2. Wolfram ​Mathematica
     * bezpečnostní kódy     * bezpečnostní kódy
     * kódy pro kryptografií     * kódy pro kryptografií
Line 117: Line 179:
     * vlastní zadání     * vlastní zadání
  
-  6. Raspberry PI+  6. Raspberry PI / Raspberry PI Pico
     * ovládání jednoduchých periferií     * ovládání jednoduchých periferií
     * chytré síť, ovládání periferií přes ethernet     * chytré síť, ovládání periferií přes ethernet
Line 129: Line 191:
     * aplikace pro zpracování a generování dat podle šablon     * aplikace pro zpracování a generování dat podle šablon
  
-  9. Projekty zadané externím zadavatelem+  9. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře 
 +    * využití AoT kompilace a minimalizace start-up času 
 +    * výběr vhodného JVM a analýza jeho výhod pro minimální náročnost na prostředky (např. GraalVM) 
 +    * využití vhodného frameworku a analýza jeho výhod (např. Quarkus) 
 +    * analýza možností využití pro serverless architekturu (např. Knative) 
 +    * využití komunikace přes gRPC 
 +    * podpora feature flagů pro release management 
 +    * vlastní zadání 
 + 
 +  10. Virtualizace a izolace aplikačních prostředí 
 +    * využití OCI kontejnerů jako způsob doručování aplikací 
 +    * analýza bezpečnostních chyb využívané technologie docker a možnosti jejich eliminace 
 +    * porovnání s jinými přístupy (např. podman, buildah apod.) 
 +    * lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (např. docker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů (např. OverlayFS) 
 +    * bezpečné (rootless) spuštění více kontejnerů uvnitř kontejneru 
 + 
 +  11. Orchestrace kontejnerů v distribuovaném on-premise prostředí 
 +    * porovnání vlastností využívaných pro jako container runtime (containerd vs docker vs CRI-O) 
 +    * kubernetes vs jeho komerční distribuce (openshift, tanzu) 
 +    * helm vs yaml manifesty (+ možnosti jejich úprav, např. kustomize) 
 +    * realizace ingress load balancerů v lokálním on-premise prosředí 
 +    * vytvoření persistence v distribuovaném prostředí (např. Ceph, Rook, GlusterFS apod.) 
 +    * správa citlivých údajů (šifrování kubernetes secrets, PAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání) 
 + 
 +  12. Podpora vývoje a administrace prostředí prostřednictvím automatizace 
 +    * analýza praktik DevOps přístupu, GitOps, SecOps, ChatOps, AIOps 
 +    * analýza a představení SRE (Site reliability engineering) praktik 
 +    * vytvoření a nasazení prostředí pro kompletní podporu životního cyklu aplikace naplňující znaky GitOps a IaaC (infrastructure as a code) 
 +    * zabezpečení SVC repozitářů přes GPG klíče 
 +    * podpora IaaC nástrojů (ansible, chef+puppet,​ cloud vendor proprietární nástroje, terraform) 
 +    * využití CI nástroje s dynamickým vytěžováním zdrojů dle aktuální zátěže (návrh tzv. CI farmy) 
 +    * podpora deklarativního popisu činností (pipelines) 
 +    * porovnání známých CI nástrojů (jenkins, jenkins-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů 
 + 
 +  13. Projekty zadané externím zadavatelem
     * seznam zadavatelů níže     * seznam zadavatelů níže
  
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik