Model-based Software Development Laboratory 

A tantárgy neve magyarul / Name of the subject in Hungarian: Modellalapú szoftverfejlesztés labor

Last updated: 2024. február 18.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
MSc Computer Engineering,
Software Development main specialization

Course ID Semester Assessment Credit Tantárgyfélév
VIAUMA23   0/0/3/f 5  
3. Course coordinator and department Dr. Mezei Gergely,
4. Instructors
Dr Gergely Mezei, Associate professor, AUT
Dr Ferenc Somogyi, Senior lecturer, AUT
Dr Balázs Simon, Associate professor, IIT
Dr Oszkár Semeráth, Senior lecturer, MIT
5. Required knowledge Compilers, software modeling, programming
6. Pre-requisites
Kötelező:
(NEM
(TárgyEredmény( "BMEVIAUMA03", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA03", "FELVETEL", AktualisFelev()) > 0) )

ÉS

TárgyTeljesítve("BMEVIAUMA22")

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

7. Objectives, learning outcomes and obtained knowledge
The purpose of the course is for students to learn to apply the theoretical knowledge acquired in the field of model-based software development in practice.
8. Synopsis
Students go through the process of creating and processing a domain-specific language and the models that can be made from it.

1. Lab: getting to know the field, developing the EMF-based metamodel
2. Individual task: creating an Xtext-based text editor for the metamodel (2 times)
3. Task presentation: Xtext
4. Individual task: Model processing using graph transformation (2 times)
5. Task presentation: Graph transformation
6. Individual task: Additional modules, Blockly and ANTLR (2 times)
7. Assignment presentation: Modules

The subject has a 10x4-hour time slot, in which attendance sessions also take place. The 1st lab can be completed synchronously by attendance or asynchronously online (based on the published supporting materials). The results of the labs are evaluated according to the deadline announced at the beginning of the semester.

The individual project tasks correspond to 2 occasions in terms of their size. The students perform these tasks at home, but the instructors provide the opportunity for personal consultation during the time slot of the subject. The results of the individual project tasks must be presented during the personal task presentations (also in the time slot). The solutions are evaluated during the presentation.
9. Method of instruction Lab
10. Assessment
Solving the task of the first lab at a sufficient level (production of the required model), the result of the lab is not included in the end-of-semester grade.

In the remainder of the semester, the condition for a satisfactory grade is to present at least a sufficient solution in all three topics. If this condition is met, the midterm grade is the average of the grades received on the three assignment presentations.
11. Recaps The first task cannot be re-taken. Each of the three task presentations can be retaken once according to the schedule announced at the beginning of the semester.
12. Consultations Upon request
13. References, textbooks and resources
Krysztof Czarnecki, Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000. 

Steven Kelly, Juha-Pekka Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society Press, 2008. 

Martin Fowler, Domain-Specific Languages, Addison-Wesley Professional, 2010 
14. Required learning hours and assignment
First lab8
Individual project tasks120
Prepare for presentation12
Presentation of solutions10
Sum150
15. Syllabus prepared by
Dr Gergely Mezei, Associate professor, AUT
Dr Ferenc Somogyi, Senior lecturer, AUT
Dr Balázs Simon, Associate professor, IIT
Dr Oszkár Semeráth, Senior lecturer, MIT