Main Content

Model-driven Software Development

Model-driven software development means modeling software at a higher level of abstraction using a domain-specific language. The code is largely generated automatically. In this way, software development can be greatly accelerated and simplified. In addition to the applications of existing domain-specific languages and code generators, the course covers techniques and tools that can be used to develop new languages and generators.

Qualification goals

  • Understanding of the paradigm of model-driven software development,
  • modeling and model-driven development of application software,
  • knowledge of the core concepts and techniques of model-driven development,
  • understanding of the capabilities and limitations of model-driven software development,
  • basic understanding of the tools presented in the course, deepened by exercises,
  • practicing scientific working methods (recognizing, formulating, solving problems, training the ability to abstract),
  • training of oral communication skills in the exercises by practicing free speech in front of an audience and during discussion.

Organizational

Lecturer: Prof. Taentzer
Lecture, exercise and exam dates: Marvin search for the respective module number
Module number of lecture: not yet known
Module number of exercises: not yet known
SWS: 4+2, Credit points: 9

Prerequisites: None. Recommended are the competences taught in the basic modules of computer science as well as the advanced modules software engineering and software internship.

Deliverables: Attainment of at least 50 percent of the points from the exercise problems to be worked on each week and oral presentation of the solution to at least two of the exercise problems. Oral examination or written exam.

Additional notes: Current information and announcements about the lecture are generally published in the corresponding Ilias group. You can use the Software Engineering folder in Ilias to navigate from there to the current semester and the group matching the course.

Literature

  • Anneke Kleppe, Wim Bast, Jos B Warmer, MDA Explained, the Model Driven Architecture: Practice and Promise, Addison-Wesley, 2003
  • Robert B. France, Sudipto Ghosh, Trung Dinh-Trong, Arnor Solberg, Model-driven development using UML 2.0: promises and pitfalls, Colorado State Univ., 2006
  • Oscar Pastor, Sergio Espana, Jose Ignacio Panach, Nathalie Aquino, Model-Driven Development: Piecing Together the MDA Jigsaw Puzzle, Springer, 2008
  • Robert France, Bernhard Rumpe, Model-driven Development of Complex Software: A Research Roadmap, Springer, 2007
  • Douglas C. Schmidt, Model-Driven Engineering, Vanderbilt University, 2006
    Brian Nolan, Barclay Brown, Laurent Balmelli, Tim Bohn, Ueli Wahli, Model Driven Systems Development with Rational Products, IBM Red Books, 2008
  • Bernd Oestereich, object-oriented software development, Oldenbourg Wissensch.Vlg, 1998
  • Thomas Grechenig, Stefan Biffl, Wolfgang Zuser, Monika Köhle, Software Engineering with UML and the Unified Process, Pearson Studium
  • Tom Stahl, Markus Völter, Model-Driven Software Development, dPunkt, 2005
  • Frank Budinsky, David Steinberg, Raymond Ellersick, Ed Merks, Stephen A Brodsky, Timothy J Grose, Eclipse Modeling Framework, Addison Wesley, 2003
  • T. Mens, G. Taentzer, D. Mueller, Model-Driven Software Refactoring
  • T. Stahl, M. Völter, S. Efftinge, Model-Driven Software Development. Techniques, engineering, management. 2nd ed. d.punkt Verlag, May 2007, ISBN 978-3898644488
  • G. Pietrek, J. Trompeter (Eds.), Model-Driven Software Development. MDA and MDSD in Practice. 1st ed. Developer Press, June 2007, ISBN 978-3939084112
  • D. Strüber, G. Taentzer, S. Jurack, T. Schäfer, Towards a Distributed Modeling Process Based on Composite Models
  • T. Kehrer, U. Kelter, G. Taentzer, A Rule-Based Approach to the Semantic Lifting of Model Differences in the Context of Model Versioning
  • G. Taentzer, C. Ermel, P. Langer, M. Wimmer, A Fundamental Approach to Model Versioning Based on Graph Modifications: From Theory to Implementation

Tools and Tutorials

Eclipse, http://www.eclipse.org
Eclipse Documentation, https://www.eclipse.org/documentation/
Eclipse Xtext, http://www.eclipse.org/Xtext/