| Course Unit Code | Course Unit Title | Type of Course Unit | Year of Study | Semester | Number of ECTS Credits |
|---|---|---|---|---|---|
| 9105055542017 | Domain-specific Languages | 1 | 2 | 8,00 |
Yüksek Lisans
Turkish
This course aims at providing: - an introduction of domain-specific modeling (DSM), domain-specific languages (DSLs) and domain-specific modeling languages (DSMLs) - a comprehension of the differences between general-purpose languages (GPLs) and DSLs / DSMLs - an ability to design and implement DSLs/DSMLs with the newest technologies and language tools
Prof. Dr. Geylani Kardaş
| 1 | Having knowledge of DSLs / DSMLs |
| 2 | Ability to apply DSM for constructing languages |
| 3 | Ability to apply metamodeling approach for the derivation of DSL / DSML syntax |
| 4 | Ability to implement semantics of DSLs / DSMLs |
| 5 | Making your own software development environment with DSM |
| 6 | Ability to use cutting-edge techniques and tools for DSL / DSML development |
Face to Face
Recommended to take course “9105055252007 Object-oriented Programming” or another course with similar content before selecting this course
[Yok]
Introduction to DSM, DSLs and DSMLs, doman analysis and metamodeling for DSL / DSML, use of model-driven techniques in DSL / DSML development, design and implementation of abstract syntax, concrete syntax and semantics for DSLs / DSMLs
| Week | Subjects (Theoretical) | Teaching Methods | Preparatory |
|---|---|---|---|
| 1 | Introduction. Reasons and motivation for the course | ||
| 2 | Model-driven development and Model-driven Architecture | ||
| 3 | Domain Analysis and Abstract Syntax | ||
| 4 | Concrete syntax and Static Semantics | ||
| 5 | Model and Program Transformation | ||
| 6 | SEA_ML: A DSML for Multi-agent Systems | ||
| 7 | DSML4DT: A DSMLfor Device Trees Preparing research report | ||
| 8 | MIDTERM EXAM | ||
| 9 | Usability Evaluation of DSLs / DSMLs | ||
| 10 | Model-driven Rountrip Engineering | ||
| 11 | Artificial Intelligence for DSL / DSML Development and DSL / DSML Development for Artificial Intelligence | ||
| 12 | Introduction to Low-code Development | ||
| 13 | Low-code Development Platforms | ||
| 14 | Project Presentations | ||
| 15 | Project Presentations | ||
| 16 | FINAL EXAM |
Course Books: • Domain-specific Languages: Effective Modeling, Automation and Reuse, Andrzej Wąsowski and Thorsten Berger, Springer, 2023 • Domain-Specific Languages, Martin Fowler, Addison-Wesley Professional, 2010 • DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, Markus Voelter, CreateSpace Independent Publishing Platform, 2013 • Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit, Richard Gronback, Addison-Wesley Professional, 2009 • Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, Marjan Mernik, Information Science Reference, 2013 • Implementing Domain Specific Languages with Xtext and Xtend, Lorenzo Bettini, Packt Publishing, 2016 • Model-Driven Software Engineering in Practice, Second Edition, Marco Brambilla, Jordi Cabot, and Manuel Wimmer, Morgan & Claypool, 2017 • The Low-code Handbook, Jordi Cabot, 2024 Resources: • Lecture Slides • Various journal articles and conference papers Course Materials: • Eclipse Sirius • Software development tools for various DSLs / DSMLs
Theoretical Courses Reading Internet search Term Project Project Presentation Midterm Exam a) Exam b) Individual study for exam Final Exam a) Exam b) Individual study for exam
| Term (or Year) Learning Activities | Quantity | Weight |
|---|---|---|
| Midterm Examination | 1 | 100 |
| Total | 100 | |
| End Of Term (or Year) Learning Activities | Quantity | Weight |
| Final Examination | 1 | 100 |
| Total | 100 | |
| Term (or Year) Learning Activities | 40 | |
| End Of Term (or Year) Learning Activities | 60 | |
| Activities | Number | Time (hours) | Total Work Load (hours) |
|---|---|---|---|
| Total Work Load (hours) | 0 | ||
| PO 1 | PO 2 | PO 3 | PO 4 | PO 5 | PO 6 | PO 7 | |
| LO 1 | 2 | ||||||
| LO 2 | 2 | 2 | 2 | ||||
| LO 3 | 2 | 2 | 2 | 1 | |||
| LO 4 | 3 | 3 | 3 | 3 | 1 | 3 | 1 |
| LO 5 | 4 | 3 | 2 | 3 | |||
| LO 6 | 2 | 4 | 5 |