Modellgetriebene Softwareentwicklung (Sommersemester 2010)
Dozent:
Prof. Dr. Holger Giese
(Systemanalyse und Modellierung)
,
M.Sc. Stephan Hildebrandt
(Systemanalyse und Modellierung)
Allgemeine Information
- Semesterwochenstunden: 4
- ECTS: 6
- Benotet:
Ja
- Einschreibefrist: 14.05.2010
- 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, Maßnahmen zur Absicherung der Qualität und Modellmanagement bei der modellgetriebenen Softwareentwicklung diskutiert.
Voraussetzungen
abgeschlossenes Bachelorstudium
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 (2nd Edition). Addison-Wesley Professional (2009)
www.amazon.de/EMF-Eclipse-Modeling-Framework-2nd/dp/0321331885/ref=sr_1_1
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, 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 dabei mit 33%, die Prüfungsnote mit 66% 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 ca 3 Studenten bearbeitet.
Termine
Zu den folgenden Terminen finden Vorlesungen statt:
- 20.04. bis 04.05., jeweils Dienstags und Donnerstags
- 11.05.
- 20.05., 25.05.
- 01.07.
- 13.07. bis 22.07., jeweils Dienstags und Donnerstags
Übungen werden zu folgenden Terminen abgehalten:
Die Vergabe der Projektaufgaben erfolgt am 04.05.
Am 06. und 08.07. findet die Vorstellung der Projektergebnisse statt.
Die restliche Zeit bleibt zur Bearbeitung der Projektaufgaben.
Die Veranstaltungen finden regulär in HS3 statt. Nur am 29.04. und am 20.05. wird die Vorlesung in B-E.2 verlegt.
An folgenden Terminen wird die Vorlesung in andere Räume verlegt:
13.07., 17.00 Uhr statt HS 3 in HS 1
15.07., 09.15 Uhr statt HS 3 in A-1.2
20.07., 17.00 Uhr statt HS 3 in HS 1
22.07., 09.15 Uhr statt HS 3 in A-1.2
Zurück