Courses
Model-Driven Software Development in Technical Spaces
Lecture with exercise (WS 17) - 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 | ||
---|---|---|
2017-10-09 | Introduction | |
| ||
I - Metamodeling | ||
2017-10-13 | Tools and Materials Methodology | |
The pattern language Tools, Automata, and Materials to structure M1 applications and M2 languages. What TAM means in a metapyramid and a technical space. | ||
2017-10-13 | Classical Metamodeling in the EMOF Metapyramid | |
The metapyramid. The MOF metalanguage and its subsets EMOF, UMLcore. EMOF technical space as treeware. Reflective modeling. | ||
2017-10-16 | MDSD with EMFText | |
The architecture of a complex MDSD tool and a CASE IDE, EMFText. It couples Textware and EMOF-Treeware. | ||
2017-10-23 | 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 - Grammarware and Treeware | ||
2017-10-30 | The Technical Space GrammarWare | |
EBNF, the metalanguage of Grammarware. Text metamodels. Text algebrae. Text port-graph algebrae and invasive fragment composition. | ||
2017-11-06 | The Technical Space TreeWare | |
Trees, terms. Regular Tree Grammars. Attribute grammars. Interpretation, metrics, and abstract interpretation of programs. | ||
2017-11-13 | 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. | ||
2017-11-20 | 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. | ||
2017-11-27 | 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. | ||
III - Graphware | ||
2017-12-04 | Analysis and Reachability in GraphWare | |
Graph analysis, reachability and transformation based on Datalog (Semmle .QL). Traceability in the ReDICT Megamodel (between requirements, design, and code). | ||
IV - Architecture of MDSD Applications | ||
2017-12-11 | Roles in Metamodels | |
Role-Oriented Software Infrastructures, Compartment-Role-Object-Model (CROM), and Role-based Metamodeling. | ||
2017-12-18 | Family of Role-Based (Meta-)Models | |
Role-Based (Meta-)Models are used throughout the RoSI RTG. This lecture highlights programming language SCROLL, the Database RSQL, and the description logic ConDL. Moreover, it illustrates the creation of family of modeling languages supporting all metamodel variants. | ||
III - Graphware | ||
2018-01-08 | Story-Driven Modeling with Graph-Rewriting | |
Fujaba provides an expressive tool for story-driven modeling by utilizing pattern-matching and graph-rewriting. | ||
2018-01-15 | (e)MOFLON | [file] |
MOFLON and eMOFLON, two interesting MDSD tools using graph-based analysis and rewriting. (The Fujaba slides are for information.) | ||
2018-01-15 | Deep Analysis with Edge Addition | |
Deep analysis in graphs (graph reachability) as a basis for graph search, mappings, and constraint solving. | ||
2018-01-15 | Graph Transformation | |
Free graph transformation with termination and confluence. | ||
IV - Architecture of MDSD Applications | ||
2018-01-15 | 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. | ||
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. | ||
0000-00-00 | Tool and Application with Streams | |
Coupling tools with streams (data-flow graphs; pipe-and-filter nets) and workflows. Extending pipe-and-fliter nets. | ||
2017-01-22 | 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. | ||
V - Model Synchronization in Megamodels | ||
2018-01-29 | Megamodels and their Dependencies | |
Megamodels between requirements, design, code, test. Model-Driven Architecture (MDA) as megamodel. 64 is optional. | ||
2017-01-29 | 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. | ||
2018-01-29 | 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). |