Courses
Model-Driven Software Development in Technical Spaces
Lecture with exercise (WS 21) - LectureLectures
The lectures require reading of the material indicated in the "Obligatory Reading" slides.
You'll find links to the lecture PDFs for each lecture which will be updated shortly before each lecture.
Structure of the lecture
0 - Introduction | ||
---|---|---|
2021-10-11 | Introduction | |
| ||
2021-10-13 | No lecture/exercise | |
0000-00-00 | Context-Aware Software with Role Modeling | |
Contexts and roles of objects in advanced, modern object-oriented programming languages. We share this lecture with the Research Training Group RoSI. Introduction into context-aware software, role-oriented programming and modeling. | ||
I - Metamodeling for Mastering Heterogenity | ||
2021-10-18 | Metamodelling | |
Foundations of Classic Metamodeling. Metapyramid. Metalanguages. EMF, Ecore, UMLCore. | ||
2021-10-20 | Exercises | |
See Exercises tab. | ||
2021-10-25 | MDSD with EMFText | |
Sorry - cancelled due to date conflict. Please, watch the video. Thanks!
The architecture of a complex MDSD tool and a CASE IDE, EMFText. It couples Textware and EMOF-Treeware. | ||
2021-10-27 | Exercises | |
See Exercises tab. | ||
2021-11-01 | Introduction to Technical Spaces | |
What is a technical space? Macromodels. Software factories as heterogeneous macromodes spanning several technical spaces. | ||
2021-11-03 | Exercises | |
see Exercises tab. | ||
2021-11-01 | Tools and Materials as Roles in Metaclasses | |
Tools and Materials as special metaclass roles. The pattern language Tools, Automata, and Materials to structure M1 applications and M2 languages. What TAM means in a metapyramid and a technical space. | ||
2021-11-10 | Exercises | |
See Exercises tab. | ||
2020-11-08 | The language layers of M2 in a technical space | |
Metamodels and languages. The layers of M2 in more detail. How to form a language family by composing a sub-metamodel from an M2 layer. How to create big MDSD tool chains by composition. | ||
2021-11-17 | Public Holiday (Buß- und Bettag) | |
No exercises or lectures. | ||
II - Where Software Integration is Easy: Grammarware and Treeware | ||
2021-11-15 | The Technical Space GrammarWare | |
EBNF, the metalanguage of Grammarware. Text metamodels. Text algebrae. Text port-graph algebrae and invasive fragment composition. | ||
2021-11-24 | Exercises | |
See Exercises tab. | ||
2021-11-22 | The Technical Space TreeWare | |
Trees, terms. Regular Tree Grammars. Attribute grammars. Interpretation, metrics, and abstract interpretation of programs. | ||
2021-12-01 | Technical Space Link-TreeWare | |
Link tree data structures (XML, json) as nested dictionaries (maps). Xcerpt data terms provide a nice syntax for XML. Xcerpt query and transformations (generalized pattern matching). | ||
2021-12-01 | Exercises cancelled | |
Excercise cancelled. Please continue with last week's task. | ||
2021-12-06 | RAGs for Interpretation and Abstraction Interpretation | |
Reference attribute grammars (RAG) for deep analysis of link trees. EMF-based deep analysis with RAG. | ||
III - Megamodels and Macromodels | ||
2021-12-13 | Macromodels and code generation | |
Single-source principle. Consistent-source principle. MDSD in consistent macromodels. Code generation from models and round-trip engineering. Code generation patterns. Hedges. Template-based code generation, also with RAG. | ||
2021-12-08 | Exercises | |
see Exercises tab. | ||
2021-12-13 | Documentation as Derived Model in a Macromodel | |
Documentation consists of generic snippet trees filled by code query results, which is a perfect application area for RAG and Xcerpt. Documentation must be generated as a dependent model in a macromodel. | ||
2021-12-13 | First Macromodels and their Dependencies | |
Megamodels as models about models. Macromodels as consistent megamodels. Macromodels between requirements, design, code, test (the ReDECT Macromodel). Model-Driven Architecture (MDA) as macromodel. RoSI-Macromodel with roles and contexts. | ||
2021-12-15 | Exercises | |
See Exercises tab. | ||
2021-12-20 | Tools and Applications in Macromodels with Streams | |
Coupling tools with streams (data-flow diagrams (DFD) and data-flow graphs; pipe-and-filter nets) and workflows. Extending pipe-and-fliter nets. How to program stream-based views. How to arrange a stream-based macromodel (stream-based Skeleton-SUM and MDA) | ||
IV - Heterogenity in Graph-Based Macromodels | ||
2022-01-10 | Analysis and Reachability in GraphWare | |
Graph analysis, reachability and transformation based on Datalog (Semmle .QL, TGreQL). Traceability in the ReDeCT Megamodel (between requirements, design, code, and test). | ||
2022-01-12 | Exercises | |
See Exercises tab. | ||
2022-01-24 | Deep Analysis with Edge Addition | |
Deep analysis in graphs (graph reachability) as a basis for graph search, mappings, and constraint solving. Applications are data-flow analysis, value-flow analysis, abstract interpretation. | ||
2022-01-24 | Graph Transformation | |
Free graph transformation with termination and confluence. The graph rewriting tool GrGen.net. | ||
2022-01-19 | Exercises | |
See Exercises tab. | ||
V - Heterogeneous Macromodels in Software Factories | ||
2022-01-24 | Software Factories in Several Technical Spaces | |
What is a software factory? Working with a primary technical and several secondary technical spaces (multi-technical-space development). Heterogeneous mega- and macromodels. | ||
2022-01-26 | Exercises | |
See Exercises tab. | ||
2022-01-31 | Data Exchange with Transformation Bridges | |
Transformation Bridges automate the data exchange between tools, also between different technical spaces. | ||
2022-01-31 | Model Synchronization and Round-Trip Engineering | |
Round-trip engineering and model synchronization in megamodels. Triple graph grammars. | ||
2022-02-02 | Exercises | |
See Exercises tab. | ||
IV - Heterogenity in Graph-Based Macromodels | ||
0001-01-01 | (e)MOFLON | |
MOFLON and eMOFLON, two interesting MDSD tools using graph-based analysis and rewriting. | ||
V - Heterogeneous Macromodels in Software Factories | ||
0001-01-01 | Role-based Integration of Materials | |
Role-Based (Meta-)Models for Tool and Material Integration | ||
IV - Heterogenity in Graph-Based Macromodels | ||
0001-01-01 | Story-Driven Modeling with Graph-Rewriting (Optional) | |
Fujaba provides an expressive tool for story-driven modeling by utilizing pattern-matching and graph-rewriting. |