Teme za master radove
Oblasti
Master teme su iz oblasti inženjerstva jezika (Language Engineering) što uključuje:
- Dizajn i implementacija programskih jezika i jezika specifičnih za domen
- Parseri
- Prevodioci
- Generisanje koda
- Interpretacija
- Literate programming
- Programski editori
- Vizualizacija programa i njihovog izvršavanja
- Debagovanje
- Analiza legacy sistema
- Optimizacije koda
- Otkrivanje kopija
- Refaktorisanje
- …
Videti materijale sa predmeta Jezici specifični za domen
Takođe je moguće dobiti temu i iz oblasti upravljanja konfiguracijom softvera (Software Configuration Management):
- git
- docker
- kubernetes
- Sistemi za Continuous Integration / Continuous Delivery
Slobodne teme
Podrška za indentation/column-based jezike
Podrška za bojenje koda i navigaciju za ugrađene (embedded) editore i jezike bazirane na textX / parglare (2 teme - textX, parglare)
- Videti:
Podrška za IntelliSense u jezicima baziranim na parglare biblioteci u Visual Studio Code
- Videti textX-LS
Podrška za strukturu i bojenje koda u jezicima baziranim na parglare biblioteci u Visual Studio Code
- Videti:
Podrška za vizualizaciju jezika baziranih na parglare biblioteci.
- Videti viewX-vscode
Teme u izradi
Aleksandar Đurđev: VSCode plugin za parglare sa LSP
- Tema izdata: mart 2022.
Aleksandar Petaković: Jezik za opis jediničnih testova Serverless aplikacija
- Tema izdata: novembar 2021.
Boris Šuličenko: Veb bazirani debager za Parglare parser
- Tema izdata: septembar 2021.
Prikaz tekućeg stanja parsera (GSS strukture) i parcijalnih stabala. Korak po korak izvršavanje. Osmisliti protokol komunikacije sa instancom parsera. Upotreba WebSocket-a i asinhronog programiranja u Python-u. Vizualizacija u Web browser-u upotrebom d3js ili druge JavaScript biblioteke.
Dejan Šorgić: Podrška za pyFlies DSL u Visual Studio Code
- Tema izdata: jun 2021.
- Videti textX i textX-LS
- https://microsoft.github.io/language-server-protocol/
https://www.youtube.com/watch?v=tSFdYYnQmjA
pyFlies je jezik za definisanje eksperimenata u oblasti psihologije i neuro nauka. LSP bi omogućio “pametnu” dopunu koda i navigaciju. Instalirao bi se zajedno sa VS Code ekstenzijom i omogućio bolje korisničko iskustvo u upotrebi jezika. Implementacija bi bila bazirana na textX-LS i pygls.
Aleksandar Vujasinović: mikroservisi za domen finansija i trgovine na berzi
- Tema izdata: februar 2021.
Radoš Aćimović: Sistemi za upravljanje softverskim kontejnerima
- Tema izdata: januar 2021.
Milan Šović: Minimalna jezička infastruktura za bojenje koda, sklapanje (folding) i Intellisense za jezike bazirane na textX-u
Tema izdata: oktobar 2018.
Na osnovu textX gramatike, i dodatnih DSL-ova po potrebi, generisati minimalni web bazirani editor sa bojenjem koda, sklapanjem i komunikacijom sa Language Server Protocol serverom (podrškom za IntelliSense). Editor treba da ima minimalne zavisnosti tako da se može korisiti u različitim kontekstima (na web-u, kao ugrađeni, kao deo desktop aplikacija, kao test editor pri razvoju gramatike i sl.)
Završene teme
Aleksa Ivković: Platforma za specifikaciju i interpretaciju interaktivne fikcije
- Tema izdata: jun 2021.
- Odbranjeno: oktobar 2021.
- https://github.com/AleksaIvkovic/WhatIf
- A curated list of interactive fiction frameworks, tools, and resources
Istražiti postojeće jezike i editore za opis IF igara. Osmisliti i implementirati jezik za modelovanje IF igara upotrebom textX ili parglare. Implementirati interpreter modela. Kao studiju slučaja implementirati proizvoljnu igru.
Andrej Jokić: Transformacije AST -> tekst (pretty printing)
- Tema izdata: septembar 2020.
- Odbranjeno: oktobar 2021.
- https://github.com/ajokic1/pprint-textx
Nenad Mišić: automatsko raspoređivanje elemenata dijagrama uporebom Sugiyama algoritma, LSTM neuronskih mreža i Eclipse Layout Kernel biblioteke
- Tema izdata: april 2021.
- Obranjeno: oktobar 2021.
Milica Travica: Vizuelizacija i navigacija nad istorijom ličnih promena nad projektom
- Tema izdata: jun 2021.
- Odbranjeno: oktobar 2021.
- https://github.com/MicaTravica/CodeRibbon
- Videti CodeRibbon
Dragutin Marjanović: Upotreba zio-telemetry za prikupljanje i analizu tragova u distribuiranim sistemima baziranim na mikroservisnim arhitekturama.
- Tema izdata: decembar 2019.
- Odbranjeno: jun 2020.
- https://github.com/zio/zio-telemetry
Stefan Ristanović: Jezik i interpreter za integraciju i automatizaciju REST baziranih aplikacija
- Tema izdata: april 2019.
- Odbranjeno: mart 2020.
- https://github.com/stkeky/calcifer
- https://github.com/stkeky/calcifer-ux
Kreirati DSL (tekstualni i opciono grafički) za definisanje REST baziranih procesa i integraciju automatizaciju REST servisa. Implementaciju uraditi uz oslonac na textX i VS Code. Primer: Zapier.
Milorad Vojnović: DSL za generisanje API testova za GraphQL upite
- Tema izdata: avgust 2018.
- Odbranjeno: septembar 2019.
- https://github.com/miloradvojnovic/TestQL
Željko Bal: Jezik za opis i automatsko generisanje CLI i GUI interfejsa
- mart 2019.
- https://github.com/zeljko-bal/CID
Filip Frank: Jezik za podršku ekstrakciji podataka iz nestrukturiranih izvora podataka sa veba
- oktobar 2018.
- https://github.com/Pazzo92/scraping-dsl
Daniel Elero: Server i ekstenzija za VS Code okruženje za podršku jezicima baziranim na textX alatu\
Daniel Kupčo: Podrška vizualizaciji jezika kreiranih upotrebom textX biblioteke u okviru Visual Studio Code editora
- septembar 2018.
- https://github.com/textX-tools/viewX-vscode