Technische Universität Ilmenau

Model-Driven Software-Engineering - Interactive curriculae of TU Ilmenau

The interactive curriculae provide information on the degree programmes offered by the TU Ilmenau.

Please refer to the respective study and examination rules and regulations for the legally binding curricula (Annex Curriculum).

You can find all details on planned lectures and classes in the course catalogue.

Please note that this page is no longer updated. All modules and study plans from PO version 2021 onwards (Bachelor and Master study programs) are now available on the Campus Portal.

module properties module number 201200 - common information
module number201200
departmentDepartment of Computer Science and Automation
ID of group2236 (Systems and Software Engineering)
module leader Dr. Ralph Maschotta
languageEnglisch
term Wintersemester
previous knowledge and experience

Object-oriented programming, basic knowledge of modeling with UML (e.g. a software engineering lecture)

learning outcome
  • Students know the standards and specifications of model-driven software engineering (MDA, MOF, Ecore, UML, Model to Model and Model to Text Transformation (QVT, MofM2T, Xtext))
  •  Students have acquired skills to create their own domain-specific languages (DSL)
  • They can model the structure and behavior of arbitrary domains in a DSL
  •   In addition, they can develop their own graphical and text-based editors for DSL's
  • The students can create generators for generating text (source code) based on models of their own DSL
  • The students can apply all the knowledge and skills they have learned in practical applications

contentThe purpose of this course is to introduce students to model-driven software engineering practices where models (e.g., software components, activity diagrams, state- or flow charts, etc.) are not used as documentation and reasoning artifacts solely but are first-class products from which other modeling, simulation artifacts or executable source code can be produced.
Students will first learn about appropriate methodologies and suitable tooling support for model-driven software engineering. Then, they will develop their own domain-specific Language in small groups (up to 2 students) and implement a dedicated development environment. Finally, they create a model-to-text generator to generate executable source code from models of their own DSL.
Therefore, the course is a combination of lectures in which the fundamentals of model-driven software engineering are taught (e.g., the definition of the abstract syntax, model notations, and the semantics of DSLs) and practical exercises (e.g. using simple microcontrollers) in which the learned methods of model-driven software engineering are used in practical applications.
Table of Content
Lecture:
·  Introduction
·  Fundamentals
·  Meta-Metamodel (MOF/ ECore)
·  Metamodel ((UML-) Structural Modeling)
·  Model queries (OCL/AQL)
·  Behavioral Modeling (State-Chart, Activities)
·  Concrete Syntax
·  Model Transformation (M2Text/ QVT)
·  Model Persistence (XMI/ Xtext)
Lab:
·  Fundamentals of Software Development for Embedded Systems (e.g. Arduino IDE)
·  Metamodel
·  Viewpoint Specification
·  Tools
·  Properties and Validation·  Model to Text Generation
media of instruction and technical requirements for education and examination in case of online participation

Moodle, beamer, PC pool, HW setups (e.g.: Arduino or SSE railroad lab

literature / references

Model-Driven Engineering specifications

  • The Object Management Group (OMG) Specifications Catalog;
    URL: Object Management Group: The Specifications Catalog. [online] https://www.omg.org/spec
  • Meta Object Facility (MOF)
    Object Management Group: Meta Object Facility (MOF) Core. 2015, [online] http://www.omg.org/spec/MOF/2.5/
  • Model Driven Architecture (MDA)
    Object Management Group: MDA - The Architecture Of Choice For A Changing World. [online] http://www.omg.org/mda/
  • Unified Modeling Language (UML)
    Object Management Group: Unified Modeling Language (UML), - Version 2.5. 2015, [online] http://www.omg.org/spec/UML/2.5/
  • MOF Model to Text Transformation Language (MOFM2T)
    Object Management Group: MOF Model to Text Transformation Language (MOFM2T). 2008, [online] http://www.omg.org/spec/MOFM2T
  • MOF Query/View/Transformation (QVT)
    Object Management Group: MOF Query/View/Transformation (QVT). 2016, [online] http://www.omg.org/spec/QVT
  • XML Metadata Interchange (XMI)
    Object Management Group: XML Metadata Interchange (XMI). 2015, [online] www.omg.org/spec/XMI/2.5.1/
  • Eclipse Modeling Project (EMP)
    Eclipse Foundation: Eclipse Modeling Project. [online]  http://www.eclipse.org/modeling/
  • Eclipse SiriusURL
    Eclipse Foundation, Obeo  - S.A.S: Sirius - The easiest way to get your own modeling tool. [online] http://www.eclipse.org/sirius/
  • Eclipse AcceleoURL
    Eclipse Foundation, Obeo  - S.A.S: Acceleo - Generate anything from any emf model. [online] http://www.eclipse.org/sirius/

Model-Driven Engineering practice

  • Martin Fowler: Domain-Specific Languages. Addison-Wesley, 2010. ISBN 978-0-321-71294-3
  • Markus Voelter et al., DSL Engineering - Designing, Implementing and Using Domain-Specific Languages, 2013, http://dslbook.org
  • Dave Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks: EMF: Eclipse modeling framework, 2nd ed., Addison-Wesley, 2009. ISBN: 978-0-321-33188-5.
  • John Hutchinson, Jon Whittle, and Mark Rouncefield (2014). "Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure". In: Science of Computer Programming 89.Part B. Special issue on Success Stories in Model Driven Engineering, pp. 144 -161. ISSN: 0167-6423
  • Gunter Mussbacher et al. (2014). "The Relevance of Model-Driven Engineering Thirty Years from Now". In: Model-Driven Engineering Languages and Systems: 17th International Conference, MODELS 2014, Valencia, Spain, September 28 - October 3, 2014. Proceedings. Ed. by Juergen Dingel et al. Cham: Springer International Publishing, pp. 183-200. ISBN: 978-3-319-11653-2
  • Alberto Rodrigues da Silva (2015). "Model-driven engineering: A survey supported by the unified conceptual model". In: Computer Languages, Systems Structures 43.Supplement C, pp. 139 -155. ISSN: 1477-8424
  • Don Batory and Maider Azanza (2017). "Teaching model-driven engineering from a relational database perspective". In: Software & Systems Modeling 16.2, pp. 443-467. ISSN: 1619-1374
  • Physics of Notations
  • D. Harel and B. Rumpe (2004). Meaningful modeling: what's the semantics of "semantics"?, in Computer, vol. 37, no. 10, pp. 64-72
  • D. L. Moody (2009). The Physics of Notations: Improving the Usability and Communicability of Visual Notations in Requirements Engineering, in 2009 Fourth International Workshop on Requirements Engineering Visualization, Atlanta, GA, pp. 56-57.
  • P. Caire, N. Genon, P. Heymans and D. L. Moody (2013) Visual notation design 2.0: Towards user comprehensible requirements engineering notations," in 2013 21st IEEE International Requirements Engineering Conference (RE), Rio de Janeiro, pp. 115-124.

evaluation of teaching
Details reference subject
module nameModel-Driven Software-Engineering
examination number220499
credit points5
SWS3 (2 V, 1 Ü, 0 P)
on-campus program (h)33.75
self-study (h)116.25
obligationobligatory module
examexamination performance with multiple performances
details of the certificate

Das Modul Model-Driven Software-Engineering mit der Prüfungsnummer 220499 schließt mit folgenden Leistungen ab:

  • mündliche Prüfungsleistung über 20 Minuten mit einer Wichtung von 60% (Prüfungsnummer: 2200879)
  • alternative semesterbegleitende Prüfungsleistung mit einer Wichtung von 40% (Prüfungsnummer: 2200880)



Details zum Abschluss Teilleistung 2:

Solution of the inter-semester seminar tasks (project)

link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=3748
teacherDr. Ralph Maschotta
signup details for alternative examinations
maximum number of participants
Details in degree program Master Research in Computer and Systems Engineering 2021
module nameModel-Driven Software-Engineering
examination number220499
credit points5
on-campus program (h)34
self-study (h)116
obligationelective module
examexamination performance with multiple performances
details of the certificate

Das Modul Model-Driven Software-Engineering mit der Prüfungsnummer 220499 schließt mit folgenden Leistungen ab:

  • mündliche Prüfungsleistung über 20 Minuten mit einer Wichtung von 60% (Prüfungsnummer: 2200879)
  • alternative semesterbegleitende Prüfungsleistung mit einer Wichtung von 40% (Prüfungsnummer: 2200880)



Details zum Abschluss Teilleistung 2:

Solution of the inter-semester seminar tasks (project)

link to Moodle course https://moodle.tu-ilmenau.de/course/view.php?id=3748
signup details for alternative examinations
maximum number of participants