01. Modelovanie a generovanie softvérových systémov
- Oboznámiť sa s organizáciou cvičení v predmete Modelovanie a generovanie softvérových architektúr.
- Oboznámiť sa so základnými pojmami a princípmi v oblasti modelovania a generovania softvérových systémov.
- Oboznámiť sa so zadaním, ktoré je riešené priebežne v predmete Modelovanie a generovanie softvérových architektúr.
- Oboznámiť sa so základnou štruktúrou projektov potrebných pre predmet.
02. Externé jazyky I. (Úloha 1)
- Charakterizovať význam modelov a metamodelov pri vývoji softvérových systémov.
- Oboznámiť sa s vizualizačným nástrojom magsatool.
- Oboznámiť sa s modelom jazyka entít.
- Implementovať jazykový procesor pre vytvorenie objektovej reprezentácie vety jazyka entít z textového vstupu.
- Otestovať vytvorený jazykový procesor výpisom vytvoreného modelu.
03. 3. Cvičenie - Generovanie kódov I. (Úloha 2)
- Oboznámiť sa so základnými spôsobmi generovania zdrojových kódov - transformácie a šablóny.
- Implementovať generátor skriptu pre vytvorenie databázy z modelu.
- Oboznámiť sa s nástrojom Velocity engine pre podporu generovania kódov použitím šablón.
- Implementovať generátory pre definíciu tried entít, rozhraní a implementácie rozhraní pre operácie CRUD.
- V rámci implementácie generátorov vytvoriť šablóny pre generovanie jednotlivých tried.
- Otestovať funkčnosť generovacieho systému aj funkčnosť vygenerovanej aplikácie.
- Odovzdanie úloh 1 a 2.
05. 5. Cvičenie - Interné jazyky a kompozícia jazykov (Úloha 3)
- Oboznámiť sa s prístupmi k tvorbe interných doménovo-špecifických jazykov.
- Oboznámiť sa s modelom jazyka obmedzení pre vlastnosti entít.
- Rozšíriť jazyk obmedzení o ďalšie jazykové konštrukcie definujúce obmedzenia na abstraktnej úrovni.
- Rozšíriť konkrétnu syntax jazyka obmedzení o pridané jazykové konštrukcie.
- Prepojiť model jazyka entít s modelom jazyka obmedzení.
- Rozšíriť rozhranie jazyka obmedzení entít o kompozíciu a overenie správnosti viet.
- Otestovať funkčnosť kompozície jazykov výpisom modelu systému.
06. 6. Cvičenie - Generovanie kódov II. (Úloha 4)
- Upraviť generátor skriptu pre vytvorenie štruktúry databázy s ohľadom na definované obmedzenia.
- Upraviť šablónu pre generovanie implementácie CRUD rozhrania so zohľadnením obmedzení.
- Otestovať funkčnosť generovacieho systému aj funkčnosť vygenerovanej aplikácie.
- Odovzdanie úloh 3 a 4.
08. 8. Cvičenie - Implementácia a generovanie jazykových procesorov (Úloha 5)
- Rozšíriť jazyk entít o podporu vzťahov medzi entitami.
- Navrhnúť konkrétnu syntax v textovej forme pre rozšírený jazyk entít.
- Oboznámiť sa s anotáciami.
- Oboznámiť sa s generátorom jazykových procesorov YAJCo.
- Upraviť model jazyka entít a obmedzení pre potreby generovania jazykového procesora externého jazyka.
- Pridať kontrolu jedinečnosti mien entít a vlastností.
- Implementovať jazyk entít a jazyk obmedzení prostredníctvom generátora jazykových procesorov.
- Otestovať funkčnosť jazykového procesora vytvoreného generátorom jaz. procesorov YAJCo.
09. 9. Cvičenie - Generovanie kódov III. (Úloha 6)
- Upraviť generátor databázového skriptu tak, aby zohľadňoval vzťahy medzi entitami.
- Upraviť šablóny tried entít, CRUD rozhraní a CRUD implementácií tak, aby zohľadňovali vzťahy medzi entitami.
- Overiť funkčnosť podpory vzťahov medzi entitami vo vygenerovanej aplikácii.
- Odovzdanie úloh 5 a 6.
11. 11. Cvičenie - XML jazyky a procesory (Úloha 7)
- Oboznámiť sa s modelom jazyka pre opis používateľského rozhrania (UI).
- Oboznámiť sa s xml schémou špecifikujúcou syntax jazyka pre opis UI.
- Oboznámiť sa s XML procesorom JAXB.
- Definovať XML syntax jazyka pre opis používateľského rozhrania.
- Rozšíriť procesor jazyka pre opis UI o validáciu opísaného používateľského rozhrania v kompozícii s jazykom entít.
- Otestujtovať funkčnosť kompozície jazykov výpisom modelu systému obsahujúceho model entít a model UI.
12. 12. Cvičenie - Generovanie kódov IV. (Úloha 8)
- Oboznámiť sa s návrhom použivateľského rozhrania.
- Vytvoriť generátory UI.
- Otestovať vygenerovanú aplikáciu.
- Odovzdanie úloh 7 a 8.