This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:proj_list [2021/01/26 10:20] xkubalik [Current projects] |
project:proj_list [2021/07/12 10:48] xkubalik |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Current projects ===== | ===== Current projects ===== | ||
- | * **Přenosný přístupový identifikační systém využívající technologii NFC umožňující komunikaci přes GSM bránu ()** (BP - Šimůnek Martin). | + | * **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í. | * Prozkoumání existující řešení. | ||
* Analyzujte technologii NFC a možnost využití platformy arduino jako ovládací prvek. | * 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 vybrané platformy. | + | * 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. | * 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 zařízení bude probíhat přes technologii GSM – formou SMS a za pomoci LCD displeje (základní orientační údaje). | + | * 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 otestujte. | + | * 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) | * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica (Advanced error control codes using Wolfram Mathematica)** (DP - Koleník Stanislav) | ||
Line 49: | Line 98: | ||
* 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 126: | Line 146: | ||
* 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 138: | Line 158: | ||
* 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 | ||