Bookmark and Share

Model-driven Software Development (MSD)


University of Southern Denmark


The Maersk Mc-Kinney Moller Institute, Odense 

Teaching activity id: RP-MSD-U2. 
Teaching language: English - ECTS / weighting: 10 ECTS  

Teacher: Miguel Enrique Campusano Araya - mica@mmmi.sdu.dk 
Period: February 2025 to May 2025 plus exam in June Approved: Yes 
Offered: Online 

 

Objective:  

The goal of this course is to give the participants an insight into the design and implementation of high-level, domain-specific programming languages (DSLs) following the principles of model-driven software development. Ph.D. students are expected to apply the principles introduced in the course to a problem area related to their Ph.D. topic, resulting in a DSL designed to model and ultimately solve tasks in this specific problem area. 

 

Prerequisites:  

MSc with significant programming experience but limited formal knowledge of compilers and programming languages, i.e., software engineering or robotics.  Designed for students working on a topic suitable for formalization using a Domain-Specific Language (DSL). Contact mica@mmmi.sdu.dk for further information. 

 

Knowledge:  

Explain the process of developing reusable software using models, domain-specific languages, and code generation. Argue for the advantages and disadvantages of using domain-specific languages, both in general and in a specific use case scenario. 

 

Skills:  

For a specific research problem, make an informed choice of implementation patterns for developing internal DSLs in standard object-oriented languages, and similarly make an informed choice on the design and implementation of an external domain-specific language for this problem. Use a standard object-oriented language to develop an internal DSL, and similarly use a language workbench to develop an external DSL based on code generation. 

 

Competencies:  

Survey research papers on model-driven software development relevant to a specific research problem and present the results to an audience. Create a formalized model of a specific research problem, in a way that makes it amenable to automatic program generation techniques. Create a novel and useful domain-specific language and accompanying code generator that targets a problem domain centered around a specific research problem. Reflect on the utility of the techniques advocated in the course in relation to a specific research problem. 

 

Contents:  

Automatic program generation, domain-specific languages, model-driven software development, software product lines, modeling and metamodeling, code generation, formal grammars, semantics, syntax, frameworks, software patterns, generative programming, feature-oriented programming, aspect-oriented programming. 


Exam: 

Written report, pass/fail, approval by the teacher. 

 

Notes:

Co-taught with MSc-level Software Engineering Course.  

 
Price: 

  • PhD students from Danish Universities that have joined the "Open market agreement" (include PhDs enrolled at the Faculty of Engineering at SDU): Free of charge 
  • Other participants: DKK 1000 - per ECTS 


Sign-up: 
Signing up for the course no later than 24 January 2025.

Please contact Pia Mønster by email pmkr@mmmi.sdu.dk. Remember course name.  

 

 


Back

Course dates
02 February 2025 - 30 May 2025
Course organizer
Miguel Enrique Campusano Araya
Place/Venue
Campusvej 55
City
5230 Odense M
Country
Denmark
Workload
10
Link
https://www.sdu.dk/en/forskning/phd/phd_skole...