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/27 09:41] xkubalik [Current projects] |
project:proj_list [2021/04/07 13:56] xkubalik [Available projects] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== All projects ====== | ====== All projects ====== | ||
===== Current projects ===== | ===== Current projects ===== | ||
+ | |||
+ | * **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) | * **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) | ||
Line 61: | 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 150: | 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 | ||