Click here to load reader
Upload
gerrit-beine
View
746
Download
0
Embed Size (px)
DESCRIPTION
Die Vortragsfolien von den Chemnitzer Linux Tagen 2010 zum Thema Modellgetrieben Softwareentwicklung mit GeneSEZ.
Citation preview
Programmieren war gestern!
Gerrit Beine
12.03.2010
www.sqqd.de – [email protected]
Übersicht
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 2 / 19
• Wie bitte? Modellgetrieben?
• Das GeneSEZ Projekt
• GeneSEZ nutzen
www.sqqd.de – [email protected]
Wie bitte? Modellgetrieben?
Übersicht
Wie bitte?Modellgetrieben?ProgrammieralltagLösungenModellgetriebeneSoftwareentwicklungMetamodelleGeneratoren
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 3 / 19
www.sqqd.de – [email protected]
Programmieralltag
Übersicht
Wie bitte?Modellgetrieben?ProgrammieralltagLösungenModellgetriebeneSoftwareentwicklungMetamodelleGeneratoren
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 4 / 19
• Hektischer Projektstress
• Suboptimale Programmiersprachen
• DRY? Nein, danke...
• Copy’n’Paste Code ensteht
• Kommunikationsprobleme mit Auftraggebern
• Mangelhafte Dokumentation
www.sqqd.de – [email protected]
Lösungen
Übersicht
Wie bitte?Modellgetrieben?ProgrammieralltagLösungenModellgetriebeneSoftwareentwicklungMetamodelleGeneratoren
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 5 / 19
• Low-Level-Generatoren (Rails)
• Modellierungssprachen (UML)
• Dynamische Sprachen (Python, Scala...)
• Agile Methoden (XP, Scrum)
• Krasse Einstellungen
“Der Quellcode ist die Dokumentation”
www.sqqd.de – [email protected]
Modellgetriebene Softwareentwicklung
Übersicht
Wie bitte?Modellgetrieben?ProgrammieralltagLösungenModellgetriebeneSoftwareentwicklungMetamodelleGeneratoren
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 6 / 19
• Modell:Vergegenständlichung eines bestimmten Begriffs(Wikipedia)
• Mehrere Modellierungsebenen
• Kommunikationserleichterung
• Formal, also computerinterpretierbar!
– Fachliche Modelle
– Plattformunabhängige Modelle
– Plattformspezifische Modelle
www.sqqd.de – [email protected]
Metamodelle
Programmieren war gestern! 12.03.2010 – 7 / 19
M3: Meta-Metamodell
M2: Metamodell
M1: Modell
M0: Instanzen
MOF, Ecore
UML
Klassendiagramm,Aktivitätsdiagramm
Objekte
MOF, Ecore
Auto(Farbe: rot, Türen: 5)
Klasse(Name: Auto, Variablen:
(Farbe: String, Türen: Integer) )
Element(Attribute: (Name: Klasse, Variable: (String, Typ) ) )
Element(Attribute: Element)
beschreibt
beschreibt
beschreibt
beschreibt
Instanz von
Instanz von
Instanz von
Instanz von
www.sqqd.de – [email protected]
Generatoren
Übersicht
Wie bitte?Modellgetrieben?ProgrammieralltagLösungenModellgetriebeneSoftwareentwicklungMetamodelleGeneratoren
Das GeneSEZProjekt
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 8 / 19
• AndroMDA
• Eclipse Modeling Framework
• openArchitectureWare
• objectIF
• Executable UML
www.sqqd.de – [email protected]
Das GeneSEZ Projekt
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjektZieleGrundlegendePhilosophieVergleich GeneSEZ -UML 2.0BestandteileAktuell: Release 1.7
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 9 / 19
www.sqqd.de – [email protected]
Ziele
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjektZieleGrundlegendePhilosophieVergleich GeneSEZ -UML 2.0BestandteileAktuell: Release 1.7
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 10 / 19
• Grafisch Modellieren
• Automatisch vom Abstrakten zum Konkreten
• Kluges Generieren statt stupides Coden
• MDSD mit wenig Aufwand in 10 Minuten
• Offene, simple Generator-Plattform
• Programmierer als Anwender im Fokus
• Unterstützung agiler Entwicklung
www.sqqd.de – [email protected]
Grundlegende Philosophie
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjektZieleGrundlegendePhilosophieVergleich GeneSEZ -UML 2.0BestandteileAktuell: Release 1.7
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 11 / 19
• Modell immer abstrakter als Code
• Code durch Modelltransformationen erzeugt
• Code nicht zwangsläufig Programmiersprache
• Minimales, stark optimiertes Metamodell
• Umfangreiche API zum Handling des Metamodells
www.sqqd.de – [email protected]
Vergleich GeneSEZ - UML 2.0
Programmieren war gestern! 12.03.2010 – 12 / 19
Metamodell Activities(7 Packages zzgl. 40 Aktionen)
Metamodell Activities(4 Klassen zzgl. 4 benutzte Klasse)
www.sqqd.de – [email protected]
Bestandteile
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjektZieleGrundlegendePhilosophieVergleich GeneSEZ -UML 2.0BestandteileAktuell: Release 1.7
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 13 / 19
• Adapter für Modellierungssprachen
• Modellvalidierungen
• Transformationen von Modellen
• Modellmodifikationen
• Unterstützung für mehrere Plattformen
• Vorkonfigurierte Workflows
• Logging und Tracing des Generierungsprozesses
www.sqqd.de – [email protected]
Aktuell: Release 1.7
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjektZieleGrundlegendePhilosophieVergleich GeneSEZ -UML 2.0BestandteileAktuell: Release 1.7
GeneSEZ nutzen
Finale
Programmieren war gestern! 12.03.2010 – 14 / 19
• Metamodell erweitert um Zustandsautomaten undAktivitäten
• Neues Metamodell für Testgenerierung
• Unterstützung für diverse Plattformen
– Java: CLDC, EJB3, Hibernate, SEAM, JPA, JWS
– .NET: C#
– PHP: PHP 5, PHP 5.3, PEAR Packages, Doctrine
– Entwicklung: QF-Test, Selenium, PostgreSQL
www.sqqd.de – [email protected]
GeneSEZ nutzen
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzenHandgeschriebenerCode
Finale
Programmieren war gestern! 12.03.2010 – 15 / 19
www.sqqd.de – [email protected]
Handgeschriebener Code
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzenHandgeschriebenerCode
Finale
Programmieren war gestern! 12.03.2010 – 16 / 19
• Bleibt in jedem Fall erhalten!
• Protected Regions
• Beliebig in Templates platzierbar
• Erkennung anhand GUID der Modellelemente
• Sogar Umbenennen wird möglich
www.sqqd.de – [email protected]
Finale
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzen
FinaleGeneSEZausprobieren!
Programmieren war gestern! 12.03.2010 – 17 / 19
www.sqqd.de – [email protected]
GeneSEZ ausprobieren!
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzen
FinaleGeneSEZausprobieren!
Programmieren war gestern! 12.03.2010 – 18 / 19
• Informieren: http://www.genesez.de
• Herunterladen: http://download.genesez.de/
• Handbuch lesen: http://manual.genesez.de/html/
• Kontakt: [email protected]
• ...oder hier auf den Chemnitzer Linux-Tagen
www.sqqd.de – [email protected]
Fragen?
Übersicht
Wie bitte?Modellgetrieben?
Das GeneSEZProjekt
GeneSEZ nutzen
FinaleGeneSEZausprobieren!
Programmieren war gestern! 12.03.2010 – 19 / 19
Danke für die Aufmerksamkeit!Viel Spaß noch!