Programmieren war gestern!

         Gerrit Beine

         12.03.2010
Übersicht

       • Wie bitte? Modellgetrieben?                                       Übersicht
                                                                           Wie bitte?
                                                                           Modellgetrieben?
       • Das GeneSEZ Projekt                                               Das GeneSEZ
                                                                           Projekt

       • GeneSEZ nutzen                                                    GeneSEZ nutzen

                                                                           Finale




Programmieren war gestern!     www.sqqd.de – info@sqqd.de               12.03.2010 – 2 / 19
Übersicht
                                                              Wie bitte?
                                                              Modellgetrieben?
                                                              Programmieralltag
                                                              Lösungen
                                                              Modellgetriebene
                                                              Softwareentwicklung
                                                              Metamodelle
                                                              Generatoren

                    Wie bitte? Modellgetrieben?               Das GeneSEZ
                                                              Projekt

                                                              GeneSEZ nutzen

                                                              Finale




Programmieren war gestern!    www.sqqd.de – info@sqqd.de   12.03.2010 – 3 / 19
Programmieralltag

       • Hektischer Projektstress                                   Übersicht
                                                                    Wie bitte?
                                                                    Modellgetrieben?
       • Suboptimale Programmiersprachen                            Programmieralltag
                                                                    Lösungen
                                                                    Modellgetriebene

       • DRY? Nein, danke...                                        Softwareentwicklung
                                                                    Metamodelle
                                                                    Generatoren

       • Copy’n’Paste Code ensteht                                  Das GeneSEZ
                                                                    Projekt

                                                                    GeneSEZ nutzen
       • Kommunikationsprobleme mit Auftraggebern                   Finale


       • Mangelhafte Dokumentation




Programmieren war gestern!     www.sqqd.de – info@sqqd.de        12.03.2010 – 4 / 19
Lösungen

       • Low-Level-Generatoren (Rails)                                        Übersicht
                                                                              Wie bitte?
                                                                              Modellgetrieben?
       • Modellierungssprachen (UML)                                          Programmieralltag
                                                                              Lösungen
                                                                              Modellgetriebene

       • Dynamische Sprachen (Python, Scala...)                               Softwareentwicklung
                                                                              Metamodelle
                                                                              Generatoren

       • Agile Methoden (XP, Scrum)                                           Das GeneSEZ
                                                                              Projekt

                                                                              GeneSEZ nutzen
       • Krasse Einstellungen                                                 Finale


                   “Der Quellcode ist die Dokumentation”




Programmieren war gestern!         www.sqqd.de – info@sqqd.de              12.03.2010 – 5 / 19
Modellgetriebene Softwareentwicklung

       • Modell:                                                Übersicht

         Vergegenständlichung eines bestimmten Begriffs         Wie bitte?
                                                                Modellgetrieben?
                                                                Programmieralltag
         (Wikipedia)                                            Lösungen
                                                                Modellgetriebene
                                                                Softwareentwicklung
       • Mehrere Modellierungsebenen                            Metamodelle
                                                                Generatoren
                                                                Das GeneSEZ
       • Kommunikationserleichterung                            Projekt

                                                                GeneSEZ nutzen

       • Formal, also computerinterpretierbar!                  Finale



             – Fachliche Modelle
             – Plattformunabhängige Modelle
             – Plattformspezifische Modelle



Programmieren war gestern!      www.sqqd.de – info@sqqd.de   12.03.2010 – 6 / 19
Metamodelle




Programmieren war gestern!   www.sqqd.de – info@sqqd.de             12.03.2010 – 7 / 19
Generatoren

       • AndroMDA                                                          Übersicht
                                                                           Wie bitte?
                                                                           Modellgetrieben?
       • Eclipse Modeling Framework                                        Programmieralltag
                                                                           Lösungen
                                                                           Modellgetriebene

       • openArchitectureWare                                              Softwareentwicklung
                                                                           Metamodelle
                                                                           Generatoren

       • objectIF                                                          Das GeneSEZ
                                                                           Projekt

                                                                           GeneSEZ nutzen
       • Executable UML                                                    Finale




Programmieren war gestern!   www.sqqd.de – info@sqqd.de                 12.03.2010 – 8 / 19
Übersicht
                                                                    Wie bitte?
                                                                    Modellgetrieben?

                                                                    Das GeneSEZ
                                                                    Projekt
                                                                    Ziele
                                                                    Grundlegende
                                                                    Philosophie
                                                                    Vergleich GeneSEZ -

                             Das GeneSEZ Projekt                    UML 2.0
                                                                    Bestandteile
                                                                    Aktuell: Release 1.7

                                                                    GeneSEZ nutzen

                                                                    Finale




Programmieren war gestern!          www.sqqd.de – info@sqqd.de   12.03.2010 – 9 / 19
Ziele

       • Grafisch Modellieren                                            Übersicht
                                                                        Wie bitte?
                                                                        Modellgetrieben?
       • Automatisch vom Abstrakten zum Konkreten                       Das GeneSEZ
                                                                        Projekt
                                                                        Ziele
       • Kluges Generieren statt stupides Coden                         Grundlegende
                                                                        Philosophie
                                                                        Vergleich GeneSEZ -

       • MDSD mit wenig Aufwand in 10 Minuten                           UML 2.0
                                                                        Bestandteile
                                                                        Aktuell: Release 1.7

       • Offene, simple Generator-Plattform                             GeneSEZ nutzen

                                                                        Finale

       • Programmierer als Anwender im Fokus

       • Unterstützung agiler Entwicklung




Programmieren war gestern!     www.sqqd.de – info@sqqd.de           12.03.2010 – 10 / 19
Grundlegende Philosophie

       • Modell immer abstrakter als Code                     Übersicht
                                                              Wie bitte?
                                                              Modellgetrieben?
       • Code durch Modelltransformationen erzeugt            Das GeneSEZ
                                                              Projekt
                                                              Ziele
       • Code nicht zwangsläufig Programmiersprache            Grundlegende
                                                              Philosophie
                                                              Vergleich GeneSEZ -

       • Minimales, stark optimiertes Metamodell              UML 2.0
                                                              Bestandteile
                                                              Aktuell: Release 1.7

       • Umfangreiche API zum Handling des Metamodells        GeneSEZ nutzen

                                                              Finale




Programmieren war gestern!   www.sqqd.de – info@sqqd.de   12.03.2010 – 11 / 19
Vergleich GeneSEZ - UML 2.0




Programmieren war gestern!      www.sqqd.de – info@sqqd.de   12.03.2010 – 12 / 19
Bestandteile

       • Adapter für Modellierungssprachen                                     Übersicht
                                                                               Wie bitte?
                                                                               Modellgetrieben?
       • Modellvalidierungen                                                   Das GeneSEZ
                                                                               Projekt
                                                                               Ziele
       • Transformationen von Modellen                                         Grundlegende
                                                                               Philosophie
                                                                               Vergleich GeneSEZ -

       • Modellmodifikationen                                                   UML 2.0
                                                                               Bestandteile
                                                                               Aktuell: Release 1.7

       • Unterstützung für mehrere Plattformen                                 GeneSEZ nutzen

                                                                               Finale

       • Vorkonfigurierte Workflows

       • Logging und Tracing des Generierungsprozesses




Programmieren war gestern!     www.sqqd.de – info@sqqd.de                  12.03.2010 – 13 / 19
Aktuell: Release 1.7

       • Metamodell erweitert um Zustandsautomaten und               Übersicht

         Aktivitäten                                                 Wie bitte?
                                                                     Modellgetrieben?

                                                                     Das GeneSEZ
       • Neues Metamodell für Testgenerierung                        Projekt
                                                                     Ziele
                                                                     Grundlegende
                                                                     Philosophie
       • Unterstützung für diverse Plattformen                       Vergleich GeneSEZ -
                                                                     UML 2.0
                                                                     Bestandteile
                                                                     Aktuell: Release 1.7
             – Java: CLDC, EJB3, Hibernate, SEAM, JPA, JWS
                                                                     GeneSEZ nutzen
             – .NET: C#                                              Finale


             – PHP: PHP 5, PHP 5.3, PEAR Packages, Doctrine
             – Entwicklung: QF-Test, Selenium, PostgreSQL




Programmieren war gestern!      www.sqqd.de – info@sqqd.de       12.03.2010 – 14 / 19
Übersicht
                                                                  Wie bitte?
                                                                  Modellgetrieben?

                                                                  Das GeneSEZ
                                                                  Projekt

                                                                  GeneSEZ nutzen
                                                                  Handgeschriebener
                                                                  Code

                             GeneSEZ nutzen                       Finale




Programmieren war gestern!       www.sqqd.de – info@sqqd.de   12.03.2010 – 15 / 19
Handgeschriebener Code

       • Bleibt in jedem Fall erhalten!                         Übersicht
                                                                Wie bitte?
                                                                Modellgetrieben?
       • Protected Regions                                      Das GeneSEZ
                                                                Projekt

       • Beliebig in Templates platzierbar                      GeneSEZ nutzen
                                                                Handgeschriebener
                                                                Code

       • Erkennung anhand GUID der Modellelemente               Finale


       • Sogar Umbenennen wird möglich




Programmieren war gestern!     www.sqqd.de – info@sqqd.de   12.03.2010 – 16 / 19
Übersicht
                                                              Wie bitte?
                                                              Modellgetrieben?

                                                              Das GeneSEZ
                                                              Projekt

                                                              GeneSEZ nutzen

                                                              Finale

                             Finale                           GeneSEZ
                                                              ausprobieren!




Programmieren war gestern!   www.sqqd.de – info@sqqd.de   12.03.2010 – 17 / 19
GeneSEZ ausprobieren!

       • Informieren: http://www.genesez.de                    Übersicht
                                                               Wie bitte?
                                                               Modellgetrieben?
       • Herunterladen: http://download.genesez.de/            Das GeneSEZ
                                                               Projekt

       • Handbuch lesen: http://manual.genesez.de/html/        GeneSEZ nutzen

                                                               Finale
                                                               GeneSEZ
       • Kontakt: info@genesez.de                              ausprobieren!


       • ...oder hier auf den Chemnitzer Linux-Tagen




Programmieren war gestern!    www.sqqd.de – info@sqqd.de   12.03.2010 – 18 / 19
Fragen?

                                                                             Übersicht
                                                                             Wie bitte?
                                                                             Modellgetrieben?

                                                                             Das GeneSEZ
                                                                             Projekt

                                                                             GeneSEZ nutzen
                       Danke für die Aufmerksamkeit!                         Finale
                             Viel Spaß noch!                                 GeneSEZ
                                                                             ausprobieren!




Programmieren war gestern!        www.sqqd.de – info@sqqd.de             12.03.2010 – 19 / 19

Programmieren war gestern!

  • 1.
    Programmieren war gestern! Gerrit Beine 12.03.2010
  • 2.
    Übersicht • Wie bitte? Modellgetrieben? Übersicht Wie bitte? Modellgetrieben? • Das GeneSEZ Projekt Das GeneSEZ Projekt • GeneSEZ nutzen GeneSEZ nutzen Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 2 / 19
  • 3.
    Übersicht Wie bitte? Modellgetrieben? Programmieralltag Lösungen Modellgetriebene Softwareentwicklung Metamodelle Generatoren Wie bitte? Modellgetrieben? Das GeneSEZ Projekt GeneSEZ nutzen Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 3 / 19
  • 4.
    Programmieralltag • Hektischer Projektstress Übersicht Wie bitte? Modellgetrieben? • Suboptimale Programmiersprachen Programmieralltag Lösungen Modellgetriebene • DRY? Nein, danke... Softwareentwicklung Metamodelle Generatoren • Copy’n’Paste Code ensteht Das GeneSEZ Projekt GeneSEZ nutzen • Kommunikationsprobleme mit Auftraggebern Finale • Mangelhafte Dokumentation Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 4 / 19
  • 5.
    Lösungen • Low-Level-Generatoren (Rails) Übersicht Wie bitte? Modellgetrieben? • Modellierungssprachen (UML) Programmieralltag Lösungen Modellgetriebene • Dynamische Sprachen (Python, Scala...) Softwareentwicklung Metamodelle Generatoren • Agile Methoden (XP, Scrum) Das GeneSEZ Projekt GeneSEZ nutzen • Krasse Einstellungen Finale “Der Quellcode ist die Dokumentation” Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 5 / 19
  • 6.
    Modellgetriebene Softwareentwicklung • Modell: Übersicht Vergegenständlichung eines bestimmten Begriffs Wie bitte? Modellgetrieben? Programmieralltag (Wikipedia) Lösungen Modellgetriebene Softwareentwicklung • Mehrere Modellierungsebenen Metamodelle Generatoren Das GeneSEZ • Kommunikationserleichterung Projekt GeneSEZ nutzen • Formal, also computerinterpretierbar! Finale – Fachliche Modelle – Plattformunabhängige Modelle – Plattformspezifische Modelle Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 6 / 19
  • 7.
    Metamodelle Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 7 / 19
  • 8.
    Generatoren • AndroMDA Übersicht Wie bitte? Modellgetrieben? • Eclipse Modeling Framework Programmieralltag Lösungen Modellgetriebene • openArchitectureWare Softwareentwicklung Metamodelle Generatoren • objectIF Das GeneSEZ Projekt GeneSEZ nutzen • Executable UML Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 8 / 19
  • 9.
    Übersicht Wie bitte? Modellgetrieben? Das GeneSEZ Projekt Ziele Grundlegende Philosophie Vergleich GeneSEZ - Das GeneSEZ Projekt UML 2.0 Bestandteile Aktuell: Release 1.7 GeneSEZ nutzen Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 9 / 19
  • 10.
    Ziele • Grafisch Modellieren Übersicht Wie bitte? Modellgetrieben? • Automatisch vom Abstrakten zum Konkreten Das GeneSEZ Projekt Ziele • Kluges Generieren statt stupides Coden Grundlegende Philosophie Vergleich GeneSEZ - • MDSD mit wenig Aufwand in 10 Minuten UML 2.0 Bestandteile Aktuell: Release 1.7 • Offene, simple Generator-Plattform GeneSEZ nutzen Finale • Programmierer als Anwender im Fokus • Unterstützung agiler Entwicklung Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 10 / 19
  • 11.
    Grundlegende Philosophie • Modell immer abstrakter als Code Übersicht Wie bitte? Modellgetrieben? • Code durch Modelltransformationen erzeugt Das GeneSEZ Projekt Ziele • Code nicht zwangsläufig Programmiersprache Grundlegende Philosophie Vergleich GeneSEZ - • Minimales, stark optimiertes Metamodell UML 2.0 Bestandteile Aktuell: Release 1.7 • Umfangreiche API zum Handling des Metamodells GeneSEZ nutzen Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 11 / 19
  • 12.
    Vergleich GeneSEZ -UML 2.0 Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 12 / 19
  • 13.
    Bestandteile • Adapter für Modellierungssprachen Übersicht Wie bitte? Modellgetrieben? • Modellvalidierungen Das GeneSEZ Projekt Ziele • Transformationen von Modellen Grundlegende Philosophie Vergleich GeneSEZ - • Modellmodifikationen UML 2.0 Bestandteile Aktuell: Release 1.7 • Unterstützung für mehrere Plattformen GeneSEZ nutzen Finale • Vorkonfigurierte Workflows • Logging und Tracing des Generierungsprozesses Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 13 / 19
  • 14.
    Aktuell: Release 1.7 • Metamodell erweitert um Zustandsautomaten und Übersicht Aktivitäten Wie bitte? Modellgetrieben? Das GeneSEZ • Neues Metamodell für Testgenerierung Projekt Ziele Grundlegende Philosophie • Unterstützung für diverse Plattformen Vergleich GeneSEZ - UML 2.0 Bestandteile Aktuell: Release 1.7 – Java: CLDC, EJB3, Hibernate, SEAM, JPA, JWS GeneSEZ nutzen – .NET: C# Finale – PHP: PHP 5, PHP 5.3, PEAR Packages, Doctrine – Entwicklung: QF-Test, Selenium, PostgreSQL Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 14 / 19
  • 15.
    Übersicht Wie bitte? Modellgetrieben? Das GeneSEZ Projekt GeneSEZ nutzen Handgeschriebener Code GeneSEZ nutzen Finale Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 15 / 19
  • 16.
    Handgeschriebener Code • Bleibt in jedem Fall erhalten! Übersicht Wie bitte? Modellgetrieben? • Protected Regions Das GeneSEZ Projekt • Beliebig in Templates platzierbar GeneSEZ nutzen Handgeschriebener Code • Erkennung anhand GUID der Modellelemente Finale • Sogar Umbenennen wird möglich Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 16 / 19
  • 17.
    Übersicht Wie bitte? Modellgetrieben? Das GeneSEZ Projekt GeneSEZ nutzen Finale Finale GeneSEZ ausprobieren! Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 17 / 19
  • 18.
    GeneSEZ ausprobieren! • Informieren: http://www.genesez.de Übersicht Wie bitte? Modellgetrieben? • Herunterladen: http://download.genesez.de/ Das GeneSEZ Projekt • Handbuch lesen: http://manual.genesez.de/html/ GeneSEZ nutzen Finale GeneSEZ • Kontakt: info@genesez.de ausprobieren! • ...oder hier auf den Chemnitzer Linux-Tagen Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 18 / 19
  • 19.
    Fragen? Übersicht Wie bitte? Modellgetrieben? Das GeneSEZ Projekt GeneSEZ nutzen Danke für die Aufmerksamkeit! Finale Viel Spaß noch! GeneSEZ ausprobieren! Programmieren war gestern! www.sqqd.de – info@sqqd.de 12.03.2010 – 19 / 19