Domain-specific Languages in Medical Informatics (DSM)
1/2. Semester
5 ECTS | 4 SWS
Oral Exam (M)
Design Domain-Specific Languages: Analyze domain-specific languages (DSLs) in medical informatics and develop your own DSLs by applying concepts such as parsing, syntax trees, and execution logic.
Contents
- A Domain-Specific Language (DSL) is a programming language specifically designed for the requirements of a narrowly defined application domain. As a result, DSLs are often better suited for specialized tasks than general-purpose programming languages. This course first introduces DSLs used in the medical domain and their unique characteristics. Participants then design and implement their own DSL through alternating theoretical and practical sessions. They are free to choose the programming language used to implement the execution environment.
- Overview of Domain-Specific Languages in Medical Informatics, including R, Arden Syntax, and Clinical Quality Language (CQL).
- Lexical Analysis of Source Code to Generate a Token Stream.
- Parsing the Token Stream to Generate an Abstract Syntax Tree (AST).
- Implementation of a Tree-Walking Algorithm to Process the Syntax Tree.
- Design of Data Types and Operators.
- Handling Timestamped Data and the Requirements of Temporal Logic.
- Input/Output Considerations, such as Reading Patient Records and Visualizing Computed Data.
- Interoperability Aspects, such as Accessing Network Resources.
Competencies
Students are able to
- explain the differences between domain-specific languages (DSLs) and general-purpose languages.
- compare DSLs used in medical informatics.
- apply a DSL to a selected use case.
- independently design a domain-specific language.
Literature
- M. Fowler, and R. Parsons, Domain-specific languages, Addison-Wesley, Upper Saddle River, NJ, 2011.
- T. Parr, The definitive ANTLR 4 reference, The Pragmatic Bookshelf, Dallas, Texas, 2012.
- M. Völter, DSL engineering: designing, implementing and using domain-specific languages, CreateSpace Independent Publishing Platform, Lexington, KY, 2010.
Lecturer
Recommended Previous Knowledge
-
Strong programming skills are required. Experience with parser generators is a plus.
Module Details
| Semester |
1/2 |
| Lecture Language |
German |
|
Frequency
|
Winter Term
|
| Credit Points (ECTS)
|
5 |
| Course Coordinator |
Prof. Dr. Stefan Kraus |
| Duration |
1 Semester |
| Study Focus |
Medical Data Science (MDS)
|
|
Course Achievement
|
Qualified Participation (QT) |
|
Prerequisite for exam
|
Compulsory Assignment (PU) |
|
Exam
|
Oral Exam (M) |
Weekly Hours (SWS)
| Lecture |
2 SWS |
| Exercises |
2 SWS |
| Sum |
4 SWS |
Work Load
| Lecture |
45 h |
| Self Study |
60 h |
| Assignments |
45 h |
| Sum |
150 h |