K-INFO
HU
EN
Login

Model-based Software Development 

Modellalapú szoftverfejlesztés
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Modellalapú szoftverfejlesztés
Model-based Software Development 
Subject code BMEVIAUMA22
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 2 1 0
type (linked/independent) derived course
Assessment type vizsga
Credits 5
Subject coordinator
DR. Mezei Gergely
position: egyetemi docens
Responsible department
Automatizálási és Alkalmazott Informatikai Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme
Lectures:
 
1. Model-driven development, domain-specific modeling. Characteristics of domain-specific languages, their use, examples. 

2. Processing of textual languages/models, structure of compilers. Grouping of text languages. Operation and characteristics of interpreters. Projection editors.

3. Basic concepts and steps of lexical analysis, regular expressions, tokenization. Basics of syntactic analysis, derivation tree, concrete and abstract syntax tree. Context-independent grammars.

4. Syntactic analysis: left recursion, top-down parsing (BFS, DFS), LL(1) analysis. 

5. Tasks of semantic analysis: design and management of symbol tables, type system, static and dynamic type analysis. Attribute grammars.

6. The task of optimization. Basic block, the levels of optimization. Transformation, Static Single Assignment (SSA), graph representation, fi-function, optimization techniques.

7. Code generation techniques. Interoperability between languages, the IL language. Code obfuscation.

8. Modeling based on a metamodel, the basics of metamodelling. Extension possibilities of UML, UML Profile. Modeling based on Blockly. MOF and Eclipse-Modeling Framework (EMF). Constraints in models, OCL.

9. Concept of concrete and abstract syntax. Concrete syntax of textual and graphical languages. Semantics of models.

10. Processing of models, grouping of processing methods. Model transformations.

11. Transformation of models, graph transformations.

12. Model-based development. Support for extensibility: characteristics of generative and generic programming, Support for product families: feature modeling. Multiplatform developments: MDA. Model simulation

13. Outlook: modeling/DSL development in the wider world/current challenges
 

 
Practice:

1. Introduction to the Unified Modeling Language

2. How to develop a textual language? Introduction to compilers in practice

3. Editing environment for text languages, translation program based on Xtext.
 
4. Semantic analysis, compiler architectures, LLVM, Roslyn 

5. Metamodeling in practice using EMF.

6. Model processing, graph transformation in practice.

7. Reserve / consultation.
The purpose of the course is for students to learn the basics of model-driven software development, including the concept of domain-specific languages (textual and graphic languages). Students learn how to create such languages and how to process them. By completing the subject, students can understand and apply the model processing to process software models and generate different software products (source code, configuration file, etc.)

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

Lecture and practice

Tanulástámogató anyagok

Online források
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 

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Software modeling basics, object-oriented programming
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Software modeling basics, object-oriented programming
General rules
Requirements: During mid-term: - 5 homework assignments to be completed at home related to the exercises - 1 mid-term test The condition for obtaining the signature is to solve at least 3 of the 5 homework assignments at a sufficient level, as well as an acceptable (at least sufficient level) solution of the midterm test. The condition for admission to the exam is the existence of a signature. The midterm results are included in the exam in the following way: - each homework is worth 0-2 points (max. 10 points) - 0-14 points can be obtained for the mid-term test During the exam period: Written exam Additional possibilities: It is possible to write the mid-term exam again on the supplement week. Homework assignments cannot be repeated.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses

Not provided.

Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.