Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Modellgetriebene Softwareentwicklung (Sommersemester 2010)

Lecturer: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , M.Sc. Stephan Hildebrandt (Systemanalyse und Modellierung)

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 14.05.2010
  • Teaching Form:
  • Enrolment Type: Compulsory Elective Module

Programs

  • IT-Systems Engineering MA

Description

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.

Requirements

abgeschlossenes Bachelorstudium

Literature

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

Examination

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.

Dates

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:

  • 04.,06.,18. und 27.05.

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