MDA Open Source - Praktische Umsetzung modellgetriebener Softwareentwicklung mit Open Source

Diese Lehrveranstaltung wird im WS 2011/2012 an der Universität Potsdam durchgeführt. Bitte beachten Sie die Informationen im PULS und aus der Seite des Service und Software Engineering am Institut für Informatik.

Abschluss und Ergebnisse

Die Lehrveranstaltung ist abgeschlossen. Die Ergebnisse der Rücksprache finden Sie hier. Ich bedanke mich für die Teilnahme und wünsche weiterhin viel Erfolg.

Inhalt

Die Lehrveranstaltung führt die Studierenden durch die Standards im Bereich der modellgetriebenen Softwareentwicklung mit der Model Driven Architeture. Um dieses für die Praxis besonders relevante Thema zu erschließen, dienen praktische Übungen zur Vermittlung eines Verständnisses von den notwendigen konzeptionellen Grundlagen der MDA. Die praktische Anwendung der Konzepte erfolgt auf Basis von Open Source Produkten, die zu einer Werkzeugunterstützung auf Eclipse-Basis kombiniert werden. Durch Nutzung dieser Werkzeugunterstützung werden die Konzepte der MDA mit Leben gefüllt, ihre Möglichkeiten und Grenzen aufgezeigt. Im Ergebnis werden die Teilnehmer befähigt, die Möglichkeiten der MDA für konkrete Projektsituationen einzuschätzen und selbst Werkzeugkomponenten für Projekte zusammenzustellen.

Für den Zugriff auf die Details der Lehrveranstaltung benötigen Sie einen Benutzernamen und ein Passwort. Sie wurden in der ersten Veranstaltung bekannt gegeben. Haben Sie dennoch keinen Zugriff, nehmen Sie bitte hier Kontakt mit mir auf.

Die Veranstaltung gliedert sich in drei Themeneinheiten, die auf einander aufbauen. Bitte beachten Sie auch die folgenden organisatorischen Regelungen:

Teil 1: Modellierung und Metamodellierung

Ziel der Themeneinheit ist, die Studierenden mit der Modellierungssprachen UML und dem Zusammenhang zum Metamodell dieser Sprachen vertraut zu machen. Nach einem Einstieg in die Modellierung werden das MOF Metametamodell und der Mechanismus der Metamodellerweiterung eingeführt. Die Studierenden werden befähigt, die UML zu nutzen und leichtgewichtige Metamodell-Erweiterungen (Stereotypen, Tagged Values) in Eclipse zu implementieren und in der Modellierung zu nutzen.

Die folgenden Werkzeuge sind für die Bearbeitung dieses Themenkomplex notwendig:

Folgende weiterführende Informationen sind für diesen Themenkomplex relevant:

Teil 2: Modellierung im Softwareentwicklungsprozess

Ziel: Die Studierenden haben erlernt, wie die UML eingesetzt werden kann, um einfache fachliche Anforderungen modellhaft darzustellen. Sie kennen die unterschiedlichen Einsatzzwecke der Modellierung im Rahmen der Anforderungsanalyse, Analyse und des Entwurfs und haben den Übergang vom Entwurf zur Programmierung kennengelernt.

Wir lehnen uns in diesem Themenbereich an den Unified Process an, dessen bekanntester Vertreter der IBM Raional Unified Process ist. Mit dem Open Unified Process (Bestandteil des Eclipse Process Framework Project) steht eine Variante des Prozesses unter einer Open Source Lizenz zur Verfügung.

Ausgangspunkt: Kundenanforderungen

Für die folgenden drei Übungsprojekte sind Kandidaten für Leistungsmerkmale (Feature) der zu entwickelnden Software als Tabellen aufgelistet. Sie dienen für die Modellierung der weiteren Phasen als Ausgangspunkt.

(Weitere Details folgen.)

Die folgenden Werkzeuge sind für die Bearbeitung dieses Themenkomplex notwendig:

Teil 3: Modellgetriebene Softwareentwicklung mit der MDA

Die Studierenden haben die einzelnen Bestandteile der MDA und ihr Zusammenwirken kennengelernt. Sie sind in der Lage, einfache Anforderungen in Form von Modellen des Typs CIM zu modellieren und QVT-R Transformationen zu implementieren, um diese Modelle in PIMs zu überführen. Sie können ein PIM selbständig um Informationen ergänzen, die für die weiterführende Transformation in das PSM benötigt werden und nutzen dazu leichtgewichtige Metamodell-Erweiterungen der UML. Für eine vorgegebene Zielarchitektur sind sie in der Lage, vorhandene QVT-Transformationen so zu erweitern und anzupassen, dass ein PIM in ein PSM überführt werden kann. Sie können die anschließende Codegenerierung aus dem PSM nachvollziehen und wissen, wo im generierten Anwendungsrahmen die fachliche Logik zu programmieren wäre. Den Anwendungsrahmen können sie ausführen und ggf. erweitern, um das Ergebnis der Transformation und Modellierung zu prüfen.

Die folgenden Werkzeuge sind für die Bearbeitung dieses Themenkomplex notwendig:

(Weitere Details folgen.)

Voraussetzungen für die Übungen

Die praktischen Übungen sind wichtiges Element der Veranstaltung. Für die Teilnahme an den Übungen ist ein eigenes Notebook Voraussetzung, dass während der Veranstaltung zur Modellierung und Programmierung benutzt wird. Auf dem Notebook muss der Benutzer Administrator-Berechtigungen haben, um initial Software zu installieren. (Anschließend kann ohne Administrationsrechte gearbeitet werden.)

Die zu installierende Open Source Software wird für Windows in der ersten Veranstaltung auf DVD und USB-Stick bereitgestellt. Wenn Teilnehmer ein anderes Betriebssystem nutzen, sollten sie zuvor per Mail eine Download-Liste erfragen, um die Software für ihr Betriebssystem vor der Veranstaltung selbst herunterzuladen.

Es ist sinnvoll, wenn die Teilnehmer über einen Netzwerkzugang (z.B. WLAN oder UMTS) im Veranstaltungsraum verfügen.

Abschluss und Prüfungsleistungen

Informationen zum Abschluss werden am ersten Termin der Lehrveranstaltung bekannt gegeben.

Literatur

  • [1] H. Krallmann: Systemanalyse im Unternehmen. 2. Aufl., Oldenbourg; 1996
  • [2] Object Management Group (OMG): Model Driven Architecture (MDA), OMG Document Number: ormsc/2001-07-01; 2001; http://www.omg.org/cgi-bin/doc?ormsc/2001-07-01
  • [3] Object Management Group (OMG): OMG Unified Modeling Language (OMG UML), Superstructure Version 2.2, OMG Document Number: formal/2009-02-02; 2009; http://www.omg.org/cgi-bin/doc?formal/2009-02-02
  • [4] Object Management Group (OMG): OMG's MetaObject Facility. http://www.omg.org/mof/
  • [5] Object Management Group (OMG): OMG Unified Modeling Language (OMG UML), Infrastructure Version 2.2, OMG Document Number: formal/2009-02-04; 2009; http://www.omg.org/cgi-bin/doc?formal/2009-02-04
  • [6] P. Kurchten: The Rational Unified Process An Introduction. Addison-Wesley (1998)
  • [7] I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process. Addison-Wesley (1999)
  • [8] T. Stahl, M. Völter: Modellgetriebene Softwareentwicklung ? Techniken, Engineering, Management. dpunkt.verlag (2005)
  • [8] A. Kleppe, J. Warmer, W. Bast: MDA Explained, The Model Driven Architecture: Practice and Promise; Addison-Wesley (2003)
  • [9] Object Management Group (OMG): MDA Guide Version 1.0.1. omg/03-06-01 (2003)
  • [10] Object Management Group (OMG): MOF 2.0 Query / Views / Transformations RFP. ad/2002-04-10 (2002)
  • [11] Object Management Group (OMG): MOF Model to Text Transformation Language RFP. ad/04-04-07 (2004)
  • [12] Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/ Transformation, Version 1.0. (2008)
  • [13] Object Management Group (OMG): MOF Model to Text Transformation Language (MOFM2T), Version 1.0. formal/08-01-16 (2008)
  • [14] S. Nolte: QVT Relations Language. Springer, Xpert.press (2009)
  • [15] S. Nolte: QVT Operational Mappings. Springer, Xpert.press (2010)
  • [16] H. Balzert: Lehrbuch der Softwaretechnik ? Software-Management, Software Qualitätssicherung, Unternehmensmodellierung. Spektrum (1998)
  • [17] Arno Becker / Marcus Pant: Android - Grundlagen und Programmierung. dpunkt.verlag (2009) als PDF-Download.