Modeling in UML
| Code | Completion | Credits | Range | Language |
|---|---|---|---|---|
| 18MUML | Z,ZK | 4 | 2+2 | Czech |
- Course guarantor:
- Lecturer:
- Vojtěch Merunka
- Tutor:
- Vojtěch Merunka
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The course focuses on the Unified Modeling Language (UML) and the related standards OPM and GQL from the perspective of formal methods of software system design, the theoretical foundations of the lambda calculus, and the modeling of graph structures. It includes an individual semester project using UML, OPM, and the Neo4j graph database.
- Requirements:
-
Algoritmization
Databases
Programming in the C++ or Java language
IMI
- Syllabus of lectures:
-
1. Introduction, history of UML, concepts of UML and OPM.
2. Theoretical foundations of modeling, lambda-calculus.
3. Racket environment and Scheme language.
4. System usage models, data structure models, dynamic models. PlantUML language.
5. MDA principle, transformation of object class hierarchies.
6. Introduction to OPM.
7. Requirements engineering using OPM.
8. Simulation and verification of models.
9. Graph databases, data normalization in graph databases.
10. Neo4j Desktop.
11. Neo4j Dashboard.
12. Design patterns.
13. Presentation of semester project.
- Syllabus of tutorials:
-
1.-4. Practicing lecture material, programming in Racket/Scheme.
5. Assignment of semester projects.
6.-8. Work in OPM Editor.
9.-11. Work with Neo4j Desktop and Neo4j Dash.
12.-13. Defense of semester projects.
- Study Objective:
-
The student will gain knowledge in the field of formal methods for modeling software systems. He/She will understand the unified modeling language UML according to ISO/IEC 19501:2005, including its metamodel, type hierarchies, and semantics of structural and dynamic diagrams. He/She will master the principles of Object-Process Methodology (OPM) according to ISO/IEC 19450:2024, including the uniform representation of objects, processes, states, and transformation relationships, and the principles of formal verification using simulation. He/She will acquire the theoretical foundations of lambda calculus and its relationship to modeling system behavior and functional composition. He/She will also gain knowledge about graph database systems, normalization principles for graph databases, and the GQL query language according to ISO/IEC 39075:2024 as a standard.
The student will gain the ability to create, analyze, and validate complex models of software systems in UML and OPM, including formal requirements specification, architecture design, and detailed modeling of data and process structures. They will be able to perform simulations of OPM models, evaluate their correctness and iteratively modify them according to the verification results. They will be able to implement transformation procedures between modeling languages, design normalized graph data structures and implement the final model in the Neo4j graph database. They will also gain the skill of using generative language models as an auxiliary tool to support analysis, design, conversions between models and validation of formal structures. Overall, they will be able to handle the entire analytical and design process from formal requirements capture to a functional prototype connected to a graph database.
- Study materials:
-
Obligatory:
[1] Ambler S.: The Object Primer 3rd Edition, Agile Model Driven Development with UML 2, Cambridge University Press, 2004 ISBN#: 0-521-54018-6.
[2] Ambler, Scott W.: Process Patterns - Buiding Large-Scale Systems Using OO Technology, Cambridge University Press - Managing Object Technology Series 1998, ISBN 0-521-64568-9.
[3] ISO/IEC 19501:2005. Information technology Open Distributed Processing Unified Modeling Language (UML) Version 1.4.2.
[4] ISO/IEC 19450:2024. Object-Process Methodology (OPM) A Holistic Approach to Systems Engineering.
[5] ISO/IEC 39075:2024. Information technology Database languages GQL (Graph Query Language).
Optional:
[6] Ambler, Scott W.: More Process Patterns - Delivering Large-Scale Systems Using OO Technology, Cambridge University Press - Managing Object Technology Series 1999, ISBN 0-521-65262-6.
[7] Dori, D. Object-Process Methodology: A Holistic Systems Paradigm. Berlin: Springer, 2002.
[8] Dori, D. Model-Based Systems Engineering with OPM and SysML. New York: Springer, 2016.
[9] Merunka V.: Datové modelování , Alfa Publishing, Praha 2007, ISBN 80-86851-54-0.
[10] Merunka Vojtěch, Pergl Robert, Pícka Marek: Objektově orientovaný přístup v projektování informačních systémů, ČZU Praha 2005, ISBN 80-213-1352-8.
- Note:
-
Scope=lectures+practicals=2l+2p
- Time-table for winter semester 2025/2026:
- Time-table is not available yet
- Time-table for summer semester 2025/2026:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Aplikace informatiky v přírodních vědách (elective course)