Modellgetriebene Softwareentwicklung (Sommersemester 2009)
Dozent:
Prof. Dr. Holger Giese
(Systemanalyse und Modellierung)
Tutoren:
M.Sc. Stephan Hildebrandt
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 15.05.2009
- Lehrform:
- Belegungsart: Wahlpflichtmodul
Studiengänge
- IT-Systems Engineering MA
Beschreibung
Die modellgetriebene Softwareentwicklung (Model-Driven (Software) Development, MDD) propagiert, die Automatisierung in der Softwareentwicklung weiter voranzutreiben und Modelle statt Code als wesentliches Element der Entwicklung zu verwenden. Der Übergang von der fachlich getriebenen Spezifikation zur ausführbaren Anwendung soll dabei möglichst automatisiert durch geeignete Transformationswerkzeuge erfolgen. Versprochen wird sowohl Kostensenkung durch die generative Erzeugung von weiten Teilen der Anwendung und beschreibender Modelle, sowie die vereinfachte Wiederverwendung von Modellen.
Diese Vorlesung beleuchtet wesentliche Ansätze zur modellgetriebenen Softwareentwicklung wie die Model Driven Architecture (MDA) der OMG oder auch Domänenspezifische Sprachen bzw. Software-Factories und die den verschiedenen Ansätzen zugrundeliegenden Fragen und Techniken. Dazu werden zuerst einmal die technischen Grundlagen der modellgetriebenen Softwareentwicklung wie Metamodellierung, Modelltransformationen, und Codegenerierung von Modellen betrachtet. Dann werden darüber hinaus weisende Fragen wie Synchronisation von Modellen und Maßnahmen zur Absicherung der Qualität bei der modellgetriebenen Softwareentwicklung diskutiert.
Voraussetzungen
keine
Literatur
Die Folien zur Vorlesung werden im internen Bereich zur Verfügung gestellt.
Als Referenzen zur Ergänzung und Vertiefung der Lehrinhalte werden die folgenden Bücher und Artikel empfohlen:
Alan W. Brown: Model driven architecture: Principles and practice. Software and System Modeling, Volume 3, Number 4 / Dezember 2004
springerlink.metapress.com/content/bqrgrgjmlflyh2y0/
Frank Budinsky, David Steinberg, Ed Merks, Raymond Ellersick, Timothy J. Grose: Eclipse Modeling Framework (The Eclipse Series). Addison-Wesley Professional (August 21, 2003)
www.amazon.com/Eclipse-Modeling-Framework-Frank-Budinsky/dp/0131425420
Greenfield, J. & Short, K.: Software factories: assembling applications with patterns, models, frameworks and tools. In the Proceedings of OOPSLA´03, October 26-30, 2003, Anaheim, California, USA. ACM Press, 2003 , 16-27.
www.softmetaware.com/oopsla2003/greenfield.pdf
Jack Greenfield, Keith Short, Steve Cook and Stuart Kent: Software Factories: Moderne Software-Architekturen mit SOA, MDA, Patterns und agilen Methoden. Mitp-Verlag. 2006. ISBN 978-3-8266-1610-5
www.mitp.de/vmi/mitp/detail/pWert/1610/titel/Software%20Factories
Volker Gruhn, Daniel Pieper, Carsten Röttgers. MDA. Effektives Softwareengineering mit UML2 und Eclipse. Springer Verlag, Berlin; Auflage: 1 (Juli 2006). ISBN-13: 978-3540287445
Herrington, J.: Code Generation in Action. Manning Publications, 2003
www.manning.com/herrington/
Kleppe, J. Warmer, and W. Bast: MDA Explained: The Model Driven Architecture Practice and Promise. Addison Wesley, 2003.
www.amazon.com/MDA-Explained-Driven-Architecture-Practice-Promise/dp/032119442X
Mellor, S. J.; Clark, A. N. & Futagami, T. Guest Editors' Introduction: Model-Driven Development. IEEE Software, 2003 , 20 , 14-18.
portal.acm.org/citation.cfm
Mellor, S; Scott, K; Uhl, A; Weise, D: "MDA Distilled: Principles of Model-Driven Architecture", Addison Wesley, 2004
Meservy, T. O. & Fenstermacher, K. D.: Transforming Software Development: An MDA Road Map. Computer, IEEE Computer Society Press, 2005 , 38 , 52-58.
ieeexplore.ieee.org/search/wrapper.jsp
OMG MOF QVT Final Adopted Specification, OMG Document ptc/05-11-01
www.omg.org/docs/ptc/05-11-01.pdf
Schmidt, D. C.: Model-Driven Engineering. IEEE Computer, 2006 , 39 , 25-31.
www.cs.wustl.edu/~schmidt/GEI.pdf
Selic, B. : The Pragmatics of Model-Driven Development, IEEE Software, IEEE Computer Society Press, 2003 , 20 , 19-25.
www.cs.umb.edu/~jxs/courses/2005/681/readings/mda-selic.pdf
Sendall, S. & Kozaczynski, W. : Model Transformation: The Heart and Soul of Model-Driven Software Development. IEEE Software, 2003 , 20 , 42-45.
portal.acm.org/citation.cfm
Thomas Stahl, Markus Völter: Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. dPunkt 2005, Auflage: 1. Februar 2005 ISBN 3-89864-310-7
Thomas Stahl, Markus Völter, Sven Efftinge. Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management. Dpunkt Verlag; Auflage: 2., aktualisierte und erweiterte Auflage (Mai 2007) ISBN-13: 978-3898644488
Leistungserfassung
Die Leistungserfassung erfolgt durch ein Projekt, das während des Semesters zu bearbeiten ist, sowie eine mündliche Prüfung am Ende des Semesters. Die Endnote ergibt sich aus dem gewichteten Durchschnitt beider Teile. Die Projektnote wird mit 25%, die Prüfungsnote mit 75% gewichtet.
In dem Projekt ist ein kleines Werkzeug für eine Domänen-spezifische Sprache (DSL) auf Basis von Eclipse zu entwickeln. Das Werkzeug soll es ermöglichen, Modelle zu erstellen und zu bearbeiten, zu validieren, sowie Quellcode daraus zu generieren. Die notwendigen Kenntnisse werden im Übungsbetrieb vermittelt. Es wird dabei ausgiebig auf bereits verfügbare Standardtechnologien und -frameworks, wie das Eclipse Modeling Framework und openArchitectureWare, zurückgegriffen. Die Projekte werden in Gruppen von 3 bis 4 Studenten bearbeitet.
Termine
Die Vorlesungen finden dienstags um 15:15 Uhr und donnerstags um 9:15 Uhr im Raum A-2.1 in der Zeit vom 28.04. bis 07.05. und vom 23.06. bis 16.07. statt. In der Zeit vom 12.05. bis 26.05. werden anstelle der Vorlesung die Übungen veranstaltet, in denen die Technologien vorgestellt werden, die zur Bearbeitung der Projekte verwendet werden sollen. In der Zeit vom 28.05. bis 22.06. finden keine Veranstaltungen statt. Diese Zeit soll für die Bearbeitung der Projekte genutzt werden. Bei Fragen und Problemen bei der Bearbeitung der Projekte können aber zusätzliche Treffen vereinbart werden. Am 02.07. und 07.07. werden die Projektergebnisse von den Gruppen im Rahmen der Vorlesung vorgestellt.
Zurück