Courses
Model-Driven Software Development in Technical Spaces
Lecture with exercise (WS 19) - 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 | ||
---|---|---|
2019-10-14 | Role Modeling | |
We share this lecture with the Research Training Group RoSI. Introduction into context-aware software, role-oriented programming and modeling. | ||
2019-10-17 | Exercises | |
Exercise on Role-based Programming. | ||
2019-10-21 | Advanced Role Modeling | |
We share this lecture with the GK RoSI and discuss contexts and roles in modeling and development. | ||
2019-10-24 | Introduction | |
| ||
I - Metamodeling for Mastering Heterogenity | ||
2019-10-24 | Metamodelling | |
Foundations of Classic Metamodeling | ||
2019-10-28 | Exercises | |
Exercise lecture. | ||
2019-10-31 | Public Holiday | |
Reformationstag | ||
2019-11-04 | MDSD with EMFText | |
tentative: The architecture of a complex MDSD tool and a CASE IDE, EMFText. It couples Textware and EMOF-Treeware. | ||
2019-11-07 | Introduction to Technical Spaces | |
What is a technical space? Macromodels. Software factories as heterogeneous macromodes spanning several technical spaces. | ||
2019-11-11 | Free | |
Due to obligations as a dean, Prof. Aßmann has to cancel the lecture. | ||
2019-11-18 | The language layers of M2 in a technical space | |
Metamodels and languages. The layers of M2. How to form a language family by composing a sub-metamodel from an M2 layer. How to create big MDSD tool chains by composition. | ||
II - Where Software Integration is Easy: Grammarware and Treeware | ||
2019-11-18 | The Technical Space GrammarWare | |
EBNF, the metalanguage of Grammarware. Text metamodels. Text algebrae. Text port-graph algebrae and invasive fragment composition. | ||
2019-11-21 | Exercises | |
see Exercises tab. | ||
2019-11-25 | The Technical Space TreeWare | |
Trees, terms. Regular Tree Grammars. Attribute grammars. Interpretation, metrics, and abstract interpretation of programs. | ||
2019-12-02 | Technical Space Link-TreeWare | |
Regular Tree Grammars (RTG) for structuring Link trees and XML trees. Querying link trees. Reference attribute grammars (RAG) for deep analysis of link trees. EMF based deep analysis with RAG. XML, the interoperability standard for MDSD Tools. | ||
2019-11-28 | Exercises | |
see Exercises tab. | ||
2019-12-05 | 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. | ||
2019-12-09 | Documentation as Dependent 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. | ||
2019-12-12 | Exercises | |
see Exercises tab. | ||
2019-12-16 | First Macromodels and their Dependencies | |
Macromodels between requirements, design, code, test (the ReDECT Macromodel) Model-Driven Architecture (MDA) as macromodel. RoSI-Macromodel with roles and contexts. | ||
2019-12-20 | Visit at DevBoost | |
Friday, Dec 20, at 14:50, we meet in E023 to visit DevBoost (or at 15:00 in Kaitzer Str. 36, 01187 Dresden). Please, prepare questions to the COO and the founders Tobias Nestler und Christian Wende. Coffee is available! | ||
2019-12-19 | Exercises | |
see Exercises tab. | ||
2020-01-06 | Tool and Application 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) | ||
III - Heterogenity in Graph-Based Megamodels | ||
2020-01-13 | Analysis and Reachability in GraphWare | |
Graph analysis, reachability and transformation based on Datalog (Semmle .QL, TGreQL). Traceability in the ReDICT Megamodel (between requirements, design, and code). | ||
2020-01-20 | 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. | ||
2020-01-20 | Graph Transformation | |
Free graph transformation with termination and confluence. The graph rewriting tool GrGen.net. | ||
2020-01-20 | (e)MOFLON | [file] |
MOFLON and eMOFLON, two interesting MDSD tools using graph-based analysis and rewriting. | ||
2020-01-20 | Story-Driven Modeling with Graph-Rewriting | |
Fujaba provides an expressive tool for story-driven modeling by utilizing pattern-matching and graph-rewriting. | ||
IV - Tool and Model Integration | ||
2020-01-27 | 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. | ||
2020-01-27 | Role-based Integration of Materials | |
Role-Based (Meta-)Models for Tool Integration | ||
2020-02-03 | Model Synchronization and Round-Trip Engineering | |
Round-trip engineering and model synchronization in megamodels. Round-trip islands. Single underlying model (SUM) of Atkinson, and the construction of views. Vitruvius megamodels. | ||
V - Heterogenity in Megamodels | ||
2020-02-03 | 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). | ||
VI - Advanced Material | ||
0000-00-00 | Tool and Application Integration | |
Coupling with data exchange via repositories. Exchange formats such as JSON, XML, XMI, CDIF. Language mappings and generated transformation bridges. | ||
0001-01-01 | Deep Modeling with Melanie | |
Deep Modeling is a new metamodeling technology that allows for deep instantiation, i.e., constraining of instantiation over several metamodel layers. It also allows for two-dimensional modeling. | ||
0001-01-01 | The architecture of MDSD tool chains | |
MDSD tool chains require a complex, repository-based architecture. Typing of M2 metamodels is used to generate repository packages. TAM-style access layers for repositories, based on Role-Object Pattern. Extensions of the metamodel by "plugin" metamodels serves for extensibility. |