By the end of the course, students should: 1. have an understanding of model-driven development and metamodeling. 2. understand the advantages and disadvantages of domain-specific modeling approaches. 3. understand the potential and implementation challenges arising from description hierarchies (meta-level hierarchies). 4. be able to differentiate between super and meta classes. 5. know how to use metamodeling as a language definition tool and also as a tool for modeling domains. 6. be equipped to use the metamodeling principles discussed in a number of contexts (e.g. XML, UML Definition, Semantic Web).
Metamodeling has become an important foundation for modern software engineering. This course addresses the foundations and principles for infrastructures required to support development approaches such as model-driven development and domain-specific modeling. This includes an in-depth discussion of metamodeling principles and a critique of existing modeling techniques. A reading assignment will immerse you in a subject that you will then present to the class. Course topics include: * model-driven development & domain-specific languages * basic terminology * instantiation dimensions * description hierarchies * UML extensibility * strict and loose metamodeling * deep characterisation * library metaphor for language definition
Please register in TISS.