Type of studies | Title |
---|---|
Master Academic Studies | Measurement-Information Technologies and Control Engineering (Year: 1, Semester: Winter) |
Master Academic Studies | Computing and Control Engineering (Year: 1, Semester: Winter) |
Master Academic Studies | Software Engineering and Information Technologies (Year: 1, Semester: Winter) |
Master Academic Studies | Production Engineering (Year: 1, Semester: Winter) |
Category | Theoretical-methodological |
Scientific or art field | Applied Computer Science and Informatics |
ECTS | 6 |
To teach students to design and implement software languages intended to be used in the specific domains (Domain-Specific Language – DSL) by using modern methods, techniques and tools.
After successfully completing the course the student is able to: understand and effectively utilize the terminology and concepts of the subject area, apply methods and techniques for designing and implementing domain-specific languages??, identify the advantages and disadvantages of various tools for creating domain-specific languages??, analyze arbitrary domain of human activity and recognize the most important concepts and their interdependencies, based on analysis of the domain creates the abstract syntax of the DSL; utilize techniques to create different concrete syntax (graphical, textual, based on tables, dialogs, trees, etc..), identify the most appropriate syntax and implement it using the available tools, understand the impact of cultural and sociological profile of the user to the understandability of the concrete syntax, creates concrete syntaxes of a high degree of usability and readability by using knowledge about the human cognitive abilities.
Theoretical lectures: Basic definitions and concepts; difference between a General Purpose Language (GPL) and Domain Specific Language (DSL). External and internal DSLs. DSL as a set of coordinated models. History and development of DSLs; Traditional and modern notions of DSLs; Impact of DSL usage on productivity. Language Workbenches. Examples of DSLs. Domain analisys. Communication with domain experts; Techniques of recognition of key concepts from the domain description. Techniques of detecting the concepts relations. Abstract syntaxes, abstract syntax definition techniques, meta-modeling. Languages ??for meta-models definition (MOF, ECore, GOPPRR, MoRP). Concrete syntaxes, concrete syntax definition, concrete syntaxes as the interfaces with the user, textual concrete syntaxes (EBNF, Xtext, Emfatic); graphical concrete syntaxes (GMF, Graphite, Spray, Eugenio); automated layouting; Language expressions definition using wizards; Tree-based syntaxes; table-based syntaxes; hybrid syntaxes, cultural and social aspects of creating highly usable and readable concrete syntax; framework of cognitive dimensions and impact of human cognitive abilities on the readability of language expressions. Secondary notation and its impact on the language expression comprehension. The semantics of the language; semantic constraints definition; semantic rules check. Interpreters; dynamic analysis and interpretation of language expression; optimization techniques. Translators - code generators; language expression analysis techniques and code generation for arbitrary target platform; Template engines. Coevolution of language; Horizontal and vertical coevolution; change propagation from higher to lower meta-level, propagation of changes within the same meta-level between the dependent statement. Practical classes: design and creation of DSL for a given domain. The division into project teams. Domain analysis. Extracting key concepts and their relationships. Creating language abstract sy
Lectures, Computer exercises; Consultation. Design and implementation of project assignment by working within project teams. At the end of the semester, public presentations of the most successful teams are organized with the discussion of the obtained results. The defense of project assignment is oral. The final exam is oral. Final grade is based on the score from the final exam and project defense.
Authors | Title | Year | Publisher | Language |
---|---|---|---|---|
2010 | English | |||
2013 | English | |||
2008 | English |
Course activity | Pre-examination | Obligations | Number of points |
---|---|---|---|
Project defence | Yes | Yes | 50.00 |
Oral part of the exam | No | Yes | 50.00 |
Full Professor
Full Professor
Assistant - Master
© 2024. Faculty of Technical Sciences.
Address: Trg Dositeja Obradovića 6, 21102 Novi Sad
© 2024. Faculty of Technical Sciences.