188.923 Model Engineering
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2019W, VU, 4.0h, 6.0EC

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise

Learning outcomes

After successful completion of the course, students are able to

  • apply model-driven software development or information system development to practical tasks,
  • develop modeling languages ​​and the required tool environment based on OMG's meta-modeling stack,
  • evaluate transformation languages ​​and use them for vertical, horizontal and temporal model transformation,
  • evaluate and use textual and graphical modeling languages,
  • evaluate language architectures, i.a. using the example of UML,
  • use extension mechanisms of languages, i.a. UML profiles,
  • use constraint languages, i.a. OCL to specify additional constraints on modeling languages,
  • implement code generators, and
  • solve tasks of model management, i.a. model evolution, model versioning and model storage.

Subject of course

The term model engineering comprises different approaches of model driven software development such as model driven architecture, domain specific languages, software factories etc. All of these different approaches concentrate on a central model and not only on pure program code.

During this course the different concepts, tools, and practical experiences from the field of model engineering will be examined. The course is split up into a theoretical part and an accompanying model engineering lab. Concepts from the field of metamodeling, development of textual and graphical modeling languages, model transformation, and code generation will be taught in the lecture part. At the beginning of the lab students will form teams of three students. During the lab the teams will be given practical assignments chosen from the topics of the lecture part.

Modules:

  • Preliminary discussion, Introduction
  • Metamodeling
  • Object Constraint Language (OCL)
  • Textual Modeling Languages
  • Graphical Modeling Languages
  • Model Transformations
  • ATLAS Transformation Language (ATL)
  • Code Generation
  • Guest Lectures
  • Summary, Outlook and Discussion

Teaching methods

Contents are introduced in lectures and deepened in corresponding exercises solved in small groups. Software tools are used where necessary.

Mode of examination

Immanent

Additional information

Effort for the student:

13 x 2 h =   26 h Attending lectures
2 x 20 h =   40 h Preparing assignments 1 + 2
             25 h Preparing assignment 3
             26 h Preparing assignment 4
4 x 30 min =  2 h Presenting assignments
2 x 15 h =   30 h Learning for tests
2 x 30 min =  1 h Attending tests
------------------------------------------------------
150 h = 6 ECTS

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon13:00 - 15:0007.10.2019 - 27.01.2020HS 13 Ernst Melan Lecture
Mon13:00 - 15:0021.10.2019HS 13 Ernst Melan lecture
Model Engineering - Single appointments
DayDateTimeLocationDescription
Mon07.10.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon14.10.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon21.10.201913:00 - 15:00HS 13 Ernst Melan lecture
Mon28.10.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon04.11.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon11.11.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon18.11.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon25.11.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon02.12.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon09.12.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon16.12.201913:00 - 15:00HS 13 Ernst Melan Lecture
Mon13.01.202013:00 - 15:00HS 13 Ernst Melan Lecture
Mon20.01.202013:00 - 15:00HS 13 Ernst Melan Lecture
Mon27.01.202013:00 - 15:00HS 13 Ernst Melan Lecture

Examination modalities

The grading is based on written exams, as well as on oral exams concerning the solved exercises. In the oral exams, both the functionality of the solution, as well as the conceptual and technical understanding of each individual group member are evaluated.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Wed08:00 - 18:0004.12.2019 Meeting room 2nd floor, Favoritenstraße 9-11, HD 0215, Leibniz Lounge HG 0212, other BIG roomsoralno application-Assignment Review 1
Mon13:00 - 15:0009.12.2019 HS 13 Ernst Melanwrittenno application-Test 1
Mon13:00 - 15:0009.12.2019HS 17 Friedrich Hartmann writtenno application-Test 1
Wed08:00 - 16:0015.01.2020 Meeting room 2nd floor, Favoritenstraße 9-11 HD 0215, Leibniz Lounge HG 0212, other BIG roomsoralno application-Assignment Review 2
Mon13:00 - 15:0020.01.2020HS 13 Ernst Melan writtenno application-Test 2
Mon13:00 - 15:0020.01.2020Hörsaal 6 writtenno application-Test 2
Mon18:00 - 20:0002.03.2020HS 13 Ernst Melan written23.01.2020 00:00 - 01.03.2020 23:55TISSAlternative Test 1
Mon18:00 - 20:0002.03.2020HS 13 Ernst Melan written23.01.2020 00:00 - 01.03.2020 23:55TISSAlternative Test 2

Course registration

Begin End Deregistration end
15.09.2019 00:00 07.10.2019 23:55 07.10.2019 23:55

Curricula

Literature

Marco Brambilla, Jordi Cabot, Manuel Wimmer: Model-Driven Software Engineering in Practice, 2nd EditionMorgan&Claypool Publishers, 2017 (several issues of the first edition are available in the library)

Thomas Stahl, Markus Völter, Sven Efftinge, Arno Haase: Modellgetriebene Softwareentwicklung, 2nd Edition, dpunkt.verlag, 2007 (several issues are available in the library)

Dave Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks: Eclipse Modeling Framework, 2nd Edition, Addison-Wesley, 2009 (several issues are available in the library)

Markus Voelter: DSL Engineeringdslbook.org, 2013

Anneke G. Kleppe: Software language engineering, Addison-Wesley, 2008 (online available via library)

Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, James Steel, Didier Vojtisek: Engineering Modeling Languages, CRC Press Inc., 2016

Preceding courses

Miscellaneous

Language

English