Subject » BMEVIAUMA22
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) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
DR. Mezei Gergely
position: egyetemi docens
contact:
mezei.gergely@vik.bme.hu
|
||||||||||||
| 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.