Univerzitet u Novom Sadu

Predmet: Jezici specifični za domen (17.E2519)

Matične organizacione jedinice predmeta: Odsek za primenjene računarske nauke i informatiku
Osnovne informacije:
 
Kategorija Teorijsko-metodološki
Uža naučna oblast Primenjene računarske nauke i informatika
ESPB 6

Osposobljavanje studenata za dizajniranje i implementaciju softverskih jezika namenjenih za uske domene ljudske delatnosti (Domain-Specific Language – DSL) uz primenu savremenih metoda, tehnika i alata.

Nakon uspešno završenog kursa student je u stanju da: razume i uspešno koristi terminologiju i koncepte iz predmetne oblasti i primeni metode i tehnike dizajniranja i implementacije jezika specifičnih za domen; identifikuje prednosti i mane različitih alata za kreiranje jezika specifičnih za domen; analizira domen ljudske delatnosti i uoči najvažnije koncepte i njihove međuzavisnosti; na bazi analize domena kreira apstraktnu sintaksu jezika specifičnog za domen; vlada tehnikama kreiranja različitih konkretnih sintaksi; Identifikuje najpogodniju konkrentu sintaksu i implementira je upotrebom dostupnih alata; razume uticaj kulturološkog i sociološkog profila korisnika na razumljivost konkretne sintakse; kreira konkretne sintakse visokog stepena upotrebljivosti i čitkosti korišćenjem znanja o kognitivnim sposobnostima čoveka; vlada tehnikama definisanja semantike jezika; kreira interpretere i prevodioce (generatore programskog koda) za iskaze date na kreiranom jeziku.

Teorijski deo: Osnovne definicije i koncepti; Razlika između jezika opšte namene (General Purpose Language) i jezika specifičnih za domen (Domain Specific Language); Eksterni i interni DSL-ovi.DSL-ovi kao skup koordinisanih modela; Istorijat razvoja jezika specifičnih za domen; Tradicionalna i moderna shvatanja jezika specifičnih za domen; Uticaj upotrebe DSL-ova na produktivnost; Jezičke radionice (Language Workbenches); Primeri jezika specifičnih za domen. Analiza domena; Komunikacija sa domenskim ekspertima; Tehnike izdvajanja ključnih koncepata iz opisa domena; Tehnike uočavanja međuzavisnosti koncepata. Apstraktne sintakse; Tehnike definisanja apstraktnih sintaksi; Meta-modelovanje; Jezici za definisanje meta-modela (MOF, ECore, GOPPRR, MoRP). Konkretne sintakse; Definisanje konkretnih sintaksi; Konkretne sintakse kao interfejs prema korisniku; Tekstualne sintakse – EBNF, Xtext, Emfatic; Grafičke sintakse – GMF, Graphiti, Spray, EuGENia; Tehnike automatskog raspoređivanja; Definisanje iskaza vođeno čarobnjacima (Wizards); Sintakse oblika stabla, tabela; Hibridne sintakse; Kulturološki i sociološki aspekti kreiranja upotrebljivih i čitkih konkretnih sintaksi; Okvir kognitivnih dimenzija i uticaj kognitivnih sposobnosti čoveka na čitljivost jezičkih iskaza u zavisnosti od primenjene konkretne sintakse; Sekundarna notacija i njen uticaj na razumljivost jezičkog iskaza. Semantika jezika; Definisanje semantičkih ograničenja; Provera semantičkih pravila. Interpreteri; Dinamička analiza i interpretiranje jezičkih iskaza; Tehnike optimizacije. Prevodioci - generatori programskog koda; Tehnike analize jezičkih iskaza i generisanja programskog koda za proizvoljne ciljne platforme; Tehnike bazirane na obrađivačima šablona (template engines); Pregled najpoznatijih obrađivača šablona. Koevolucija jezika; Horizontalna i vertikalna koevolucija; Propagacija

Predavanja; Računarske vežbe; Konsultacije. Rešavanje projektnog zadatka u vidu dizajna i implementacije DSL-a i alata za podršku jeziku za konkretan domen kroz rad u okviru projektnih timova. Poslednjih nedelja semestra organizuju se javne prezentacije projektnih zadataka najuspešnijih timova i diskutuju se postignuti rezultati. Odbrana projekta je usmena. Završni ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa odbrane projektnog zadatka i završnog usmenog ispita.

Autori Naziv Godina Izdavač Jezik
Fowler, M. Domain-Specific Languages 2010 Addison-Wesley Professional Engleski
Kelly, S. & Tolvanen, J.-P. Domain-Specific Modeling: Enabling Full Code Generation 2008 Wiley-IEEE Computer Society Pr Engleski
Völter, M. DSL Engineering: Designing, Implementing and Using Domain-Specific Languages 2013 Create Space Independent Publishing Platform Engleski
Predmetna aktivnost Predispitna Obavezna Broj poena
Predmetna aktivnost
Usmeni deo ispita
Predispitna
Ne
Obavezna
Da
Broj poena
50.00
Predmetna aktivnost
Odbrana projekta
Predispitna
Da
Obavezna
Da
Broj poena
50.00
Predavanja
Predavanja
Računarske vežbe